验证码必须放在session中的原因

1.放入request域中 用户在首先登录浏览器获取资源,这时浏览器会向服务器发送一次请求***request1***,服务器的响应浏览器,浏览器页面加载完成,在这个过程中,验证码已经加载完毕,那验证码既然已经加载完毕,验证码也必然向某个servlet发送了请求***request2***才会加载完毕,这中间发生了两次请求,这两次请求并不是同一次,而request域的作用范围只在一次请求中,所以验证码信息不能放在request中。如果你觉得验证码的信息可以放入 request2 中,那么谁来调用这个request2中的信息呢?及时request2中有验证码的信息我们还是无法得到。
2.放入session中 【验证码必须放在session中的原因】放在session中,session的作用域在一次会话中,用户开一个浏览器访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,或者服务器关闭,这整个过程我们称作一次会话。那及时在不同的请求中,我们都可以得到验证码的信息。得到验证码的信息我们就可以判断用户输入的是否正确

    推荐阅读