Servlet与Session小节

1.servlet的作用:servlet是用户与服务器中间的桥梁,用于处理和转发用户的请求,并且将处理后的结果回发的客户端,是一种服务器端的java应用程序。
2.servlet的生命周期:Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
3.servlet请求的三种转发方式:include,forward,sendRidirect.
  区别:sendRidirect是指客户端重新发起一次请求,请求地址指向其参数url。一般叫做重定向,客户端的地址栏将改变为url值,是由客户端发起的第二次请求。(这个比较好理解)。include是表将url中的内容包含到当前的servlet输入当中,在服务器端完成,一般叫做包含。forward是将当前的request和response交给指定的url处理,一般叫做转发请求,在服务器端完成,客户端地址看到的路径还是当前servlet的路径。如我在loginServlet中有这样的代码:
PrintWriter pw = response.getWriter();
   pw.write("测试比较" );

当我们使用include的时候,转发时就会将输出的内容一并转发到跳转的页面,浏览器上就会显示:测试比较;而使用forward的时候就只会跳转而不会执行输出的语句;
4.session其实就是记录的一次会话。

5.session与cookie的区别

两个都可以用来存私密的东西,同样也都有有效期的说法。
区别在于。
session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。
cookie数据存放在客户的浏览器上,
session数据放在服务器上
cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE
单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

 

 

你可能感兴趣的:(servlet)