• Spring MVC -- 去掉静态资源的拦截


     1  <!-- springmvc的前端控制器 -->
     2     <servlet>
     3         <servlet-name>springMVC</servlet-name>
     4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     5 
     6         <!-- contextConfigLocation不是必须的
     7         如果不配置contextConfigLocation
     8         springmvc的配置文件默认在:WEB-INF/servlet的name+"-servlet.xml" -->
     9 
    10         <init-param>
    11             <param-name>contextConfigLocation</param-name>
    12             <param-value>classpath:spring/springmvc.xml</param-value>
    13         </init-param>
    14         <load-on-startup>1</load-on-startup>
    15     </servlet>
    16 
    17     <servlet-mapping>
    18         <servlet-name>springMVC</servlet-name>
    19         <url-pattern>/</url-pattern>
    20     </servlet-mapping>
    / 表示拦截所有的请求,包括静态资源 
    
    注意:当前端使用jsp java后端模板引擎时,/  不会匹配到 .jsp ( 即 不会进入到项目中dispathservlet中,不会拦截 。jsp的请求,因为 jsp 在被访问时会解析,生成servlet,然后编译servlet,之后会被编译成为一个.class文件,实际是一个servlet在运行,因此可由web服务器直接访问。)
    
    /* 会匹配到。jsp的路径。即 会匹配项目所有路径。
    <url-pattern>/</url-pattern> --表示拦截所有的请求,包括静态资源

    2、去静态资源拦截有三种方式

    1、在web.xml中配置映射
    2、在springMVC.xml中配置映射
    3、在springMVC.xml中添加静态资源默认Servlet处理

    3、方式一

    在web.xml中配置映射

     1     <!-- 对静态资源的配置 -->
     2     <servlet-mapping>
     3         <servlet-name>default</servlet-name>
     4         <url-pattern>*.js</url-pattern>
     5         <url-pattern>*.css</url-pattern>
     6         <url-pattern>*.ico</url-pattern>
     7         <url-pattern>/img/*</url-pattern>
     8         <url-pattern>/fonts/*</url-pattern>
     9         <url-pattern>/font/*</url-pattern>
    10     </servlet-mapping>
    Tomcat, Jetty, JBoss 自带的默认Servlet的名字 -- "default"
    WebLogic 自带的 默认Servlet的名字  -- "FileServlet"
    WebSphere  自带的 默认Servlet的名字 -- "SimpleFileServlet"

    可以根据自身情况,来配置映射

    注意: 请将它放在所有Servlet的最前面(为了让它最先匹配),这样的话性能上应该比较好 


    4、方式二

    在springMVC.xml中添加静态资源的映射

    1     <!-- 资源映射 -->
    2     <mvc:resources location="/WEB-INF/css/" mapping="/css/**"/>
    3     <mvc:resources location="/WEB-INF/js/" mapping="/js/**"/>

    根据实际情况自行配置


    5、方式三

    在springMVC.xml中添加静态资源默认Servlet处理

    1 <mvc:default-servlet-handler/>
    2 
    3 <!-- 也可以自行手动配置,自定义servlet -->
    4 <mvc:default-servlet-handler default-servlet-name="myDefaultServlet"/>

    注意: 这种方式对spring版本必须要求3.0.5及以上

     

  • 相关阅读:
    js的style.width取不到元素的宽度值
    git bush 无法使用箭头进行选择
    exports module.exports export export default之间的关系
    vue前端项目中excel文件下载
    vue -- router路由跳转错误 , NavigationDuplicated
    node url模块
    SSO CAS 单点系列
    离线电脑搭建开发环境
    Shader的语法
    NavMesh名字、层索引、层值之间的转换
  • 原文地址:https://www.cnblogs.com/weixupeng/p/9510124.html
Copyright © 2020-2023  润新知