当前位置 博文首页 > 一个搬砖的农民工的博客:springMVC静态资源配置(访问不了静态

    一个搬砖的农民工的博客:springMVC静态资源配置(访问不了静态

    作者:[db:作者] 时间:2021-08-07 22:05

    首先因为我们会在web.xml配置spingMVC拦截器,里面有一个<url-pattern>/</url-pattern>,这里斜杠的意思就是拦截所有请求,包括我们的静态资源。因此像http://localhost:8080/LogisticsServiceSystem/web.html这样的请求是访问不了我们的任何静态资源的。比如images/home.pngweb.html这样的

    <servlet>
        <servlet-name>springMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>/WEB-INF/springMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
        <async-supported>true</async-supported>
      </servlet>
      <servlet-mapping>
        <servlet-name>springMVC</servlet-name>
        <url-pattern>/</url-pattern>
      </servlet-mapping>
    

    所以可以在spirngMVC.xml(我这里是springMVC-servlet.xml
    里面加一句
    <mvc:default-servlet-handler/>


    他的意思是在加载默认静态资源时不对DispatcherServlet请求做拦截,这时就可以访问到images,css,js等静态资源了。

    我的目录如下:
    在这里插入图片描述
    如果不管用可以参考下面这个方法:

    我遇到的问题是文件权限问题。我把images,css,js复制到我静态资源目录下面。无论是在html里面访问图片,还是通过网址都访问不了。
    后面我把图片直接 到我的项目中,就成功解决了。
    我猜想复制粘贴继承的是目录下的权限,所以不能被访问。
    而拉到项目中后源文件就消失了。这时候继承的是我这个项目目录的权限。

    其他配置:

    扫描controller和restcontroller注解:
    <context:component-scan base-package="com.*" />
    requestMappring映射:
    <mvc:annotation-driven/>
    加载某些springMVC注解包
    <context:annotation-config />

    以上是我搭建基于maven的spirngmvc框架遇到的问题,做个记录,希望能对你有所帮助!

    cs