Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 来自前端的信息永远不会到达后端(jsp)_Java_Jsp_Client Server_Frontend - Fatal编程技术网

Java 来自前端的信息永远不会到达后端(jsp)

Java 来自前端的信息永远不会到达后端(jsp),java,jsp,client-server,frontend,Java,Jsp,Client Server,Frontend,登录管理员页面后,我尝试使用saveOrUpdate或delete,但id未发送到后端。Delete和saveOrUpdate位于UserController中,LogIn位于logincontroller中,我认为这是会话的问题,但我在客户机服务器应用程序中非常擅长。我使用System.out.println来帮助我查看后端发生了什么,但是从一开始,当我期望id时,我接收到null。 我在另一个没有登录的项目中使用了这个jsp,它还可以 <%@ page language="java"

登录管理员页面后,我尝试使用saveOrUpdate或delete,但id未发送到后端。Delete和saveOrUpdate位于UserController中,LogIn位于logincontroller中,我认为这是会话的问题,但我在客户机服务器应用程序中非常擅长。我使用System.out.println来帮助我查看后端发生了什么,但是从一开始,当我期望id时,我接收到null。 我在另一个没有登录的项目中使用了这个jsp,它还可以

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"> 
</script>
</head>
<body onload="load();">

<% if (session.getAttribute("loggedInUserA").equals(1) ) { %>



     <input type="hidden" id="userId">
    Name:     <input type="text" id="name" required="required" name="name"><br>
    Password: <input type="text" id="password" required="required" name="password"><br>
    Acces:    <input type="text" id="acces" required="required" name="acces"><br>
    <button onclick="submit();">Submit</button>



    <table id="table" border=1>
        <tr> <th> Name </th> <th> Password </th> <th> Acces </th> <th> Edit </th> <th> Delete </th> </tr>

    </table>


<script type="text/javascript">
data = "";
submit = function(){

        $.ajax({
            url:'saveOrUpdate',
            type:'POST',
            data:{userId:$("#userId").val(),name:$('#name').val(),password:$('#password').val(),acces:$('#acces').val()},
            success: function(response){
                    alert(response.message);
                    load();    
            }              
        });        
}

delete_ = function(id){  
    console.log('id', id);

     $.ajax({
        url:'delete',
        type:'POST',
        data:{userId:id},
        success: function(response){
                alert(response.message);
                load();
        }              
    });



edit = function (index){
    $("#userId").val(data[index].userId);
    $("#name").val(data[index].name);
    $("#password").val(data[index].password);
    $("#acces").val(data[index].acces);

}


load = function(){ 
    $.ajax({
        url:'list',
        type:'POST',
        success: function(response){
                data = response.data;
                $('.tr').remove();
                for(i=0; i<response.data.length; i++){   
                    console.log(response.data[i].userId);
                    $("#table").append("<tr class='tr'> <td> "+response.data[i].name+" </td> <td> "+response.data[i].password+" </td> <td> "+response.data[i].acces+" </td>  <td> <a href='#' onclick= edit("+i+");> Edit </a>  </td> </td> <td> <a href='#' onclick='delete_("+response.data[i].userId+");'> Delete </a>  </td> </tr>");
                }          
        }              
    });

}

</script>


  <h2>
    <a href="/SpringMVC/">Back!!!</a>
</h2>

<% } else {
String redirectURL = "http://youtube.com";
response.sendRedirect(redirectURL);  } %>
用户服务实现

@Service
public class UserServicesImpl implements UserServices {

    @Autowired
    UserDao userDao;
    @Override
    public List<User> list() {
        // TODO Auto-generated method stub
        return userDao.list();
    }

    @Override
    public boolean delete(User user) {
        // TODO Auto-generated method stub
        System.out.println("UserServices "+user.getUserId()+"  "+user.getName() +"  "+user.getPassword() + "  "+user.getAcces());
        return userDao.delete(user);
    }

    @Override
    public boolean saveOrUpdate(User user) {
        // TODO Auto-generated method stub
        System.out.println("UserServices "+user.getUserId()+"  "+user.getName() +"  "+user.getPassword() + "  "+user.getAcces());
        return userDao.saveOrUpdate(user);
    }

    public User loginUser(String name, String password) {
        User user=userDao.findUser(name);
        if (user != null && user.getPassword().equals(password)) {
            System.out.println("User Login"+user.getUserId()+"  "+user.getName());
            return user;
        }
        return null;
    }

}
@Repository
@Transactional
public class UserDaoImpl implements UserDao {


    @Autowired
    SessionFactory session;

    @SuppressWarnings("unchecked")
    @Override
    public List<User> list() {
        // TODO Auto-generated method stub
        return session.getCurrentSession().createQuery("from User").list();
    }

    @Override
    public boolean delete(User user) {
        // TODO Auto-generated method stub
        try {
            System.out.println("UserDaoImpl"+user.getUserId());
            session.getCurrentSession().delete(user);
        }catch(Exception ex) {
        return false;
        }

        return true;
    }

    @Override
    public boolean saveOrUpdate(User user) {
        // TODO Auto-generated method stub
        session.getCurrentSession().saveOrUpdate(user);
        return true;
    }

    @Override
    public User findUser(String name) {
        Criteria criteria = session.getCurrentSession().createCriteria(User.class);
        User user=(User) criteria.add(Restrictions.eq("name", name)).uniqueResult();
        return user;
    }

}
@服务
公共类UserServicesImpl实现UserServices{
@自动连线
UserDao UserDao;
@凌驾
公开名单(){
//TODO自动生成的方法存根
返回userDao.list();
}
@凌驾
公共布尔删除(用户){
//TODO自动生成的方法存根
System.out.println(“UserServices”+user.getUserId()+“”+user.getName()+“”+user.getPassword()+“”+user.getAcces());
返回userDao.delete(用户);
}
@凌驾
公共布尔存储或更新(用户){
//TODO自动生成的方法存根
System.out.println(“UserServices”+user.getUserId()+“”+user.getName()+“”+user.getPassword()+“”+user.getAcces());
返回userDao.saveOrUpdate(用户);
}
公共用户登录用户(字符串名称、字符串密码){
User=userDao.findUser(名称);
if(user!=null&&user.getPassword().equals(password)){
System.out.println(“用户登录”+User.getUserId()+“”+User.getName());
返回用户;
}
返回null;
}
}
userdao实现

@Service
public class UserServicesImpl implements UserServices {

    @Autowired
    UserDao userDao;
    @Override
    public List<User> list() {
        // TODO Auto-generated method stub
        return userDao.list();
    }

    @Override
    public boolean delete(User user) {
        // TODO Auto-generated method stub
        System.out.println("UserServices "+user.getUserId()+"  "+user.getName() +"  "+user.getPassword() + "  "+user.getAcces());
        return userDao.delete(user);
    }

    @Override
    public boolean saveOrUpdate(User user) {
        // TODO Auto-generated method stub
        System.out.println("UserServices "+user.getUserId()+"  "+user.getName() +"  "+user.getPassword() + "  "+user.getAcces());
        return userDao.saveOrUpdate(user);
    }

    public User loginUser(String name, String password) {
        User user=userDao.findUser(name);
        if (user != null && user.getPassword().equals(password)) {
            System.out.println("User Login"+user.getUserId()+"  "+user.getName());
            return user;
        }
        return null;
    }

}
@Repository
@Transactional
public class UserDaoImpl implements UserDao {


    @Autowired
    SessionFactory session;

    @SuppressWarnings("unchecked")
    @Override
    public List<User> list() {
        // TODO Auto-generated method stub
        return session.getCurrentSession().createQuery("from User").list();
    }

    @Override
    public boolean delete(User user) {
        // TODO Auto-generated method stub
        try {
            System.out.println("UserDaoImpl"+user.getUserId());
            session.getCurrentSession().delete(user);
        }catch(Exception ex) {
        return false;
        }

        return true;
    }

    @Override
    public boolean saveOrUpdate(User user) {
        // TODO Auto-generated method stub
        session.getCurrentSession().saveOrUpdate(user);
        return true;
    }

    @Override
    public User findUser(String name) {
        Criteria criteria = session.getCurrentSession().createCriteria(User.class);
        User user=(User) criteria.add(Restrictions.eq("name", name)).uniqueResult();
        return user;
    }

}
@存储库
@交易的
公共类UserDaoImpl实现UserDao{
@自动连线
会议工厂会议;
@抑制警告(“未选中”)
@凌驾
公开名单(){
//TODO自动生成的方法存根
return session.getCurrentSession().createQuery(“来自用户”).list();
}
@凌驾
公共布尔删除(用户){
//TODO自动生成的方法存根
试一试{
System.out.println(“UserDaoImpl”+user.getUserId());
session.getCurrentSession().delete(用户);
}捕获(例外情况除外){
返回false;
}
返回true;
}
@凌驾
公共布尔存储或更新(用户){
//TODO自动生成的方法存根
session.getCurrentSession().saveOrUpdate(用户);
返回true;
}
@凌驾
公共用户findUser(字符串名称){
条件=session.getCurrentSession().createCriteria(User.class);
User=(User)criteria.add(Restrictions.eq(“name”,name)).uniqueResult();
返回用户;
}
}

提交Ajax时,请检查id值是否符合预期:

submit = function(){
   console.log($("#userId").val())
}

id值是我所期望的,您可以在浏览器的“网络”选项卡中查看请求的发送方式。如果参数存在,则表示它们没有正确映射到用户类。尝试用简单字段替换用户。