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

问题描述 投票:0回答:1

我正在创建一个用于学习目的的小型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 jsp servlets
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.