博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web.xml(简介介绍)
阅读量:4290 次
发布时间:2019-05-27

本文共 4814 字,大约阅读时间需要 16 分钟。

<?
xml version="1.0" encoding="UTF-8"
?>
 
<!
DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd"
>
 
<
web-app
>
 
<
display-name
>
Sample Application
</
display-name
>
 
<
description
>
This is a sample application
</
description
>
 
<
filter
>
 
<!–
过滤器名,可以随便取,当web应用中有多个过滤器时不允许重名.
–>
 
<
filter-name
>
SampleFilter
</
filter-name
>
 
<!–
具体的过滤器的类的完整的包名+类名。注意:不能写错了。否则容器不能正确的实例化过滤器
–>
 
<
filter-class
>
mypack.SampleFilter
</
filter-class
>
 
<
init-param
>
 
<!–
 参数名 
–>
 
<
param-name
>
initParam1
</
param-name
>
 
<!–
 参数值 
–>
 
<
param-value
>
2
</
param-value
>
 
</
init-param
>
 
</
filter
>
 
<!–
 Define the SampleFilter Mapping 
–>
 
<
filter-mapping
>
 
<!–
过滤器名,注意要和上面的<filter-name>里的名字一样。
–>
 
<
filter-name
>
SampleFilter
</
filter-name
>
 
<!–
 指定过滤器负责过滤的URL。这里指定了*.jsp表示在访问任何一个jsp页面时都会先使用mypack.SampleFilter过滤器进行过滤。如果写成login.jsp.则只有在访问login.jsp时才会调用该过滤器进行过滤。
–>
 
<
url-pattern
>
*.jsp
</
url-pattern
>
 
</
filter-mapping
>
 
<
servlet
>
 
<!–
 Servlet名字,可以随便取,有多个Servlet时不允许重名
–>
 
<
servlet-name
>
SampleServlet
</
servlet-name
>
 
<!–
指定实现这个Servlet的类。完整的包名+类名
–>
 
<
servlet-class
>
mypack.SampleServlet
</
servlet-class
>
 
<!–
定义Servlet的初始化参数(包括参数名和参数值)一个<servlet>元素里可以有多个<init-param>元素。在Servlet类中通过ServletConfig类的来访问这些参数。 
–>
 
<
init-param
>
 
<!–
 参数名 
–>
 
<
param-name
>
initParam1
</
param-name
>
 
<!–
 参数值 
–>
 
<
param-value
>
2
</
param-value
>
 
</
init-param
>
 
<!–
指定当前Web应用启动时装载Servlet的次序。当这个数>=0时,容器会按数值从小到大依次加载。如果数值<0或没有指定,容器将载Web客户首次访问这个Servlet时加载。
–>
 
<
load-on-startup
>
1
</
load-on-startup
>
 
</
servlet
>
 
<!–
 Define the SampleServlet Mapping 
–>
 
<
servlet-mapping
>
 
<!–
必须和<servlet>里的<servlet-name>内容一样
–>
 
<
servlet-name
>
SampleServlet
</
servlet-name
>
 
<!–
指定访问这个Servlet的URL。这里给出的是对于整个Web应用的相对URL路径。
–>
 
<
url-pattern
>
/sample
</
url-pattern
>
 
</
servlet-mapping
>
 
<
session-config
>
 
<!–
设 定HttpSession的生命周期。这里以分钟计算。下面的设定指明Session在最长不活动时间为10分钟。过了这个时间,Servlet容器将它 作为无效处理。注意这里和程序里指定的计数单位不同,程序里是以秒为单位。<session-config>只有<session- timeout>这个元素
–>
 
<
session-timeout
>
10
</
session-timeout
>
 
</
session-config
>
 
<!
— 配置会话侦听器,class表示一个HttpSessionListener或 HttpSessionActivationListener 或 HttpSessionAttributeListener或 HttpSessionBindingListener的实现类。该节点允许多个 –
>
 
<
listener
>
 
<
listener-class
>
com.cn.SessionListenerImpl
</
listener-class
>
 
</
listener
>
 
<!–
 在 用户访问Web应用时,如果仅给出Web应用的根访问URL,没有指定具体的文件名,容器会调用<weblcome-file- list> 元素里指定的文件清单。<welcome-file-list>里允许有多个<welcome-file>元 素,每个元素代表一个文件。容器会先找第一文文件件是否存在,如果存在这把这个文件返回个客户,不再进行其他文件的查找。如果不存在则找第二个文件,依次 类推。如果所有文件都不存在,则跑出404错误
–>
 
<
welcome-file-list
>
 
<
welcome-file
>
login.jsp
</
welcome-file
>
 
<
welcome-file
>
index.htm
</
welcome-file
>
 
</
welcome-file-list
>
 
<!–
 设置Web应用引用的自定义标签库。下面的代码定义了一个/mytaglib标签库,它对应的TLD文件为/WEB-INF/mytaglib.tld 
–>
 
<
taglib
>
 
<
taglib-uri
>
/mytaglib
</
taglib-uri
>
 
<
taglib-location
>
/WEB-INF/mytaglib.tld
</
taglib-location
>
 
</
taglib
>
 
<!–
 如果Web应用访问了由Servlet容器管理的某个JNDI Resource必须在这里声明对JNDI Resource的引用 
–>
 
<
resource-ref
>
 
<!–
 对应用资源的说明 
–>
 
<
description
>
DB Connection
</
description
>
 
<!–
 指定所引用资源的JNDI名字 
–>
 
<
res-ref-name
>
jdbc/sampleDb
</
res-ref-name
>
 
<!–
 指定所引用资源的类名字 
–>
 
<
res-type
>
javax.sql.DataSource
</
res-type
>
 
<!–
 指定管理所引用资源的Manager, 它有两个可选值:Container和Application.Container表示由容器来创建和管理Resource,Application表示由Web应用来管理和创建Resource 
–>
 
<
res-auth
>
Container
</
res-auth
>
 
</
resource-ref
>
 
<
security-constraint
>
 
<
web-resource-collection
>
 
<!–
 这个名字是必须的,由工具使用,别的地方不使用 
–>
 
<
web-resource-name
>
my application
</
web-resource-name
>
 
<!–
 指定要受约束的资源,至少有一个。可以有多个. 
–>
 
<
uri-pattern
>
/*
</
uri-pattern
>
 
<!–
 描 述了度可与URL模式指定的资源哪些方法是受约束的,如果没有<http-method>元素,表示任何角色的人都无法访问任何http的方 法  。这里放置了GET方法,表示只有GET方法是受约束的。其他任何角色的人可以访问POST和其他的方法。但不能访问GET方法。
–>
 
<
http-method
>
GET
</
http-method
>
 
</
web-resource-collection
>
 
<!–
 如果没有<auth-constraint>表示所有角色都能访问GET方法,如果是<auth-constraint/>表示任何角色都不能访问GET方法 
–>
 
<
auth-constraint
>
 
<!–
 可选的。表示哪些角色能够在指定的资源上调用受约束的方法。这里表示只有拥有Admin和Member角色的人能够访问GET方法 
<security-role>>里的<role-name>值一样 
–>
 
<
role-name
>
Admin
</
role-name
>
 
<
role-name
>
Member
</
role-name
>
 
</
auth-constraint
>
 
</
security-constraint
>
 
<!–
 将指定的角色映射到web.xml里 
–>
 
<
security-role
>
 
<
description
>
The role that is required to log into the my Application 
</
description
>
 
<!–
 以下的角色和tomcat-users.xml里的<tomcat-users>里的<role rolename=""/>里的rolename属性值对应 
–>
 
<
role-name
>
Guest
</
role-name
>
 
<
role-name
>
Admin
</
role-name
>
 
<
role-name
>
Member
</
role-name
>
 
</
security-role
>
 
<!–
 如果要想进行认证,必须有<login-config>
–>
 
<
login-config
>
 
<!–
 认证方式。有4种:BASIC:基本。 DIGEST:摘要。CLIENT-CERT:客户证书(能提供最高强度的认证)。FORM:表单 
–>
 
<
auth-method
>
FORM
</
auth-method
>
 
<
realm-name
>
 
Tomcat Servet Configuraton Form-Based Authentication Area 
</
realm-name
>
 
<
form-login-config
>
 
<
form-login-page
>
/login.jsp
</
form-login-page
>
 
<
form-error-page
>
/error.jsp
</
form-error-page
>
 
</
form-login-config
>
 
</
login-config
>
 
</
web-app
>

转载地址:http://hyegi.baihongyu.com/

你可能感兴趣的文章
分布式定时任务——elastic-job
查看>>
Spring中配置数据源的4种形式(含有如何在spring框架中解决多数据源的问题)
查看>>
分布式与集群有什么区别?
查看>>
linux安全-禁止密码登录及root登录
查看>>
Java 中的类为什么要实现序列化呢 / JAVA中序列化和反序列化中的静态成员问题
查看>>
redis集群搭建及注意事项
查看>>
分布式演变过程中之Session集群解决方案
查看>>
拥有这些Java这些技术可以涨工资吗?
查看>>
MySql学习之Join查询
查看>>
简单介绍线程池在并发编程中的使用
查看>>
redis如何防止并发?
查看>>
无备份情况下恢复MySQL误删的表,这样做再也不用怕误删了
查看>>
MySQL断电恢复的一点简单分析
查看>>
linux进程网络流量监控工具nethogs
查看>>
String.ValueOf和toString区别
查看>>
分布式补偿事务处理方案 / 分布式计算是如何控制事务的?
查看>>
SQL之常用小技巧第一篇
查看>>
java互联网架构-Mybatis缓存机制
查看>>
spring 更换数据库
查看>>
Java回调机制是什么意思?
查看>>