文档章节

springMVC 请求404异常或静态资源无法访问

BabyMason
 BabyMason
发布于 2015/10/14 16:21
字数 476
阅读 551
收藏 1

springMVC 请求404错误或静态资源无法访问问题:springMVC 请求404错误或静态资源无法访问。 在web.xml中我们一般这样配置:

spring3

org.springframework.web.servlet.DispatcherServlet

1

spring3

/

使用

/

可以实现rest风格,但是会拦截了所有的请求导致静态资源无法访问(解决方法后面说), 当然,如果你使用*.do、*.xhtml等就不会出现静态资源无法访问问题。 静态资源无法访问解决方案: 1,在spring3-servlet.xml中添加一下配置:

使用元素,把mapping的URI注册到SimpleUrlHandlerMapping的urlMap中, key为mapping的URI pattern值,而value为ResourceHttpRequestHandler, 这样就巧妙的把对静态资源的访问由HandlerMapping转到ResourceHttpRequestHandler处理并返回,所以就支持classpath目录,jar包内静态资源的访问. 另外需要注意的一点是,不要对SimpleUrlHandlerMapping设置defaultHandler.因为对static uri的defaultHandler就是ResourceHttpRequestHandler, 否则无法处理static resources request. 如果加上以上配置还是不成功,检查一下是不是没有配置:2,在spring3-servlet.xml中添加一下配置:会把"/**" url,注册到SimpleUrlHandlerMapping的urlMap中,把对静态资源的访问由HandlerMapping转到 org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler 处理并返回. DefaultServletHttpRequestHandler使用就是各个Servlet容器自己的默认Servlet. 推荐使用*.do或方案2,如果你访问一个网站的默认主页(也就是web.xml中配置的welcome-file)index.jsp,一般我们可以类似这样访问:http://localhost:8080/apprecommend-web/ 会自动跳转到http://localhost:8080/apprecommend-web/index.jsp,如果使用方案1,就不能这样访问了,因为spring会拦截所有的请求,但是拦截到的/apprecommend-web/没有匹配的处理action,而且就直接 返回404,不再处理了,如果使用方案2,还会由DefaultServletHttpRequestHandler去调用Servlet容器自己的默认Servlet进行处理,然后返回。

本文转载自:http://www.07net01.com/zhishi/561542.html

BabyMason
粉丝 28
博文 31
码字总数 15527
作品 0
郑州
程序员
私信 提问
(一)SpringMVC之配置DispatcherServlet的一些坑

DispatcherServlet是SpringMVC的核心控制器,就像是SpringMVC的心脏,几乎所有的请求都会经过这个控制器,通过它,大大的降低了模块之间的耦合度。所有学SpringMVC的同学们第一步肯定都是先配...

Java攻城玩家
2018/06/03
0
0
记spring/spring boot中遇到的一些细节问题

1.错误页注册: 404,即page not found ,这类业务错误处理,spring demo是通过error mapping 处理。有两种处理方式,其一是用过注册error controller。其二是通过 ErrorPageRegistrar 注册E...

赵熠熠
2018/12/27
91
2
不学无数——SpringBoot入门V

SpringBoot 1.开发一个Web程序 SpringBoot是非常适合开发Web应用的,因为他内嵌有Tomcat、Jetty、Undertow或者Netty。大部分的应用可以通过加载spring-boot-starter-web模块能够快速的创建并...

不学无数d
2018/07/28
0
0
Spring Boot全局异常处理

Spring Boot默认的异常处理机制 默认情况下,Spring Boot为两种情况提供了不同的响应方式: 一种是浏览器客户端请求一个不存在的页面或服务端处理发生异常时,一般情况下浏览器默认发送的请求...

狼王黄师傅
2018/10/16
261
0
Spring MVC全局异常处理与拦截器校检

在使用Spring MVC进行开发时,总是要对系统异常和用户的异常行为进行处理,以提供给用户友好的提示,也可以提高系统的安全性。 拦截系统响应错误 首先是拦截系统响应错误,这个可以在web.xml...

一号男嘉宾
2015/11/02
2.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

在JavaScript中将数字转换为字符串的最佳方法是什么?

将数字转换为字符串的“最佳”方法是什么(就速度优势,清晰度优势,内存优势等而言)? 一些例子: String(n) n.toString() ""+n n+"" #1楼 如果需要将结果格式设置为特定的小数位数 (例如...

javail
26分钟前
111
0
51单片机中断学习

一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原...

demyar
27分钟前
97
0
创龙TI KeyStone C66x多核定点/浮点DSP TMS320C665x 的拓展IO信号、FMC接口

广州创龙结合TI KeyStone系列多核架构TMS320C665x及Xilinx Artix-7系列FPGA设计的TL665xF-EasyEVM开发板是一款DSP+FPGA高速大数据采集处理平台,其底板采用沉金无铅工艺的6层板设计,适用于高...

Tronlong创龙
28分钟前
90
0
理解虚拟网络

概念 TUN/TAP,veth

认真即可
35分钟前
162
0
聊聊artemis的ServerConnectionLifeCycleListener

序 本文主要研究一下artemis的ServerConnectionLifeCycleListener BaseConnectionLifeCycleListener activemq-artemis-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artem......

go4it
36分钟前
111
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部