zoukankan      html  css  js  c++  java
  • SpringMVC_url-pattern的写法

    # 1 设置为 .do

    一种较为常见的写法

    <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    # 2 设置为 /*

    当url-pattern设置为 /* 时,表示匹配所有的请求,当设置为改方法后,会匹配 *.jsp ,会出现返回jsp视图时再次进入spring的 DispatcherServlet类中,导致找不到相应得Controller而出现错误 404报错

    # 3 设置为 /

    当url-pattern设置为 / 后,如果当前的请求在web.xml中无法找到匹配的url,系统会将请求交给DispatcherServlet处理,静态资源:css,js文件,图片文件,也会被拦截并交给DispatcherServlet处理

    但当url-pattern设置为 / 后,不会拦截 *.jsp 和 *.jspx文件,因为在当前的tomcat中的 conf/web,xml文件中已经添加了相应的处理 *.jsp,*.jspx文件方式,系统会将该类型的文件交给 org.apache.jasper.servlet.JspServlet 来及进行处理,故我们可以进行访问该类型的文件

        <!-- The mapping for the default servlet -->
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    
        <!-- The mappings for the JSP servlet -->
        <servlet-mapping>
            <servlet-name>jsp</servlet-name>
            <url-pattern>*.jsp</url-pattern>
            <url-pattern>*.jspx</url-pattern>
        </servlet-mapping>

    # 如何解决静态资源无法访问的情况

    (静态资源:css,js文件,图片文件,也会被拦截并交给DispatcherServlet处理)

    1:使用 defaultServlet

    当系统找不到处理某个url请求时,就将请求交给DefaultServlet来处理,将下方的类中添加与tomcat的conf/web.xml文件中(注意:添加在 DefaultServlet前面,这样系统就会将带有下面后缀的请求交给DefaultServlet来处理)

        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.jpg</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.js</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>default</servlet-name>
            <url-pattern>*.css</url-pattern>
        </servlet-mapping>

    2:在springmvc的配置文件 springmvc.xml文件中配置

    (改方法会将所有的请求进行处理,然后交给相应的servlet处理,这种方式最终由DefaultServlet进行处理)

    <mvc:default-servlet-handler/> 

     3:使用mv:resources

    (SpringMvc 提供 mv:resources 标签来解决静态资源无法访问的问题,会将静态资源交给 ResourceHttpRequestHandler 来处理)

    <mvc:resources mapping="/images/**" location="/images/" />
    <!-- mapping为对该资源的请求 -->
    <!-- location 表示静态资源所在的目录 -->

    本笔记参考自:小猴子老师教程 http://www.monkey1024.com

  • 相关阅读:
    P2029 跳舞
    P2502 [HAOI2006]旅行
    P4310 绝世好题
    P2857 [USACO06FEB]稳定奶牛分配Steady Cow Assignment
    P1131 [ZJOI2007]时态同步
    P2052 [NOI2011]道路修建
    P3141 [USACO16FEB]围栏Fenced In_Platinum
    ubuntu 12.04上安装QQ2013(转载)
    ubuntu 12.04 alt+tab无法切换窗口的问题(转载)
    Ubuntu 12.04 设置终端字体为文泉驿(转载)
  • 原文地址:https://www.cnblogs.com/Doaoao/p/10645055.html
Copyright © 2011-2022 走看看