|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
登录案例
LoginSevlet:
1、接收参数username,password
2、判断登录账号和密码,正确则重定向,
且保存参数到session中,NEW一个Cookie,设置生命时间,保存用户名到Cookie
发回客户端浏览器
3、不正确则 利用response返回错误信息,因为生命周期短 不用session
4、注意:接收VerifyServlet的是request.getSession()中的getAttribute()中的验证码文本以及接收login.jsp验证码参数的文本作
比较
如果不对,则生成错误信息 msg,且转发到login.jsp
记得加return
loginJSP:
1、提供登录表单
2、查找Cookie,给用户名 value
3、空message,判断msg不为空后,赋值给message
4、插入验证码img,src为verifyServlet类
5、换一张 给超链接一个JavaScript方法 重新访问VerifyServlet类生成验证码
并且加上时间参数,让浏览器认为是新请求,这样就会换一张
Succ1JSP:
1、验证是否登录,查询session中是否含有username信息
VerifyServlet:
1、利用VerifyCode类生成照片存到BufferedImage图片缓冲区
2、利用VerifyCode类生成的验证码文本保存到session中
HttpSession原理
Request.getSession()方法:
如果sessionID不存在,创建session,把session保存起来,把新创建的sessionID保存到Cookie中
如果sessionID存在,则通过sessionID查找对象,如果没查到,则创建session,把session保存起来,把新创建的sessionID保存到
Cookie中
如果sessionID存在,通过sessionID找到session对象,则不会再创建session对象
经过以上步骤后,返回session
一个session最大存在时间30min
如果创建了新的session,浏览器会得到一个包含了sessionId的Cookie,这个Cookie的生命为-1,即只在浏览器内存中存在,如果不关闭浏
览器,那么Cookie就一直存在。
> 下次请求时,再次执行request.getSession()方法时,因为可以通过Cookie中的sessionId找到session对象,所以与上一次请求使用的是同一session对象。
• 第一次访问Servlet, 服务器不会马上给你创建session,在第一次获取session时即调用方法request.getSession(),才会创建!
• 第一次访问JSP页面时,服务器会自动创建session
request.getSession(false)、request.getSession(true)、request.getSession(),后两个方法效果相同,
> 第一个方法:如果session缓存中(如果cookie中sessionID不存在),不存在session,那么返回null,而不会创建session对象。
|
评分
-
查看全部评分
|