一个很详细的web.xml配置文件详解

438人浏览 / 0人评论
Sample Application This is a sample application
<!--过滤器名,可以随便取,当web应用中有多个过滤器时不允许重名.-->
SampleFilter
<!--具体的过滤器的类的完整的包名+类名。注意:不能写错了。否则容器不能正确的实例化过滤器-->
mypack.SampleFilter

<!-- 参数名 -->
initParam1
<!-- 参数值 -->
2


<!-- Define the SampleFilter Mapping -->

<!--过滤器名,注意要和上面的<filter-name>里的名字一样。-->
SampleFilter
<!-- 指定过滤器负责过滤的URL。这里指定了*.jsp表示在访问任何一个jsp页面时都会先使用mypack.SampleFilter过滤器进行过滤。如果写成login.jsp.则只有在访问login.jsp时才会调用该过滤器进行过滤。-->
*.jsp


<!-- Servlet名字,可以随便取,有多个Servlet时不允许重名-->
SampleServlet
<!--指定实现这个Servlet的类。完整的包名+类名-->
mypack.SampleServlet
<!--定义Servlet的初始化参数(包括参数名和参数值)一个<servlet>元素里可以有多个<init-param>元素。在Servlet类中通过ServletConfig类的来访问这些参数。
-->

<!-- 参数名 -->
initParam1
<!-- 参数值 -->
2

<!--指定当前Web应用启动时装载Servlet的次序。当这个数>=0时,容器会按数值从小到大依次加载。如果数值<0或没有指定,容器将载Web客户首次访问这个Servlet时加载。-->
1

<!-- Define the SampleServlet Mapping -->

<!--必须和<servlet>里的<servlet-name>内容一样-->
SampleServlet
<!--指定访问这个Servlet的URL。这里给出的是对于整个Web应用的相对URL路径。-->
/sample


<!-- 设 定HttpSession的生命周期。这里以分钟计算。下面的设定指明Session在最长不活动时间为10分钟。过了这个时间,Servlet容器 将它 作为无效处理。注意这里和程序里指定的计数单位不同,程序里是以秒为单位。<session-config>只 有<session- timeout>这个元素-->
10

<!-- 在 用 户访问Web应用时,如果仅给出Web应用的根访问URL,没有指定具体的文件名,容器会调用<weblcome- file- list> 元素里指定的文件清单。<welcome-file-list>里允许有多个<welcome- file>元 素,每个元素代表一个文件。容器会先找第一文文件件是否存在,如果存在这把这个文件返回个客户,不再进行其他文件的查找。如果不存在 则找第二个文件,依次 类推。如果所有文件都不存在,则跑出404错误-->

login.jsp
index.htm

<!-- 设置Web应用引用的自定义标签库。下面的代码定义了一个/mytaglib标签库,它对应的TLD文件为/WEB-INF/mytaglib.tld -->

/mytaglib
/WEB-INF/mytaglib.tld

<!-- 如果Web应用访问了由Servlet容器管理的某个JNDI Resource必须在这里声明对JNDI Resource的引用 -->

<!-- 对应用资源的说明 -->
DB Connection
<!-- 指定所引用资源的JNDI名字 -->
jdbc/sampleDb
<!-- 指定所引用资源的类名字 -->
javax.sql.DataSource
<!-- 指定管理所引用资源的Manager, 它有两个可选值:Container和Application.Container表示由容器来创建和管理Resource,Application表示由Web应用来管理和创建Resource -->
Container



<!-- 这个名字是必须的,由工具使用,别的地方不使用 -->
my application
<!-- 指定要受约束的资源,至少有一个。可以有多个. -->
/*<!-- 描 述 了度可与URL模式指定的资源哪些方法是受约束的,如果没有<http-method>元素,表示任何角色的人都无法访问任何http的 方 法  。这里放置了GET方法,表示只有GET方法是受约束的。其他任何角色的人可以访问POST和其他的方法。但不能访问GET方法。-->
GET

<!-- 如果没有<auth-constraint>表示所有角色都能访问GET方法,如果是<auth-constraint/>表示任何角色都不能访问GET方法 -->

<!-- 可选的。表示哪些角色能够在指定的资源上调用受约束的方法。这里表示只有拥有Admin和Member角色的人能够访问GET方法
<security-role>>里的<role-name>值一样 -->
Admin
Member


<!-- 将指定的角色映射到web.xml里 -->

The role that is required to log into the my Application

<!-- 以下的角色和tomcat-users.xml里的<tomcat-users>里的<role rolename=""/>里的rolename属性值对应 -->
Guest

<!-- 如果要想进行认证,必须有<login-config>-->

<!-- ....... -->