Tomcat--应用配置

Tomcat应用配置

web.xml是web应用的描述文件,它支持的元素及来自于Servlet规范定义。在Tomcat中,Web应用的描述信息包括tomcat/conf/web.xml中默认配置,以及Web应用WEB-INF/web.xml下定制的配置。

在这里插入图片描述
在这里插入图片描述

ServletContext初始化参数

我们可以通过<context-param>添加ServletContext初始化参数,它配置了一个键值对,这样我们可以在应用程序中使用javax.servlet.ServletContext.getInitParameter()方法获取参数

<context-param>
	<param-name>contextConfigLocation</param-name>
	<paramm-value>classpath:applicationContext-*.xml</param-value>
</context-param>
会话配置

session-config用于配置Web应用会话,包括超时时间、Cookie配置以及会话追踪模式。它将覆盖server.xml和context.xml中的配置。

<session-config>
        <session-timeout>30</session-timeout>
        <cookie-config>
            <name>JSESSIONID</name>
            <domain>www.xxx.cn</domain>
            <path>/</path>
            <comment>Session Cookie</comment>
            <http-only>true</http-only>
            <secure>false</secure>
            <max-age>3600</max-age>
        </cookie-config>
        <tracking-mode>COOKIE</tracking-mode>
    </session-config>
  • session-timeout:会话超时时间,单位分钟
  • cookie-config:用于配置会话追踪Cookie
    • name:Cookie的名称
    • domain:Coodie的域名
    • path:Cookie的路径
    • comment:注释
    • http-only:Cookie只能通过HTTP方式进行访问,JS无法读取或修改,此项可以增加网站访问安全性
    • secure:此cookie只能通过HTTPS连接传递到服务器,而HTTP连接则不会传递该信息。注意是从浏览器传递到服务器,服务器端的Cookie对象不受此项配置影响
    • max-age:以秒为单位表示cookie的生存期,默认为-1表示是会话Cookie,浏览器关闭时就会失效
  • tracking-mode:用于配置会u啊追踪模式,Servlet3.0版本中支持的追踪模式:COOKIE、URL、SSL
    • COOKIE:通过HTTP Cookie追踪会话是最常用的会话追踪机制,而且Servlet规范也要求所有的Servlet规范都需要支持Cookie追踪
    • URL:URL重写是最基本的会话追踪机制。当客户端不支持Cookie是,可以采用URL重写的方式。当采用URL重写追踪模式时,请求路径需要包含会话标识信息,Servlet容器会根据路径中的会话标识设置请求的会话信息,如:http://www.xxx.com/user/index.html;jsessionid=2321432543345
    • SSL:对于SSL请求,通过SSL会话标识确定请求回话标识
Servlet配置

Servlet的配置主要是两方面,servlet和servlet-mapping

<servlet>
        <servlet-name>myServlet</servlet-name>
        <servlet-class>pers.zhang.MyServlet</servlet-class>
        <init-param>
            <param-name>fileName</param-name>
            <param-value>init.conf</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <enabled>true</enabled>
    </servlet>
    <servlet-mapping>
        <servlet-name>myServlet</servlet-name>
        <url-pattern>*.do</url-pattern>
        <url-pattern>/myservlet/*</url-pattern>
    </servlet-mapping>
  • servlet-name:指定servlet的名称,该属性在web.xml中唯一
  • servlet-class:用于指定servlet类名
  • init-param:用于指定servlet的初始化参数,在应用中可以通过HttpServlet.getInitParameter()获取
  • load-on-startup:用于控制在Web应用启动时,Servlet的加载顺序。值小于0,web应用启动时,不加载该servlet,第一次访问时加载
  • enabled:true/false。若为false,表示Servlet不处理任何请求
  • url-pattern:用于指定URL表达式,一个servlet-mapping可以同时配置多个url-pattern

Servlet中文件上传配置:

	<servlet>
        <servlet-name>uploadServlet</servlet-name>
        <servlet-class>pres.zhang.web.UploadServlet</servlet-class>
        <multipart-config>
            <location>C://path</location>
            <max-file-size>10485760</max-file-size>
            <max-request-size>10485760</max-request-size>
            <file-size-threshold>0</file-size-threshold>
        </multipart-config>
    </servlet>
  • location:存放生成的文件地址
  • max-file-seze:允许上传的文件最大值。默认值为-1,表示没有限制
  • max-request-size:针对该multi/form-data请求的最大数量,默认值为-1,表示无限制
  • file-size-threshold:当数量大于该值时,内容会被写入文件
Listener配置

Listener用于监听servlet中的事件,例如context、request、session对象的创建、修改、删除,并触发响应事件。Listener是观察者模式的实现,在Servlet中主要用于对context、request、session对象的生命周期进行监控。在Servlet2.5规范中共定义了8种Listener。在启动时,ServletContextListener的执行顺序于web.xml中配置的顺序一致,停止时执行顺序相反。

<listener>
	<listener-calss>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Filter配置

filter用于配置web应用过滤器,用来过滤资源请求及响应。经常用于认证、日志、加密、数据转换等操作。

    <filter>
        <filter-name>myFilter</filter-name>
        <filter-class>pers.zhang.web.MyFilter</filter-class>
        <async-supported>true</async-supported>
        <init-param>
            <param-name>language</param-name>
            <param-value>CN</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>myFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  • filter-name:用于指定过滤器名字,唯一
  • filter-class:过滤器的权限定类名,该类必须实现Filter接口
  • asynv-support:该过滤器是否支持异步
  • init-param:用于配置过滤器的初始化参数,可以配置多个,通过FilterConfig.getInitParameter()获取
  • url-pattern:指定该过滤器需要拦截的url
欢迎页面配置

welcome-file-list用于指定web应用的欢迎文件列表

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

尝试请求的顺序:从上到下

错误页面配置

error-page用于配置Web应用访问异常时定向到的页面,支持HTTP响应码和异常类两种形式。

	<error-page>
        <error-code>404</error-code>
        <location>/4.4.html</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/500.html</location>
    </error-page>
    <error-page>
        <exception-type>java.lang.Exception</exception-type>
        <location>/error.jsp</location>
    </error-page>
发布了892 篇原创文章 · 获赞 2314 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/cold___play/article/details/105156471