我正在创建一个用于学习目的的小型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 调用成功/失败后处理。