Servlet配置、会话管理——Servlet【总结】

Servlet配置

初始化参数

      Servlet除了可以从请求信息中获取信息外,还可以从配置文件中获取配置参数信息。配置文件中的参数信息与具体的请求无关,而是Servlet初始化时调用的,如此可以避免硬编码信息,提高Servlet的可移植性。配置参数保存在ServletConfig对象中,该对象对任何客户端访问有效,但一个Servlet的ServletConfig对象不能被其它Servlet访问。

URL模式

      在Servlet配置中,除了初始化参数外,还要配置Servlet对应的URL地址信息,又称为URL模式,同一个Servlet可以被映射到多个URL地址上。遵守两种固定格式:*.url 或者 /url/* 。

默认Servlet

      默认Servlet用于处理所有其他Servlet都不处理的访问请求,即当前Web应用上下文找不到匹配的组件的URL,它们的访问请求都交给默认Servlet处理。

会话管理

       在Web服务器看来,一个会话是由在一次浏览过中所发出的全部HTTP请求组成的。换句话说,一次会话是从客户打开浏览器开始到关闭浏览器结束。记录会话信息的技术称为会话跟踪,会话跟踪如何唯一识别每一个客户会话?只能通过为每一个客户分配一个某种标识,并将这些标识保存在客户端上,以后客户端每次发给服务器请求都要提供这些标识来实现。为什么 不能由客户机的IP地址作为标识?因为一台客户机可能同时发出多个不同的客户的请求,而且,如果多个不同客户的请求还可能是通过代理服务器发出的,因此IP地址不能作为唯一标识。

Cookie

       Cookie是一块可以嵌入到HTTP请求和响应中的数据,Web服务器将Cookie值嵌入到响应的Header,浏览器则在以后的请求中将携带同样的Cookie。Cookie信息中有一部分用来存储会话ID,这个ID被服务器用来将某些HTTP请求绑定在会话中。Cookie由浏览器保存在客户端的一个文本文件,还包含其它属性,如可选的注释、版本和最长生存期。

URL重写

       Cookie可能会造成对隐私的侵犯,大部分浏览器允许用户关闭Cookie功能,这使得跟踪会话变得更加困难,因此不得不使用另外一个方法:URL重写。URL重写通过在URL地址后面增加一个包含会话信息的字符串来记录会话信息。URL地址与会话信息的字符串之间用”?“隔开,如果有多个参数,用”&“隔开。

HttpSession

       为消除代码中手工管理会话信息的需要,Servlet规范定义了一个简单的HttpSession接口以方便Servlet进行会话跟踪。这个接口实际上是建立在Cookie和URL重写基础之上,只不过由Web容器自动实现了关于会话跟踪底层机制,不再需要程序员了解具体细节。HttpSession接口允许Servlet查看和管理关于会话的信息,确保信息持续跨越多个用户连接。使用HttpSession接口进行程序开发的具体步骤:

(1)获取HttpSession对象。

(2)对HttpSession对象进行读或写。

(3)手工终止HttpSession,或者什么也不做,让它自动终止。

 

你可能感兴趣的:(JavaWeb)