spring mvc3中异常处理
来源:互联网 发布:师洋淘宝直播 编辑:程序博客网 时间:2024/05/20 16:34
在spring mvc3中,处理异常可以这样做,
首先定义一个自定义的异常类:
1 public class GenericException extends RuntimeException{
private String customMsg;
//getter and setter methods
public GenericException(String customMsg) {
this.customMsg = customMsg;
}
}
2 web.xml
<web-app ...>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/pages/404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/pages/404.jsp</location>
</error-page>
</web-app>
3 控制器
CustomerController.java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import com.mkyong.common.exception.GenericException;
public class CustomerController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
throw new GenericException("Oppss...System error, please visit it later");
}
}
4 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<!-- Register the bean -->
<bean class="com.mkyong.common.controller.CustomerController" />
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="com.mkyong.common.exception.GenericException">
GenericExceptionPage
</prop>
<prop key="java.lang.Exception">error</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
5 要注意的是,这里用了SimpleMappingExceptionResolver,
当抛出com.mkyong.common.exception.GenericException时,会先于web.xml抛出异常,这时就去到
/WEB-INF/pages/GenericExceptionPage.jsp这个页面处理你的自定义异常了
1 public class GenericException extends RuntimeException{
private String customMsg;
//getter and setter methods
public GenericException(String customMsg) {
this.customMsg = customMsg;
}
}
2 web.xml
<web-app ...>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/pages/404.jsp</location>
</error-page>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/WEB-INF/pages/404.jsp</location>
</error-page>
</web-app>
3 控制器
CustomerController.java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;
import com.mkyong.common.exception.GenericException;
public class CustomerController extends AbstractController{
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
throw new GenericException("Oppss...System error, please visit it later");
}
}
4 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean
class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />
<!-- Register the bean -->
<bean class="com.mkyong.common.controller.CustomerController" />
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="com.mkyong.common.exception.GenericException">
GenericExceptionPage
</prop>
<prop key="java.lang.Exception">error</prop>
</props>
</property>
</bean>
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
</beans>
5 要注意的是,这里用了SimpleMappingExceptionResolver,
当抛出com.mkyong.common.exception.GenericException时,会先于web.xml抛出异常,这时就去到
/WEB-INF/pages/GenericExceptionPage.jsp这个页面处理你的自定义异常了
- spring mvc3中异常处理
- spring mvc3中异常处理
- SPRING MVC3.2案例讲解--异常处理
- ASP.NET MVC3 异常处理
- ASP.NET MVC3 异常处理
- ASP.NET MVC3 异常处理
- MVC3全局异常处理与异常日志
- spring mvc3处理默认请求
- ASP.NET MVC3 异常处理 摘抄
- 爱上MVC3系列~全局异常处理与异常日志
- Spring中EmptyResultDataAccessException异常的处理方法
- spring中对异常的统一处理
- Spring 中异常处理方法的总结
- Spring Cloud Zuul中异常处理细节
- spring mvc3中几个Handler Mapping的
- spring mvc3
- Spring异常处理
- Spring:SimpleMappingExceptionResolver异常处理
- 众多Android 开源项目推荐,给力工作给力学习 .
- 假如你想要一样东西就放他走,若他回来便是属于你的
- 中兴VS华为:牛与狼的殊途同归
- oracle中sys和system用户权限的区别
- ARM和X86 一场没有硝烟的战争
- spring mvc3中异常处理
- eclipse中Alt+/提示失效
- VC++实现程序只运行一个实例
- 源数科技JAVA笔试题
- Android安卓41个开源项目 .
- IE IWebBroser2,让你的程序显示网页
- 完美处理弹出键盘,界面上移功能
- Android安卓51个开源代码 .
- 函数调用约定和堆栈