美文网首页
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