标题: Servlet API 2.2 的新特征(1) [打印本页] 作者: look_w 时间: 2018-7-10 21:49 标题: Servlet API 2.2 的新特征(1)
在介绍 Servet 2.2 规范之前,我们首先应该了解一个重要概念 ― Web 应用程序( Web Application)。 Web 应用程序是包含了Servlets,HTML页面,或者其它资源的集合。 Web 应用程序有自己的URL根路径,它标识了调用 Web 应用程序下的资源的URL前缀。每个 Web 应用程序都有一个唯一的ServletContext对象,ServletContext对象可以看作是一个 Web 应用程序的程序级别的对象影射,我们可以利用它来存取基于 Web 应用程序级别的数据。 Web 应用程序所包含比较详细的元素是:
Servlets
Java Server Page
Java Classes
静态内容(HTML页面、图象文件、声音文件等)
客户端的 Java 代码,如 Applets,Beans 等
组织以上这些元素的发布描述文件
Web 应用程序还有自己的目录结构,出错处理机制,初始化的参数等。Servet 2.2 规范所提出的 Web Application Archive(WAR)的概念可以帮助我们把 Web 应用程序所有的元素集成在一起,在下面的章节我们对它有详细的描述。我们可以从 Web 应用程序的发布描述文件定义来了解 Web 应用程序配置参数:
Servlet API V2.2 中增加的一些新 API Servlet 2.2 的规范主要体现在 Servlet API V2.2 中增加的一些新API,Servlet API V2.2中所增加的新特征很少是为了替代原有的相同的功能。在规范中标记为“deprecated”方法你应该把他们移植到新的方法上,下面是一些主要的增加的API的简单说明:
在 HTTP 请求中增加的对于路径的处理新方法 HttpServletRequest 增加了新方法getRequestHeaders(),程序可以使用它通过指定名字来来获得在HTTP请求中所包含的对应名字的头信息列表。例如对于“Cache-Control”来说,它就有多个头信息。HttpServletRequest 增加了新方法getContextPath(),程序可以使用它来获得包含此Servlet的 Web 应用程序的 Web 路径。例如,一个 Web 应用程序的 Web 路径可能配置为/webapp/itso,在此 Web 应用程序中的某一个Servlet的 Web 路径配置为/webapp/itso/request/resign,程序可以利用HttpServletRequest 所提供的API来抽取关于路径的不同部分,如下表所示:
方法结果getRequestURI()/webapp/itso/request/resignGetServletPath()/request/resigngetContextPath/webapp/itso
Web Application Archive (WAR) 的概念 Servlet API V2.2 规范引入了一个新的概念帮助用户来发布用户的应用程序― Web Application Archive (WAR)。 一个WAR文件包含了一个 Web 应用程序中所含有的元素(Servlet代码, HTML和JSP页面等) 和应用程序描述文件来指定如何建立 Web 应用程序中所含有的元素,我们可以将一个WAR文件的内容分为三类: