首页 > 代码库 > 验证码登陆中session加载晚于jsp解决办法

验证码登陆中session加载晚于jsp解决办法

  在页面加载的时候jsp页面会先加载,而session并未加载到页面,采用<input type="text" value="http://www.mamicode.com/${code}"/>的方式,显示为null.

实际上,sesion已经加载到作用域中.网上看到一种处理办法是采用js生成验证码,值可以在jsp中直接获取,但这样就失去验证的意义,通过抓包可以直接读到验证码.做不到区分机器和人的作用.

  protected void service(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
      Object attribute = request.getSession().getAttribute("code");
    }

在提交方法中进行验证,跳转到用户名和密码的校验servlet中,通过request.getSession().getAttribute("code");方法拿到session的值.去和页面中input的值进行比较.失败则返回文本 验证码错误 .

验证码登陆中session加载晚于jsp解决办法