验证码登陆中session加载晚于jsp解决办法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码登陆中session加载晚于jsp解决办法相关的知识,希望对你有一定的参考价值。
在页面加载的时候jsp页面会先加载,而session并未加载到页面,采用<input type="text" value="${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解决办法的主要内容,如果未能解决你的问题,请参考以下文章
jsp中生成的验证码和存在session里面的验证码不一致的处理