美文网首页
SpringMVC的DispatchServlet的路径映射ur

SpringMVC的DispatchServlet的路径映射ur

作者: 抬头挺胸才算活着 | 来源:发表于2022-01-10 22:59 被阅读0次
  • web.xml配置DispatchServlet
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatchServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>classpath:springmvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
  • url-pattern的配置
    /代表一种固定的拦截
    /* 代表一种拦截全部的拦截


  • 使用/后DispatchServlet不会拦截.jsp但是会拦截静态资源
    因为tomcat自身有一个默认的web.xml,这个web.xml中也有各种url-pattern的配置,针对.jsp有JspServlet,针对静态资源有DefaultServlet,前者配置的url-pattern不是/,后者配置的url-pattern是/,因此静态资源


  • 如何解决配置了/会拦截静态资源的问题?
    1、<mvc:default-servlet-handler/>
    会有一个DefaultServletHttpRequestHandler对静态资源进行拦截,交给web应用服务器tomcat。
    缺点:只能将html等静态文件放到webapp的根目录下,不能放到resources目录下。
    2、<mvc:resources mapping="/resources/**" location="classpath:/"/>
    将路径以resources开头的文件映射到resources目录下。

相关文章

网友评论

      本文标题:SpringMVC的DispatchServlet的路径映射ur

      本文链接:https://www.haomeiwen.com/subject/exvvcrtx.html