您当前的位置: 首页 >  http

衣舞晨风

暂无认证

  • 0浏览

    0关注

    1156博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Spring MVC静态资源拦截(No mapping found for HTTP request with URI in DispatcherServlet with name ' ')问题

衣舞晨风 发布时间:2016-08-17 22:02:36 ,浏览量:0

程序加载或用浏览器访问静态资源时出现以下的警告:

No mapping found for HTTP request with URI [/] in DispatcherServlet with name ”

问题原因:默认的访问的URL都会被DispatcherServlet所拦截,从web.xml下对spring mvc的DispatcherServlet请求url映射的配置可以看出,具体配置如下:


        hello-dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/application.xml
        
        1
    
    
        hello-dispatcher
        /
    
/

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

那么如何访问自己需要的静态资源文件呢? 解决方案一(告诉spring 静态资源的处理方式):

 

解决方案二:


        hello-dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/application.xml
        
        1
    
    
        hello-dispatcher
        /.jsp
    

告诉spring mvc只拦截对于某一类文件的请求,比如上面配置的只拦截对于后缀为jsp文件的访问。 解决方案三:

    
        hello-dispatcher
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/application.xml
        
        1
    
    
        hello-dispatcher
        /
    
    
        default
        *.js
    

告诉spring mvc 对于后缀为js的文件是可以访问的。依次类推,需要访问其他资源文件时可以通过servlet-mapping追加。

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

关注
打赏
1647422595
查看更多评论
立即登录/注册

微信扫码登录

0.1557s