zoukankan      html  css  js  c++  java
  • springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源?

    一.springmvc

    springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给DispatcherServlet处理,就会因为找不到资源的映射出现404的问题:

    No mapping found for HTTP request with URI [/templates/file/test.xlsx] in DispatcherServlet with name 'dispatcherServlet'
    

    解决办法:

    1.服务器的defaultServlet

    以tomcat为例,在 web.xml中增加配置

    <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>  
     <servlet-mapping>
         <servlet-name>default</servlet-name>
         <url-pattern>*.xlsx</url-pattern>
     </servlet-mapping>  

    2.spring的mvc:resources 配置

    spring在3.0.4之后提供了对系统静态资源文件访问

    <mvc:resources mapping="/files/**" location="/files/" />
    

    使用 <mvc:resources/> 元素,把 mapping 的 URI 注册到 SimpleUrlHandlerMapping的urlMap 中,key 为 mapping 的 URI pattern值,而 value为 ResourceHttpRequestHandler,这样就巧妙的把对静态资源的访问由 HandlerMapping 转到ResourceHttpRequestHandler 处理并返回,所以就支持 classpath 目录, jar 包内静态资源的访问.
    另外需要注意的一点是,不要对 SimpleUrlHandlerMapping 设置 defaultHandler. 因为对 static uri 的 defaultHandler 就是ResourceHttpRequestHandler,否则无法处理static resources request.

    二.springboot

    在application.properties增加配置:

    spring.mvc.static-path-pattern=/dist/**
    spring.resources.static-locations=classpath:webapp/dist/
    

    spring.mvc.static-path-pattern:指定静态文件类型
    spring.resources.static-locations:指定静态文件路径

  • 相关阅读:
    最快的csv文件入到数据库的方法
    (转)CString,int,string,char*之间的转换
    多线程实现
    同时取得架构和表名
    (转)颠覆你对方法调用的看法!
    TabControl控件和TabPage
    GridControl事件
    SharpICTCLAS分词系统简介
    idea maven新建struts2项目
    servlet-mysql实现简单用户登录注册
  • 原文地址:https://www.cnblogs.com/wollow/p/10840026.html
Copyright © 2011-2022 走看看