我正在创建一个用于学习目的的小型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等客户端技术来实现。为此,您将需要服务器端编程。请先尝试了解一下,您是间接提交表单,这样做的选择是您选择了Ajax(异步),而不是传统的表单操作。会话将用您的Java代码处理。 (UserServlet),通过查看您的代码,我可以了解到您正在向Servlet传递用户名和密码,在Servlet中设置会话,并从Servlet发送响应,这将在ajax调用成功/失败之后进行处理。