使用JavaEE 5构建web项目解读
一个web应用是由web组件,静态资源文件(如图片)和有关的class类、第三方类库组成的。web容器给web组件提供服务,使他们更容易开发。但是,因为web应用必须考虑以上列出的因素,创建和运行web应用不同于传统单独的基于Java类的应用。
创建,部署,运行一个web应用的过程可以用以下几步来总结:
?
?
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"></web-app>?
?
2 部署描述符文件内的元素iconicon要素指定了web应用下的一个路径,这个路径对应一个小图像或者大图像,GUI工具可以感知到这个路径并使用这个图像表示web应用。(servlet要素也有个子要素叫icon要素,GUI工具可以用来表示一个servlet)。要素必填描述<small-icon>可选16*16像素的gif或者jpg图像的位置<large-icon>可选32*32像素的gif或者jpg图像的位置?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
要素是否可选描述<servlet-name>必填?<url-pattern>必填??
?
?
?
?
?
session-config如果一个session在一段时间内没有调用,服务器就把它丢弃了以节约内存,可以利用HttpSession的setMaxInactiveInterval方法直接设置个别session的超时值。如果不采用这种方法,则缺省的超时值由具体的服务器决定。可利用session-config给出一个明确的超时时间。单位为分钟。
?
要素是否可选描述<session-timeout>可选??
?
?
?
mine-mapping?
要素是否可选描述<extension>必填?<mime-type>必填??
?
?
?
?
?
welcome-file-list假如用户提供了一个http://host/webAppPrefix/directoryName/这样的包含一个目录名但没有包含文件名的URL,会发生什么事情呢?用户得到一个目录表?一个错误?还是标准问及爱你的内容?如果得到标准文件的内容是index.html,index.jsp,default.html,default.htm还是别的什么东西呢?<welcome-file>指出,如果一个URL给出一个目录名但未给出明建明,服务器应该首先试用<welcome-file>中定义的文件,如果没有找到,则结果依赖于应该服务器(如一个目录列表,tomcat需要在配置中打开这个选项)
?
要素是否可选描述<welcome-file>可选??
?
?
?
error-page?
要素是否可选描述<error-code>可选指出在给定的http错误代码出现时使用的URL,URL必须以/开始<exception-type>可选指出在出现某个给定的Java异常但未捕捉到时使用的URL,URL必须以/开始<location>必填指出具体页面?
?
?
?
?
?
?
taglib?
要素是否可选描述<taglib-location>必填?<taglib-uri>必填??
?
?
?
?
?
resource-env-ref?
要素是否可选描述<description>可选?<resource-env-ref-name>必填?<resource-env-ref-type>必填??
?
?
?
?
?
?
resource-ref?
要素是否必填描述<description>可选?<res-ref-name>必填?<res-type>必填?<res-auth>必填?<res-sharing-scope>可选??
?
?
?
?
?
?
?
?
?
security-constraint?
要素是否必填描述<web-resource-collection>必填?<auth-constraint>可选?<user-data-constraint>可选??
?
?
?
?
?
?
login-config?
要素是否必填描述<auth-method>可选?<realm-name>可选?<form-login-config>可选??
?
?
?
?
?
?
security-role?
要素是否必填描述<description>可选?<role-name>必填??
?
?
?
?
?
env-entry?
要素是否必填描述<description>可选?<env-entry-name>必填?<env-entry-value>必填?<env-entry-type>必填??
?
?
?
?
?
?
?
?
ejb-refejb相关,不介绍
ejb-local-refejb相关,不介绍
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?