<?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. JavaScript进阶之执行上下文和执行栈

    js引擎的执行过程 执行上下文和执行栈属于js引擎的执行过程的预编译阶段. 执行上下文(Execution Context) 执行上下文是当前 JavaScript 代码被解析和执行时所在环境的抽象概 ...

  2. python第六次作业——随笔

    第一就是教的和布置的作业难度不一样.python在课堂上学到的东西太基础.然而作业基本上在教义是不能直接找到公式照搬的(尤其是第五次作业文件处理要用到pandas和numpy),所以做作业只能自己去找 ...

  3. nagios插件之登陆防火墙实现session监控

    ssh_firewall_session.sh -- 登陆防火墙并运行dis session statistics firewall_check_sessions.c -- 调用上面脚本.过滤出ses ...

  4. hadoop集群环境配置成功与否查看方法

    1.Hadoop启动jobhistoryserver来实现web查看作业的历史运行情况,由于在启动hdfs和Yarn进程之后,jobhistoryserver进程并没有启动,需要手动启动jobhist ...

  5. 小项目: low版本的 员工信息程序:

    ### 附加两个文件1 user_info 和worker_info flag = False def logon(): #登录函数 global flag usr = input('Username ...

  6. mvc的个别对输入数据的验证

    一.手工验证绑定的参数 二.使用ValidationAttribute特性 三.让数据类型实现IValidatableObject接口 四.让数据类型实现IDataErrorInfo接口 http:/ ...

  7. javafx KeyCombination

    import javafx.application.Application; import javafx.application.Platform; import javafx.event.Actio ...

  8. Kinect 开发 —— 深度信息

    转自:http://www.cnblogs.com/yangecnu/archive/2012/04/04/KinectSDK_Depth_Image_Processing_Part1.html 深度 ...

  9. C_深入(内存模型)

    01 数据类型: 为什么有数据类型? 现实生活中的数据太多而且大小形态不一. 数据类型与内存的关系: 数据类型的本质:创建变量的模具,是固定大小的别名. #include "stdio.h& ...

  10. [BZOJ4555 TJOI2016 HEOI2016 求和]

    ​ 第一篇博客,请大家多多关照.(鞠躬 BZOJ4555 TJOI2016 HEOI2016 求和 题意: ​ 给定一个正整数\(n\)(\(1\leqq n \leqq100000\)),求: \[ ...