zoukankan      html  css  js  c++  java
  • <mvc:resources mapping="/xxx/**" location="/xxx/"/>无效,可能和Controller的URL模式有关

    某项目webapp下有子目录res,其中有img、css、js等存放静态资源的文件夹。

    在定义了dispacher-servlet的<url-pattern>/</url-pattern>后,

        
        <!-- 配置DispatcherServlet -->
        <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        

    为访问静态资源,特别在dispacher-servlet.xml定义了<mvc:resource/>标签

        <!-- 注解驱动 -->
        <mvc:annotation-driven />
    
        <!-- 静态资源访问,约定:静态资源都放在web应用根的res文件夹中 -->
        <mvc:resources location="/res/" mapping="/res/**" />

    随后定义了HomeController,如下:

    @Controller
    public class HomeController { @RequestMapping(method=RequestMethod.GET) public String home() { return "home"; } }

    结果,无法访问静态资源

    为Controller加上url模式,

    @Controller
    public class HomeController {
    
        @RequestMapping(value="/", method=RequestMethod.GET)
        public String home() {
            return "home";
        }
    }

    之后,访问静态资源正常了。

  • 相关阅读:
    7
    6
    5.1
    5
    C#类库帮助类
    Asp.net 数据库依赖那些事
    C#使用NLog记录日志
    JQuery常用操作实现方式
    常用Sql 标量值函数
    Sql语句查询XML
  • 原文地址:https://www.cnblogs.com/godwithus/p/10392536.html
Copyright © 2011-2022 走看看