session-config
// 这个元素为该应用中创建的所有session定义默认超时时间,单位是分钟。这个值必须是整数。
// 如果是0或者负数,表示不超时。如果该元素没有设置,容器设置一个默认值。
<session-config>
<session-timeout>120</session-timeout>
</session-config>
servlet
<!-- 配置方式一 -->
<servlet>
// 指定Web应用的描述信息
<description>This is the description of my J2EE component</description>
// 指定Web应用的显示名称
<display-name>This is the display name of my J2EE component</display-name>
// 这个就是个名字、一个标识符,相当于一个ID,后边比如servlet-mapping中的servlet-name要和其一样
// 否则servlet-mapping找不到要他的服务在哪
<servlet-name>my3</servlet-name>
// MyServlet3对应的MyServlet3.java文件
<servlet-class>com.servlet.MyServlet3</servlet-class>
// 当该值是负数、或者该元素没有出现的时候,表示当web应用接收到请求的时候再加载,称为懒加载。
// 当该值为正整数、或者0的时候,表示在web应用启动的时候就加载,称为急切加载。数值越小,越早加载。
// 当数值相同时,容器自己选择它们的加载顺序。
<load-on-startup>1</load-on-startup>
// 定义servlet初始化参数
<init-param>
// 应该是对下边参数的描述信息
<description>配置规则请查看TimerTaskServlet类的startTaskConfig和startTaskClass方法的注释说明</description>
// 参数名
<param-name>packages</param-name>
// 参数值
<param-value>com.baihe.mobile.and,com.baihe.web.kc</param-value>
</init-param>
// 第二个参数
<init-param>
<description>配置规则请查看TimerTaskServlet类的startTaskConfig和startTaskClass方法的注释说明</description>
// 参数名
<param-name>encoding</param-name>
// 参数值
<param-value>GBK</param-value>
</init-param>
</servlet>
// 注意servlet-mapping和上边的servlet不一定非要连着放在一起哦,只要servlet-name和上边的对应着即可
<servlet-mapping>
// 下边这个servlet-name即my3要和servlet下的servlet-name值即my3一样
<servlet-name>my3</servlet-name>
// /my3是前端请求过来的路径
<url-pattern>/my3</url-pattern>
</servlet-mapping>
filter
// 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联。
<filter>
// 指定filter组件的名称。
<filter-name>CheckFilter</filter-name>
// 指定filter组件的类名。
<filter-class>com.baihe.web.CheckFilter</filter-class>
// 定义filter初始化参数。
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
// 一旦命名了一个过滤器,就要利用filter-mapping元素把它与一个或多个servlet或JSP页面相关联。
<filter-mapping>
// filter组件的名称。要和filter中的保持一致
<filter-name>CheckFilter</filter-name>
// URL地址的匹配模式,可以使用通配符。
<url-pattern>/*</url-pattern>
</filter-mapping>
filter详情请参考1
filter详情请参考2
filter详情请参考3
listener
// servlet API的版本2.3增加了对事件监听程序的支持,事件监听程序在建立、修改和删除会话
// 或servlet环境时得到通知。 Listener元素指出事件监听程序类。容器创建<listener>中的类实例,创建监听器。
<listener>
// 指定listener组件的类名
<listener-class>com.baihe.web.MyHttpSessionAttributeListener</listener-class>
</listener>
welcome-file-list
// 用来定义首页的列单,包含一个子元素
<welcome-file-list>
// 指定首页的文件名称
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- <welcome-file-list>包含一个子元素<welcome-file>,<welcome-file>用来指定首页文件名称。
<welcome-file-list>元素可以包含一个或多个<welcome-file>子元素。如果在第一个<welcome-file>元
素中没有找到指定的文件,Web容器就会尝试显示第二个,以此类推。-->
login-config
// 制定应该保护的URL。它与login-config元素联合使用
<security-constraint></security-constraint>
// 指定服务器应该怎样给试图访问受保护页面的用户授权。它与sercurity-constraint元素联合使用.
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
// 配置安全验证登录界面:指定当WEB客户访问受保护的WEB资源时,系统弹出的登录对话框的类型。
// auth-method 指定验证方法,它有三个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(表单验证)
// realm-name 设定安全域的名称
// form-login-config 当验证方法为FORM时,配置验证网页和出错网页
// form-login-page 当验证方法为FORM时,设定验证网页
// form-error-page 当验证方法为FORM时,设定出错网页
<login-config>
<auth-method>FORM</auth-method>
<realm-name>
Tomcat Server Configuration 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>
error-page
// 在返回特定HTTP状态代码时,或者特定类型的异常被抛出时,能够制定将要显示的页面.
// 下面的配置当系统发生400错误时,页面将跳转到错误处理页面404.jsp
<error-page>
<error-code>400</error-code>
<location>/404.jsp</location>
</error-page>
// 下面的配置当系统发生org.apache.jasper.JasperException异常时,页面将跳转到错误处理页面error.jsp
<error-page>
<exception-type>org.apache.jasper.JasperException</exception-type>
<location>/error.jsp</location>
</error-page>
// 下面的配置当系统发生java.lang.NullException异常时,页面将跳转到错误处理页面error.jsp
<error-page>
<exception-type>java.lang.NullException</exception-type>
<location>/error.jsp</location>
</error-page>