我正在使用 jsp/servlet 来构建基本的 ajax 应用程序。我正在使用 servlet 设置 session ,但返回的是 null。我的代码片段如下:
Servlet:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=null;
String sessionStrSet = null;
if(request.getParameter("session").toString().equals("setSession")){
name = request.getParameter("user");
HttpSession session = request.getSession(true);
session.setAttribute("sessionPw", name);
sessionStrSet = session.getAttribute("sessionPw").toString();
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(sessionStrSet + " " + "data write");
}
if(request.getParameter("session").toString().equals("getSession")){
//how do i retrieve the session data here?
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(sessionStrSet + "get session");
}
}
ajax 工作正常,只是 session 检索似乎是一个问题。一旦在第一个 if() 中设置了数据,我就可以提取数据。但是当我执行另一个发布请求时,它返回为空。我需要另一个 HttpSession 吗?非常感谢任何帮助,我是 PHP 开发人员而不是 JSP,所以它对我来说非常陌生!
最佳答案
你真的需要单独的 if 吗?
getSession(true)
返回当前 session ,如果没有当前 session ,则创建新 session 。
关于java - 获取 JSP servlet session ,返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15504514/