day08笔记.docVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档