鱼C论坛

 找回密码
 立即注册
查看: 2700|回复: 0

[学习笔记] JSP&Servlet14

[复制链接]
发表于 2017-8-5 23:37:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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对象。

评分

参与人数 1鱼币 +2 收起 理由
小甲鱼 + 2

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 13:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表