- 10
- 0
- 约 25页
- 2017-01-06 发布于贵州
- 举报
day08笔记day08笔记
课堂笔记
1、Seesion技术
2、JSP技术入门和常用指令
3、JSP的内置对象标签介绍
4、EL表达式EL的内置对象
1、Session原理和案例
1.1、Session原理分析
会话过程:
从用户打开浏览器开始访问服务器,直到用户不再使用浏览器和当前的网站做任何的交互(用户关闭浏览器)这个过程称为一次完整的会话。
在会话的过程中,用户的各种操作,都会有数据产生。就需要保存用户的数据。
保存数据可以使用Cookie完成,但是Cookie是把用户的操作的少量数据保存在浏览器中。
如果用户操作的数据量比较大,或者说有些敏感的数据,不能给Cookie中保存。sun公司就提供另外一个对象Session对象,它可以在服务器端保存用户的数据。
1.1.1、获取Session对象
Session对象是在服务器端的一个容器,主要用来保存用户的数据。
通过HttpServletRequest对象中的方法获取:
学习Servlet过程中,我们学习的大部分都是接口。而这些接口的实现类由具体的web服务器来实现。在我们书写的Servlet程序中,我们需要通过对应的方法来获取到web服务器实现了接口的真实类的对象。然后操作这些对象。
思考:HttpServletRequest、HttpSession、ServletContext三种容器都可以保存数据,区别是什么?
1.1.2、Session的获取细节
在HttpServletRequest对象中获取Session对象的方法重载了。
getSession()方法,它的确可以在Servlet程序中获取Session对象。在获取的过程中,如果服务器当前没有和浏览器对应的那个Session对象,这时web服务器会针对当前这个浏览器创建一个唯一的Session对象。如果已经存在了Session对象,那么在使用getSession()方法的时候,仅仅只会获取到已经存在的那个Session对象,而不会创建Session对象。
getSession(boolean create):使用这个方法也可以获取Session对象。如果传递的boolean为true,那么它的用法和getSession()没有区别。
如果传递的boolena是false,它的功能仅仅是获取Session,如果没有Session对象,返回null,而不会去创建Session。
1.1.3、Session的细节
服务器是如何区别每个不同浏览器的不同Session的?
服务器区别每个浏览器的不同的Session对象,需要依靠jsessionid这个标识。在用户的每次请求中,都会携带服务器给用户创建的jsessionid这个Cookie数据到服务器,然后服务器才能获取到Session对象。
为什么浏览器关闭之后,再次打开,无法获取以前给Session中保存的数据?
服务器给浏览器创建了一个唯一的Session容器在服务端保存用户的数据。需要给客户端回送Cookie,在Cookie中保存着当前和浏览器唯一相关的Session容器的唯一标识jsessionid。而服务器给客户端回送的Cookie信息是会话级别的Cookie,当浏览器关闭之后,Cookie数据丢失。再次打开浏览器,服务器端的上次针对浏览器的Sesssion还存在。只是没有jsessionid,因此无法获取到Session对象。
1.2、思考:关闭浏览器后再次访问能获取到Session吗?
一般是不可以的。因为服务器给浏览器写的保存jsessionid的Cookie是一个会话级别的Cookie,关闭浏览器,Cookie丢失。
如果在关闭浏览器之后,再次访问服务器需要获取到以前的Session对象,需要把Cookie持久化,其实就是把jsessionid保存在浏览器的缓存中,下次访问就可以携带jsessionid的Cookie到服务器。
要保证浏览器关闭之后,再次访问还可以获取到以前的Sesion对象,需要把Cookie变成持久的Cookie对象。
1.3、Session案例(登录用户名显示)
对于一个网站,当用户登录成功之后,那么在访问访问的任何页面的时候,都会显示当前登录的用户名信息。
案例:登录成功用户名显示
提供登录的JSP页面
需要Servlet程序处理用户的用户名和密码是否正确
登录成功之后,跳到欢迎的主页面(JSP)
/**
* 处理用户登录的Servlet
* @author 上海传智播客
* @2015年2月2日 下午2:17:35
*/
public class LoginServlet extends HttpServlet {
public void doGet(HttpSe
您可能关注的文档
最近下载
- 使用Microsoft Visual C++实现对TwinCAT3 PLC状态的读取和控制.docx VIP
- 五年级语文寒假阅读理解专题训练(每个专题5篇共25篇含答案).docx VIP
- 领导班子2025年度民主生活会对照检查发言材料(5个带头).docx VIP
- 缉查布控.ppt VIP
- 交警缉查布控系统培训课件.pptx VIP
- 陕西省金太阳2026届高三上学期1月期末联考生物试卷(含答案详解).pdf
- 鸿蒙智能体框架白皮书.docx VIP
- 城市轨道环控系统与灾害防护系统.ppt VIP
- 信息流中级认证终极难题130.docx VIP
- 中国成人患者肠内肠外营养临床应用指南(2025版).docx
原创力文档

文档评论(0)