web.xml详细组件

root
233
文章
0
评论
2020年1月9日14:48:08 评论 3823字阅读12分44秒

web.xml详细组件

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

因为web.xml组件实在是太多了,挑点常用的重要的讲解

在默认安装目录下的web.xml文件中,可以修改默认的欢迎页面名称

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

下面主要写WEB-INF/web.xml 下的定制配置

会话配置

  • 用于配置Web应用会话,包括 超时时间、Cookie配置以及会话追踪模式。它将覆盖server.xml 和 context.xml 中的配置。,这一段放到web.xml最下边就行了

会话交互的过程:

  • 因为客户端访问web服务器发送的http请求是无状态的,什么是无状态就是,web服务器无法判断是不是同一个人再次发送请求,于是web端有了session,客户端游览器有了cookie,当用户访问的时候web端会记录一个登陆信息在session里,用户第一次访问web服务器,web服务器记录好session会向游览器响应一个JSESSIONID,保存在用户游览器,也就是cookie,当用户再次发送请求访问游览器,携带JSESSIONID,游览器就知道是同一个人
<session‐config>
   <session‐timeout>30</session‐timeout>
   <cookie‐config>
      <name>JESSIONID</name>
      <domain>www.itcast.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 : 会话超时时间,单位 分钟,这里我们配置了30分钟
  • cookie‐config: 用于配置会话追踪Cookie
    • name:Cookie的名称
    • domainCookie的域名
    • path:Cookie的路径
    • comment:注释
    • http‐only:cookie只能通过HTTP方式进行访问,JS无法读取或修改,此项可以增加网站访问的安全性。
    • secure:此cookie只能通过HTTPS连接传递到服务器,而HTTP 连接则不会传递该信息。注意是从浏览器传递到服务器,服务器端的Cookie对象不受此项影响。写true就是只有https的请求携带上面的信息,这里写了false
    • max‐age:以秒为单位表示cookie的生存期,默认为‐1表示是会话Cookie,浏览器关闭时就会消失。
  • tracking‐mode :用于配置会话追踪模式,Servlet3.0版本中支持的追踪模式:COOKIE、URL、SSL
    • COOKIE : 通过HTTP Cookie 追踪会话是最常用的会话追踪机制, 而且Servlet规范也要求所有的Servlet规范都需要支持Cookie追踪。
    • URL : URL重写是最基本的会话追踪机制。当客户端不支持Cookie时,可以采用URL重写的方式。当采用URL追踪模式时,请求路径需要包含会话标识信息,Servlet容器

      会根据路径中的会话标识设置请求的会话信息。如:

      http://www.myserver.com/user/index.html;jessionid=1234567890。

    • SSL : 对于SSL请求, 通过SSL会话标识确定请求会话标识。

配置好可以验证一下:

Servlet配置

 

Servlet 的配置主要是两部分servletservlet-mapping是servlet的映射配置 :

  •     <servlet>
            <servlet-name>myServlet</servlet-name>
            <servlet-class>cn.itcast.web.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>/myservet/*</url-pattern>
        </servlet-mapping>

配置说明:

  • servlet‐name : 指定servlet的名称, 该属性在web.xml中唯一。
  • servlet‐class : 用于指定servlet类名
  • init‐param: 用于指定servlet的初始化参数, 在应用中可以通过HttpServlet.getInitParameter 获取。这个里的参数只针对当前的servlet
  • load‐on‐startup: 用于控制在Web应用启动时,Servlet的加载顺序。 值小于0,web应用启动时,不加载该servlet, 第一次访问时加载。
  • enabled: true , false 。 若为false ,表示Servlet不处理任何请求。
  • url‐pattern: 用于指定URL表达式,一个 servlet‐mapping可以同时配置多个 url‐pattern。

Listener配置

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

Filter配置

  • filter 用于配置web应用过滤器, 用来过滤资源请求及响应。 经常用于认证、日志、加密、数据转换等操作, 配置如下:
  • <filter>
        <filter‐name>myFilter</filter‐name>
        <filter‐class>cn.itcast.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: 用于指定过滤器名称,在web.xml中,过滤器名称必须唯一。
  • filter‐class : 过滤器的全限定类名, 该类必须实现Filter接口。
  • async‐supported: 该过滤器是否支持异步
  • init‐param :用于配置Filter的初始化参数,可以配置多个,可以通过FilterConfig.getInitParameter获取
  • url‐pattern: 指定该过滤器需要拦截的URL。

错误页面配置

  • error-page 用于配置Web应用访问异常时定向到的页面,支持HTTP响应码和异常类两种形式。要是不配置错误页面,则用户能看到很多重要信息,这个定义的错误页面会内容有开发写
  • <error‐page>
           <error‐code>404</error‐code>
           <location>/404.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>

 

继续阅读
weinxin
我的微信
这是我的微信扫一扫
  • 文本由 发表于 2020年1月9日14:48:08
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
tomcat优化 Tomcat

tomcat优化

tomcat优化  Tomcat 性能调优 对于系统性能,用户最直观的感受就是系统的加载和操作时间,即用户执行某项操作的耗时。从更为专业的角度上讲,性能测试可以从以下两个指标量化。 响应时间:如上所述...
tomcat安全 Tomcat

tomcat安全

tomcat安全 配置安全 1.删除webapps目录下的所有文件 2.禁用tomcat管理界面 3.注释或删除tomcat-users.xml文件内的所有用户权限; 4.更改关闭tomcat指令或禁...
tomcat多实例与集群,Session共享问题 Tomcat

tomcat多实例与集群,Session共享问题

tomcat多实例与集群 先说tomcat多实例, 这个很简单,就简单说一下,一台web服务器上部署好一次tomcat做好了优化以后,可以当作模板及,进行打包压缩,保存好,当需要添加多台tomcat时...
JVM 优化 Tomcat

JVM 优化

JVM 配置方法(根据需求需求) 最常见的JVM配置当属内存分配,因为在绝大多数情况下,JVM默认分配的内存可能不能够满足我们的需求,特别是在生产环境,此时需要手动修改Tomcat启动时的内存参数分配...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: