Spring 定义Default错误显示页面

本文介绍了如何在Spring MVC中配置Tiles视图解析器及自定义异常处理程序。通过配置XML文件启用Tiles来组装页面视图,并生成最终的HTML页面。此外,还详细展示了如何实现HandlerExceptionResolver接口来自定义异常处理逻辑。

(一)在定义viewResolver等bean的xml文件中

 

<bean id="viewResolver"

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

   <property name="viewClass">

            <description>

  使用Tiles来解析视图,Tiles用来组装页面视图,生成最终的HTML页面。

               除了Tiles外,还可能用Excel、PDF等解析器。

            </description>

            <value>org.springframework.web.servlet.view.tiles.TilesJstlView</value>

        </property>

</bean>

 

<bean id="tilesConfigurer"

          class="org.springframework.web.servlet.view.tiles.TilesConfigurer">

        <property name="definitions">

            <list>

                <value>/WEB-INF/tiles-defs.xml</value>

            </list>

        </property>

</bean>

 

 

添加下面的bean配置

 

<bean id="DefaultExceptionResolver"  class="usertest.util.DefaultExceptionResolver"></bean>

bean id必须要这个,然后自定义的错误处理java程序需要实现HandlerExceptionResolver接口,程序如下:
 

 

 

 

### 解决 Spring MVC 页面跳转 404 错误 #### 配置 DispatcherServlet 的 URL 模式 当 `DispatcherServlet` 请求映射 `<url-pattern>/</url-pattern>` 被设置为 `/` 时,Spring MVC 将拦截所有 Web 容器中的请求,包括静态资源的请求。这种情况下,如果未正确配置静态资源路径,则可能导致 HTML 页面和其他静态资源无法被正常访问,进而引发 404 错误[^2]。 为了确保静态资源能够绕过 `DispatcherServlet` 处理并由容器直接提供服务,在 web 应用程序配置中应加入如下代码片段: ```xml <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.css</url-pattern> <url-pattern>*.js</url-pattern> <!-- 添加其他需要排除的静态资源 --> </servlet-mapping> ``` 或者通过 Java Config 方式实现相同功能: ```java @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } ``` 以上方法可以有效防止因静态资源配置不当引起的 404 错误。 #### 启用注解驱动模式 确认应用程序上下文中已启用了 @RequestMapping 注解的支持。通常是在 springmvc-config 文件里添加如下声明: ```xml <mvc:annotation-driven /> ``` 此配置项用于激活基于注解的功能特性,使得控制器类上的各种 HTTP 方法映射得以生效。缺少这一条目可能会导致即使定义好了 Controller 类也无法成功响应客户端请求而返回 404 状态码[^1]。 #### 查看日志信息排查问题 遇到此类情况还应当仔细查阅 Tomcat 日志文件,特别是 catalina.out 和 localhost.log 这两个主要的日志记录位置。这些日志可以帮助定位具体原因所在,并给出更多解决问题的方向和思路[^3]。 #### 自动扫描配置文件的位置调整 默认情况下,Spring 容器会在 WEB-INF 下查找名为 "springmvc-servlet.xml" 的配置文档来进行初始化工作。然而有时开发者可能更改了实际使用的 XML 文件名或是将其放置到了不同的目录结构内。此时就需要显式指定正确的路径给 contextConfigLocation 参数以确保能顺利加载所需的 Bean 定义数据[^4]。 例如可以在 web.xml 中这样修改: ```xml <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring/appServlet/springmvc-servlet.xml</param-value> </context-param> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值