JAVA Session,Servlet 的学习总结

原创 2015年07月09日 16:39:31

   一、WEB 程序中,当用户第一次访问一个页面时候:

  a、在服务器端 会产生一个Session ,Session里面存放的信息是在这次回话结束前都一直能访问的数据。另外服务器还会为这次会话分配一个唯一标识  SessionID

  b、在客户端 会产生一个cookie并存储了服务器端产生的SessionID,Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器。当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去。这样,web资源处理的就是用户各自的数据了。

       【cookie 的使用:http://blog.csdn.net/microfhu/article/details/7091542

java 数据存入Session :

HttpSession session = request.getSession();
session.setAttribute("obj", JavaObj);

 引用:设置Cookie的最大保存时间,即cookie的有效期,当服务器给浏览器回送一个cookie时,如果在服务器端没有调用setMaxAge方法设置cookie的有效期,那么cookie的有效期只在一次会话过程中有效,

用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一次会话,当用户关闭浏览器,会话就结束了,此时cookie就会失效,如果在服务器端使用setMaxAge方法设置了cookie的有效期,比如设置了30分钟,那么当服务器把cookie发送给浏览器时,此时cookie就会在客户端的硬盘上存储30分钟,在30分钟内,即使浏览器关了,cookie依然存在,在30分钟内,打开浏览器访问服务器时,浏览器都会把cookie一起带上,这样就可以在服务器端获取到客户端浏览器传递过来的cookie里面的信息了,这就是cookie设置maxAge和不设置maxAge的区别,不设置maxAge,那么cookie就只在一次会话中有效,一旦用户关闭了浏览器,那么cookie就没有了,那么浏览器是怎么做到这一点的呢,我们启动一个浏览器,就相当于启动一个应用程序,而服务器回送的cookie首先是存在浏览器的缓存中的,当浏览器关闭时,浏览器的缓存自然就没有了,所以存储在缓存中的cookie自然就被清掉了,而如果设置了cookie的有效期,那么浏览器在关闭时,就会把缓存中的cookie写到硬盘上存储起来,这样cookie就能够一直存在了


【Cookie 的工作过程:http://blog.csdn.net/zyw_anquan/article/details/7642004/

web浏览器输入URL地址像服务器请求响应时,会检查本地cookie如果存在会将其拼装在URL的Header 位置,发送到服务器端。比如登录信息:

由于本地cookies 可能被人为替换掉所以建议:

1、将登陆信息等重要信息存放为SESSION
2、其他信息如果需要保留,可以放在COOKIE中


二、Servlet 学习

1、什么是servlet?

   编写在Server 服务端的程序,可以动态的拓展Server 的能力,并用请求-响应模式提供server 服务。

2、Servlet 服务的过程。

    客户端向服务器端提交请求;

    服务器端将请求数据提交给Servlet;

    Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求;
     服务器将响应返回给客户端

3、Servlet 的生命周期。

    以Tomcat为例;Tomcat容器包含Servlet容器,servlet运行于Servlet 容器中。

   当Tomcat 启动时候 Servlet容器启动时自动装载某些Servlet, 默认情况下,当WEB客户第一次请求访问某个Servlet的时候,WEB容器将创建这个Servlet的实例。

Servlet生命周期分为三个阶段:

  1,初始化阶段  调用init()方法

  2,响应客户请求阶段  调用service()方法

  3,终止阶段  调用destroy()方法


Servlet终止阶段:

  当WEB应用被终止,或Servlet容器终止运行,或Servlet容器重新装载Servlet新实例时,Servlet容器会先调用Servlet的destroy()方法,在destroy()方法中可以释放掉Servlet所占用的资源。








Java后台学习之---cookie和session学习

cookie和session对比 cookie特点: 1) 会话数据存放在浏览器 2) 数据类型只能是String,而且有大小限制 3) 数据存放不安全 session特点: 1)会话数据存放在服...
  • u012920206
  • u012920206
  • 2016年09月12日 23:30
  • 2783

Servlet/JSP学习总结

3月29日 一.Servlet技术 1.      编写一个Servelt,需要实现javax.servlet.Servlet接口。该接口定义了5个方法:init(ServletConfigcon...
  • u014251458
  • u014251458
  • 2015年04月14日 13:27
  • 628

JSP与Servlet学习总结(一)

以前刚学习java三大框架(struts2+hib)的时候
  • zhangjuh
  • zhangjuh
  • 2014年04月07日 20:29
  • 701

JSP/servlet学习总结

1.       描述JSP和Servlet的区别、共同点、各自应用的范围 Jsp是带有java代码的html,而servlet是html编译成的java代码。 上述就是两者的区别。而共同...
  • qq_25333097
  • qq_25333097
  • 2015年05月09日 01:10
  • 809

关于Java Servlet Session的一些不可不知的知识

session创建时间和保存位置;session如何在一个会话中的多次请求保持不变,即如何识别是一次会话的多个请求;session在分布式环境中如何保持和共享;session分布式环境中使用遇到的问题...
  • BuquTianya
  • BuquTianya
  • 2016年07月02日 19:27
  • 1981

自学jsp+servlet+ajax的一些知识的总结

1、Servlet+JSP+EL 表达式语言; 服务端 返回list  客服端 接收list request.setAttribute("lists", list); ${requestSco...
  • qq_18808965
  • qq_18808965
  • 2017年01月14日 21:58
  • 577

JAVA 学习 自我总结

学习总结: 孔子曰学而时习之 不亦悦乎 。学习了新的东西,一定要及时练习和总结,并多次回想记忆,这样才能将知识记忆的牢固; 之前我学习东西只知道贪多,想一口吃一个胖子;但是每次都是事倍功半,这样又...
  • u010582345
  • u010582345
  • 2016年04月08日 23:58
  • 425

servlet监听对session监听器

关键字: servlet监听器使用 Servlet监听器对Session监听的方法如下: 1.HttpSessionListener public void sessionCreated(HttpSe...
  • kangojian
  • kangojian
  • 2011年01月06日 15:50
  • 3114

Servlet的重点知识总结

servlet:       1. servlet是什么?              就是运行在服务器端的java小程序。                 1) 客户端发送请求至服务器端;...
  • haiyang0735
  • haiyang0735
  • 2015年12月02日 10:59
  • 1954

Servlet学习小结(上)

Servlet简介**servlet是sun公司提供的一门用于开发动态web资源的技术 **servlet技术是基于 请求-响应 编程模型 **Sun公司在其API中提供了一个servlet接口,...
  • AaronWang0920
  • AaronWang0920
  • 2015年12月02日 23:17
  • 484
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA Session,Servlet 的学习总结
举报原因:
原因补充:

(最多只允许输入30个字)