我们可以在JSP中不提交表单的情况下进行会话管理吗?



我正在创建一个用于学习目的的小型Web应用程序。这里我使用Java,Jquery,Ajax。我想向我的项目添加会话。我没有在JSP中使用表单(请求不是通过表单提交(。我在这里更新了我的代码。有人可以给我一个使用 Jquery Ajax 请求向我的应用程序添加会话的解决方案吗?

$("#submit").click(function(){
            var username=document.getElementById("uname").value;
            var password=document.getElementById("psw").value;
            if (username=="" || username == null || password == ""|| password == null){
                alert("Please input values");
                document.getElementById("username").focus();
            } else {
                var method;
                $.ajax({
                    type : 'post',
                    url : 'userservlet',
                    data : {
                        username : username,
                        password : password,
                        method : "login",
                    },
                    success: function (responseText) {
                        if (responseText.success){
                        }
                        else {
                            alert(responseText.error);
                        }
                    }
                });
            }   
        }); 

登录

使用表单提交时的后端

public String loginuser(HttpServletRequest request, HttpServletResponse response, String username, String password) throws IOException {
    HttpSession httpSession = request.getSession();
    UserDAOImpl userdaoimpl = new UserDAOImpl();
    String sts=null;
    try {
         sts = userdaoimpl.loginUser(username,password);
         httpSession.setAttribute("username", username);
         httpSession.setAttribute("password", password);
         //httpSession.setMaxInactiveInterval(60);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return sts;
}

会话存储在服务器上,因此无法使用 Jquery 或 Ajax 等客户端技术来执行此操作。为此,您将需要服务器端编程。(在你的例子中是Java(。请先尝试理解,您正在间接提交表单,选择Ajax(异步(而不是传统的表单操作。会话将在您的 Java 代码中处理。(UserServlet(,通过查看您的代码,我可以理解您正在将用户名和密码传递给您的 servlet,在您的 servlet 中设置会话并从您的 servlet 发送响应,这将在 ajax 调用成功/失败后处理。

相关内容