day08笔记.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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)

skewguj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档