• JavaWeb学习总结(笔记)——SSM中Web.xml文件


    SSM 中Web.xml配置

    //自动配置xml文件
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
    </context-param>

    context param 上下文参数 context Config Location 语境配置位置

    //字符编码过滤器
    <filter>
    <filter-name>charset</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>
    (Character Encoding Filter 字符编码过滤器)
    //过滤器映射
    <filter-mapping>
    <filter-name>charset</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
                                           ()


    //监听器
    <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>


    //处理xml文件的请求
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring.xml</param-value>
    </init-param>
    </servlet>
    (
    DispatcherServlet 调度器/分发器——普通类变servlet)
    //servlet映射
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <url-pattern>*.do</url-pattern>
    </servlet-mapping>

     

    web.xml中url-pattern匹配规则

     

    一.url-pattern的三种写法

    1. 精确匹配。以"/"开头,加上servlet名称。
      Java代码  收藏代码
      1. /ad  
       
    2. 路径匹配。以"/"开头,加上通配符"*"。
      Java代码  收藏代码
      1. /*  
       
    3. 扩展名匹配。以通配符"*"开头,加上扩展名。
      Java代码  收藏代码
      1. *.action  
       

    二.servlet匹配规则

    1. 先精确匹配,再路径匹配。servlet-mapping1:<url-pattern>/ad</url-pattern>,servlet-mapping2:<url-pattern>/*</url-pattern>。当一个请求http://localhost:8080/ad来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。
    2. 路径匹配的时候,先最长路径匹配,再最短路径匹配。servlet-mapping1:<url-pattern>/ad/uplaod.jsp</url-pattern>,servlet-mapping2:<url-pattern>/ad/*</url-pattern>。当一个请求http://localhost:8080/ad/upload.jsp来的时候,servlet-mapping1匹配到,不再用servlet-mapping2匹配。
    3. 至于扩展名匹配,就是单独于精确匹配和匹配的一类了。struts2的扩展名就是.action,所以http://localhost:8080/ad.action会被servlet-mapping:<url-pattern>*.action</url-pattern>匹配到。
    4. 以上都找不到servlet,就用默认的servlet,配置为<url-pattern>/</url-pattern>。

     

    三. filter匹配规则

      1. 顺着web.xml定义的filter顺序匹配,匹配到了就开始filter。
      2. 有几个就匹配几次filter几次。
        Java代码  收藏代码
        1. <filter>  
        2.         <filter-name>encodeFilter</filter-name>  
        3.         <filter-class>com.skylark.common.util.EncodeFilter</filter-class>  
        4.     </filter>  
        5.     <filter-mapping>  
        6.         <filter-name>encodeFilter</filter-name>  
        7.         <url-pattern>/*</url-pattern>  
        8.     </filter-mapping>  
        9.   
        10.     <filter>  
        11.         <filter-name>initSessionFilter</filter-name>  
        12.         <filter-class>com.skylark.service.servlet.InitSessionFilter</filter-class>  
        13.     </filter>  
        14.     <filter-mapping>  
        15.         <filter-name>initSessionFilter</filter-name>  
        16.         <url-pattern>/*</url-pattern>  
        17.     </filter-mapping>  
         任何请求过来的时候,都会先encode,然后initSession。
  • 相关阅读:
    android PopupWindow实现从底部弹出或滑出选择菜单或窗口
    AndroidUI开源组件库BottomView 第三方自定义UI控件
    Android LayoutInflater详解
    Android设置上下边框或者左右边框
    杭州驾校模拟考试
    告诉你LTE-FDD与LTE-TDD的区别
    Android-Uiautomator:[5]停止monkey测试
    Android WebView
    解决Item控件抢占焦点
    ACM-计算几何之Quoit Design——hdu1007 zoj2107
  • 原文地址:https://www.cnblogs.com/benwumumu/p/7094667.html
Copyright © 2020-2023  润新知