出自:http://blog.csdn.net/u010833154/article/details/50697987
引言:启动java web程序的时候,java web会读取配置文件web.xml;读取<listener>和<context-param>两个结点,随后创建servletContext(servlet上下文),并且web中是所有部分共享这个上下文;容器将<context-param>转换为键值对,并交给servletContext,
web.xml 的加载顺序是:ServletContext-> context-param ->listener -> filter -> servlet,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。
相应配置
一、<display-name>TomcatExample</display-name>
二、上下文参数
<context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:spring-mvc.xml classpath:applicationContext.xml </param-value> </context-param>
三、Web 应用描述:给出于此相关的说明性文本
<disciption>Tomcat Example servletsand JSPpages.</disciption>
<display-name></display-name>定义站台的名称
四、过滤器配置:将一个名字与一个实现javaxs.servlet.Filter接口的类相关联
<filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
五、监听器配置
<!-- 需要在普通类中使用request的时候,注入这个监听 --> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener>
六、Servlet配置
基本配置 <servlet> <servlet-name>snoop</servlet-name> <servlet-class>SnoopServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>snoop</servlet-name> <url-pattern>/snoop</url-pattern> </servlet-mapping> 高级配置 <servlet> <servlet-name>snoop</servlet-name> <servlet-class>SnoopServlet</servlet-class> <init-param> <param-name>foo</param-name> <param-value>bar</param-value> </init-param> <run-as> <description>Security role foranonymousaccess</description> <role-name>tomcat</role-name> </run-as> </servlet> <servlet-mapping> <servlet-name>snoop</servlet-name> <url-pattern>/snoop</url-pattern> </servlet-mapping> 元素说明 <servlet></servlet> 用来声明一个servlet的数据,主要有以下子元素: <servlet-name></servlet-name> 指定servlet的名称 <servlet-class></servlet-class> 指定servlet的类名称 <jsp-file></jsp-file> 指定web站台中的某个JSP网页的完整路径 <init-param></init-param> 用来定义参数,可有多个init-param。在servlet类中通过getInitParamenter(Stringname)方法访问初始化参数 <load-on-startup></load-on-startup> 指定当Web应用启动时,装载Servlet的次序。 当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet. 当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它 <servlet-mapping></servlet-mapping> 用来定义servlet所对应的URL,包含两个子元素 <servlet-name></servlet-name> 指定servlet的名称 <url-pattern></url-pattern> 指定servlet所对应的URL
七、会话超时配置(单位为分钟)
<session-config> <session-timeout>120</session-timeout> </session-config>
八、指定欢迎文件页配置
<welcome-file-list> <welcome-file>/index/index.action</welcome-file> </welcome-file-list>
九、错误界面配置
<error-page> <error-code>404</error-code> <location>/404.jsp</location> </error-page>
十、通过异常的类型配置error-page
<error-page> <exception-type>java.lang.NullException</exception-type> <location>/error.jsp</location> </error-page>