SpringMVC ExceptionHandler 可以传递的参数及返回值
2016-04-12 10:15
344 查看
使用
一个异常参数。声明一个一般性的异常或者更加具体的异常
Request 和/或 response 对象(Servlet API 或 Portlet API)。可以选择一个特定 request/response的类型,比如
Session 对象 (Servlet API 或Portlet API)。可以是 HttpSession ,也可以是PortletSession。这种类型的参数强制要求存在一个会话。因此,这个参数不能为
Model
异常处理方法支持的返回值类型:
被解析成一个视图名称的
在Servlet环境中,可以将@ResponseStatus 与ExceptionHandler结合使用,来定义HTTP响应的响应状态
ExceptionHandler注解的异常处理方法可以使用很灵活的方法签名。可以使用以下类型的参数,参数可以以任意书序传递。
一个异常参数。声明一个一般性的异常或者更加具体的异常
Request 和/或 response 对象(Servlet API 或 Portlet API)。可以选择一个特定 request/response的类型,比如
ServletRequest/
HttpServletRequest或
PortletRequest/
ActionRequest/
RenderRequest.
Session 对象 (Servlet API 或Portlet API)。可以是 HttpSession ,也可以是PortletSession。这种类型的参数强制要求存在一个会话。因此,这个参数不能为
null。请注意,会话访问可能是非线程安全的,特别是在一个Servlet环境中。如果多个请求可以访问一个会话,请考虑将
synchronizeOnSession标志修改为
"true";
WebRequest或
NativeWebRequest
Locale
InputStream / Reader访问请求内容
OutputStream / Writer生成响应内容
Model
异常处理方法支持的返回值类型:
ModelAndView对象 (Servlet MVC or Portlet MVC)
Model对象, 通过
RequestToViewNameTranslator隐式确定的一个视图名称.
Map对象, 通过
RequestToViewNameTranslator隐式确定的一个视图名称
View对象
被解析成一个视图名称的
String值
@ResponseBody注解的方法 (仅限Servlet) 设置响应内容
HttpEntity<?>或
ResponseEntity<?>(仅限Servlet) 设置响应头和响应内容
void。方法自己处理了响应(通过直接写响应内容,需要声明一个属于
ServletResponse/
HttpServletResponse/
RenderResponse类型的参数)或者通过
RequestToViewNameTranslator隐式确定的一个视图名称(没有在方法签名中声明任何响应参数,仅适用于Servlet环境)
在Servlet环境中,可以将@ResponseStatus 与ExceptionHandler结合使用,来定义HTTP响应的响应状态
相关文章推荐
- 如何优雅地处理前端异常?
- C#异常处理详解
- 轻松学习C#的异常处理
- PHP异常处理Exception类
- JS异常处理的一个想法(sofish)
- PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
- PHP如何抛出异常处理错误
- PHP中的错误处理、异常处理机制分析
- js中的异常处理try...catch使用介绍
- php5编程中的异常处理详细方法介绍
- php异常处理使用示例
- Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)实现代码
- javascript 异常处理使用总结
- java多线程中的异常处理机制简析
- 深入理解Java编程中异常处理的优劣
- 分享一个php 的异常处理程序
- 简单了解Java编程中对异常处理的运用
- 深入剖析Java中的各种异常处理方式
- JS中的异常处理方法分享
- 一些.NET对多线程异常处理技巧分享