qq_37307930
qq_37307930
采纳率33.3%
2017-06-06 11:16 阅读 1.8k

JSP上获取session获取不到

JSP页面生成验证码, 并将验证码存入session中
图片说明
输出打印确实存入
在登录引用JSP页面, 可以显示验证码, 但是获取session中的验证码 得出null值
图片说明
求大牛指点一二。

(个人感觉是页面先获取session后 验证码页面才存入的session,求大牛给点解决方案)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • u012225679 Yarcl 2017-06-06 11:52

    你可以在这两处都使用session.getId()方法获取下对应的sessionId,如果两个的sessionId都是一样的话,就表明是同一个session了,
    如果不是,那就说明重新创建了一个session对象了。

    点赞 评论 复制链接分享
  • u012225679 Yarcl 2017-06-06 12:42

    index1.jsp
    图片说明
    login.jsp
    图片说明

    点赞 评论 复制链接分享
  • u012225679 Yarcl 2017-06-06 12:45

    访问的页面:http://localhost:8080/项目名/index1.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ page import="java.util.Random" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



    Insert title here


    <%
    session.setAttribute("code", new Random().nextInt(9999));
    System.out.println(session.getId());
    response.sendRedirect("login.jsp");
    %>

    login.jsp页面为如下:
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" isELIgnored="false"%>
    <%@ page import="java.util.Random" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



    Insert title here function subyou(){ document.write("<%=session.getAttribute("code")%>"); <% System.out.println(session.getId());%> }








    点击登录,可以在页面中打印code的值!如下是执行顺序及结果!
    图片说明
    图片说明
    图片说明

    点赞 评论 复制链接分享

相关推荐