spring MVC静态资源访问问题,resource设置之后只能访问tomcat目录下的

图片说明

按照上图设置之后,访问的是
.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\hotel.app.user\upload里面的资源

我的意思是有没有办法设置spring mvc的静态资源访问,使得可以访问项目根路径下的资源

4个回答

要通过@Controller跳转吗?

如果静态资源的没法统一放在一个目录或固定几个目录下的话,我一般是在web.xml中通过后最配置了,如下

 <!-- 激活Tomcat的defaultServlet来处理静态文件 -->
    <!-- 要写在DispatcherServlet的前面, 让defaultServlet先拦截 -->
    <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>*.png</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.gif</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>default</servlet-name>
        <url-pattern>*.html</url-pattern>
    </servlet-mapping>


  servletName
  /

  强调一下/使用的是/,而不是/*,如果使用/*,那么请求时可以通过DispatcherServlet转发到相应的Action或者Controller中的,但是返回的内容,如返回的jsp还会再次被拦截,这样导致404错误,即访问不到jsp。所以如果以后发现总是有404错误的时候,别忘了check一下 /的配置是否是/*

 
  servletName
  /
 

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐