<?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>

本文链接地址:一个很详细的web.xml讲解    转载请保留,谢谢!

一个很详细的web.xml讲解(转)的更多相关文章

  1. 一个很详细的web.xml讲解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "- ...

  2. web.xml讲解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "- ...

  3. 完成一个servlet 就要在web.xml里面配一个映射,这样就有一个路径供我们 使用????? servlet从页面接收值?

    最后,最容易忘记的是:在dao层中 调用xml里的删除sql语句 后面需要人为加上事务提交.一定要! sqlSession.commit();//jdbc是自动提交,但是mybatis中不是自动提交的 ...

  4. 关于tcpdump抓包一个很详细的介绍

    http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

  5. web.xml详解

    web.xml的作用 web.xml,一个Tomcat工程中最重要的配置文件.web.xml没有其实也可以----只要你确定你的项目里面不需要任何过滤器.监听器.Servlet等等.我试了一下,没有w ...

  6. web.xml总结整理

    web.xml 配置的详细解读 web.xml (部署描述符文件) 整理参考:      加载顺序 ServletContext-->listener->filter->srvlet ...

  7. struts2中struts.xml和web.xml文件解析及工作原理

    web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp ...

  8. web.xml文件:

    在web.xml配置文件是一个的J2EE配置文件,决定如何处理HTTP请求servlet容器的元素.它不是严格意义上的Struts2的配置文件,但它是一个文件,需要配置Struts2的工作. 正如前面 ...

  9. web.xml 文件详解

    目录 1. web.xml各版本区别 2. web.xml配置详解 2.1 java web项目启动加载顺序 2.2 web.xml中定义的元素 web.xml文件是Java Web项目中的一个配置文 ...

随机推荐

  1. 在Windows下如何创建虚拟环境(默认情况下)

    很多小伙伴平时在使用Python的时候,有的项目需要使用Python2来进行开发,有的项目则是需要Python3来进行开发.当不清楚怎么分开环境的时候,此时两个环境开始打架,彼此傻傻分不清楚.虚拟环境 ...

  2. PHP获取随机字符串的两种方法

    <?php /** * 随机返回字符串 * @param number 返回字符串长度 * @param string 从哪些字符串中随机返回,已设置默认字符串,可空 * @return str ...

  3. python 协程学习

    协程 协程,又称微线程,纤程.英文名Coroutine.一句话说明什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来 ...

  4. 使用PyV8模块破解网站加密cookie

    PyV8是Chromium中内嵌的javascript引擎,号称跑的最快.PyV8是用Python在V8的外部API包装了一个python壳,这样便可以使python可以直接与javascript操作 ...

  5. BZOJ2337: [HNOI2011]XOR和路径(高斯消元,期望)

    解题思路: Xor的期望???怕你不是在逗我. 按为期望,新技能get 剩下的就是游走了. 代码: #include<cmath> #include<cstdio> #incl ...

  6. 洛谷 P1239 计数器

    P1239 计数器 题目描述 一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9.其中—个页码不含多余的0,如N=1234时第5页不是0005,只是5. 输入输出格式 ...

  7. java 链接server上的 mongodb 出现 connect time out 问题

    异常信息 十二月 22, 2014 5:27:58 下午 com.mongodb.DBTCPConnector initDirectConnection 警告: Exception executing ...

  8. es7 --- 新特性

    ES7只有2个特性: includes() 指数操作符 不使用ES7 使用indexOf()验证数组中是否存在某个元素,这时需要根据返回值是否为-1来判断: let arr = ['react', ' ...

  9. vue (v-if show 问题)

    vue中的显示和隐藏有两种方式 1.v-if   ( 相当于动态创建的标签,在html 结构中,是不存在的. ) 2. v-show(控制的是 html 的css display:none  属性.结 ...

  10. RGB-D action recognition using linear coding

    First, a depth spatial-temporal descriptor is developed to extract the interested local regions in d ...