用springspringmvc 拦截器json咋样返回json

用spring拦截器咋样返回json_百度知道
用spring拦截器咋样返回json
提问者采纳
  楼主针问题简单直接用response传传象自格式化jsonOK
其他类似问题
为您推荐:
json的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你寻找的是:;重新搜一下:
上次更新日期: &·&
类别: spring&&#0183;&博客等级: 11SpringMVC拦截器简单使用 杂谈 一、拦截器的配置 1、传统的配置 Xml代码 &bean class=&org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping& ….cn/s/blog_acfebcee01011vgz.htmlMVC的拦截器 经本人在Spring mvc中对方案1和方案2的测试表明,并没有拦截静态资源,所以可以放心使用方案1和方案2,方案3可以放弃,并且可以放心使用 ...</yangzhilong/p/3725849.html
spring mvc过滤器_拦截器过滤器_rest token cookie_拦截器返回json_spring mvc拦截器_spring mvc_onceperrequestfilter/news/6287.html上次更新日期: &&#0183;&1 条评论&&#0183;&查看次数 4,532&&#0183;&博客积分: 5297使用SpringMVC的拦截器 需要继承HandlerInterceptorAdapter类 package com.zf.import java.util.Iimport java.util.Mimport javax.servlet.http ...blog.csdn.net/is_zhoufeng/article/details/7557676上次更新日期: &&#0183;&3 条评论&&#0183;&类别: SpringMVC 拦截器&&#0183;&查看次数 30,311经过一天的奋战,终于会使用了SpringMVC,下面讲下他的拦截器。使用SpringMVC拦截器和Struts2一样,Spring MVC也可以使用拦截器对请求进行拦截处理 ...blog.csdn.net/tjcyjd/article/details/7498236Spring MVC,拦截器实现session控制,未登录,不允许访问background文件夹内的页面,那如何判断是否登录呢?background是关键目录 ... 本文基于Spring MVC .../Linux/05.htm拦截器 --& &mvc:interceptors& &!-- 多个拦截器,顺序执行 --& &mvc:interceptor& &mvc:mapping path=&/entryOrJsonController/*& /&&!-- 如果 .../content/14/65.shtml一、拦截器的配置 1、传统的配置 &bean class=&org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping& …www.fanli7.net/a/bianchengyuyan/C__/250.htmlspring mvc 有两种配置:(1)注解;(2)基于xml(schema)。 公司要求使用xml方式的,其实在我看来注解更方便; 如何使用xml配置spring mvc的拦截器呢?/articles/FfAjaaSpringMVC 拦截器的问题,解决方案1: xhr不会自动处理302响应...自己实现 实际上ajax请求无权限,考虑下返回403或者返回一个json对象会更好 解决方案2 .../osk/187.htmlspringmvc 拦截器 json 的相关搜索111,000 条结果分页链接:/blog/1297746 (附源码)
链接:/blog/983801
链接:/xguo/p/3163519.html
链接:/blog/947191
链接:http://blog.csdn.net/FansUnion/article/details/
链接:/blog/1547197(附源码)
Spring3.0对异常的处理通过HandlerExceptionResolver来实现。HandlerExceptionResolver有4个实现类DefaultHandlerExceptionResolver、AnnotationMethodExceptionResolver、ResponseStatusExceptionResolver、SimpleMappingExceptionResolver。
Spring3.0对异常的处理主要可通过这两种方式:一种是使用HandlerExceptionResolver接口;一种是在@Controller处理器内部使用@ExceptionHandler注解。使用第一种方式可以实现全局异常控制,并且Spring已经提供了一个默认的实现类SimpleMappingExceptionResolver;使用第二种方式可以在Controller内部实现更个性化异常处理方式。
---方式一:HandlerExceptionResolver接口,复写resolveException()方法
springmvc通过HandlerExceptionResolver处理程序的异常,该接口仅有一个方法ModelAndView
resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)。我们可复写该方法实现全局异常的处理。
当发生异常时,springmvc会调用resolveException()方法,并返回一个ModelAndView对象。如果该方法返回了null,Spring会搜索所有注册在其环境中的实现了HandlerExceptionResolver接口的Bean,逐个执行,直到返回一个ModelAndView对象,最后转到ModelAndView对应的视图作为一个异常报告页面!
* 基于HandlerExceptionResolver接口的异常处理类
* 这个类必须声明到Spring中去,让Spring管理它,你可以使用@Component标签:
&context:component-scan base-package=&test.*& /&
* 或者使用在配置文件通过&bean/&节点配置:
&bean id=&exceptionResolver& class=&test.CustomExceptionHandler &/&
@Component
public class CustomExceptionHandler implements HandlerExceptionResolver {
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object object, Exception exception) {
if(exception instanceof IOException){
return new ModelAndView(&ioexp&);
}else if(exception instanceof SQLException){
return new ModelAndView(&sqlexp&);
---区分ajax请求和普通http请求进行异常处理返回:
* 说明:当在系统应用中出现普通异常时,根据是系统异常还是应用异常,跳到相应的界面,
* 当ajax异常时,在ajax的error中可直接获得异常。普通的异常我们都配置好了界面,系统会自动跳转。
public class CustomSimpleMappingExceptionResolver extends SimpleMappingExceptionResolver {
protected ModelAndView doResolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
// Expose ModelAndView for chosen error view.
String viewName = determineViewName(ex, request);
if (viewName != null) {// JSP格式返回
if (!(request.getHeader(&accept&).indexOf(&application/json&) & -1 || (request
.getHeader(&X-Requested-With&)!= null && request
.getHeader(&X-Requested-With&).indexOf(&XMLHttpRequest&) & -1))) {
// 如果不是异步请求
// Apply HTTP status code for error views, if specified.
// Only apply it if we&re processing a top-level request.
Integer statusCode = determineStatusCode(request, viewName);
if (statusCode != null) {
applyStatusCodeIfPossible(request, response, statusCode);
return getModelAndView(viewName, ex, request);
} else {// JSON格式返回
PrintWriter writer = response.getWriter();
writer.write(ex.getMessage());
writer.flush();
} catch (IOException e) {
e.printStackTrace();
---方式二:@ExceptionHandler
AnnotationMethodExceptionResolver:springmvc也默认配置了AnnotationMethodExceptionResolver,它允许通过@ExceptionHandler指定处理特定异常的方法。@ExceptionHandler:处理同一个类内触发的局部异常(如果要让其处理多个需拦截异常的处理器,则可另其他类继承此类!)
@Controller
//可以被其他处理器继承
public class MyExceptionFilter {
//该处理器类中的所有方法抛出的异常都可由此方法捕获并处理
//该注解也可制定多个异常类,如@ExceptionHandler(value={IOException.class,SQLException.class})
@ExceptionHandler(Exception.class)
public String handleException(Exception e, HttpServletRequest req) {
System.out.println(&exception name: & + e.getClass().toString());//异常名
System.out.println(&exception cause: & + e.getCause());
System.out.println(&exception msg: & + e.getLocalizedMessage());
//e.printStackTrace();
StackTraceElement[] ste = e.getStackTrace();
StringBuffer sb_e = new StringBuffer();
for(int j=0;j&ste.j++){
if(ste[j].toString().contains(&xxxx&)) {
sb_e.append(ste[j].toString()+&,
System.out.println(&Exception detail: &);//异常详细信息
System.out.println(sb_e.toString());
StringBuffer sbUrl = new StringBuffer();//拼url
System.out.println(&request method: &+req.getMethod());//get,post
System.out.println(&request encode: & + req.getCharacterEncoding());//编码
System.out.println(&request mapping: &+req.getRequestURL().toString());//请求url方法
sbUrl.append(req.getRequestURL().toString());
Enumeration en = req.getParameterNames();//请求参数-值
for(int i=0; en.hasMoreElements(); i++){
String arg = en.nextElement().toString();
sbUrl.append(&?&);
sbUrl.append(&&&);
sbUrl.append(arg + &=& + req.getParameterValues(arg)[0]);
System.out.println(&request url: & + sbUrl.toString());
if(ex instanceof BusinessException) {
return &error-business&;
}else if(ex instanceof ParameterException) {
return &error-parameter&;
return &error&;
return &forward:error.jsp&;
---方式三:SimpleMappingExceptionResolver
SimpleMappingExceptionResolver:可对全局异常进行统一处理。
&bean class=&org.springframework.web.servlet.handler.SimpleMappingExceptionResolver&&
&!--设置日志输出级别,不定义则默认不输出警告等错误日志信息。链接:/blog/875830 --&
&property name=&warnLogCategory& value=&WARN& /&
&!-- 默认错误页面,就是不在exceptionMappings指定范围内 --&
&property name=&defaultErrorView& value=&error&&&/property&
&!-- 定义需要特殊处理的异常,如当发生IOException异常时跳转到error/ioexp视图--&
&property name=&exceptionMappings&&&span style=&font-family: Arial, Helvetica, sans-&&&!—key为异常类,可以是全路径,错误页面或Controller路径!会自动跳转到对应url --&&/span&
&prop key=&IOException&&redirect:/login&/prop&
&prop key=&java.sql.SQLException&&error/sqlexp&/prop&
&/property&
---方式四:&error-page&
DefaultHandlerExceptionResolver:Springmvc默认装配了DefaultHandlerExceptionResolver,它会将springmvc的异常转换成对应的响应状态码(500,404等)。对于Unchecked Exception而言,由于代码不强制捕获,往往被忽略,如果运行期产生了Unchecked Exception,而代码中又没有进行相应的捕获和处理,则我们可能不得不面对尴尬的404、500……等服务器内部错误提示页面。
我们需要一个全面而有效的异常处理机制。目前大多数服务器也都支持在web.xml中通过&error-page&(Websphere/Weblogic)或者&error-code&(Tomcat)节点配置特定异常情况的显示页面。(springmvc)操作如下:
1.在web.xml中配置响应状态码对应的页面,如:
&error-page&
&error-code&500&/error-code&
&location&/WEB-INF/pages/error/500.jsp&/location&
&/error-page&
&!-- 未捕获的错误,同样可指定其它异常类,或自定义异常类 --&
&error-page&
&exception-type&java.lang.Exception&/exception-type&
&location&/uncaughtException&/location&
&/error-page&
2. applicationContext.xml中配置
&!-- 错误路径和错误页面,注意指定viewResolver --&
&mvc:view-controller path=&/404& view-name=&404&/&
&mvc:view-controller path=&/500& view-name=&500&/&
&mvc:view-controller path=&/uncaughtException& view-name=&uncaughtException&/&
附:.hk/search?newwindow=1&safe=strict&espv=210&es_sm=93&q=error+page%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8&revid=&sa=X&ei=ORwOU7K_INKbiQeTjIG4BA&ved=0CIcBENUCKAE&biw=1440&bih=737
---方式五:Spring3.2新注解@ControllerAdvice
链接:/blog/1866350
@ControllerAdvice,是spring3.2提供的新注解。会把@ControllerAdvice注解内部使用@ExceptionHandler、@InitBinder、@ModelAttribute注解的方法应用到所有的 @RequestMapping注解的方法(全局的)
有一次发现springmvc3.2.x的@ControllerAdvice注解不起作用,参考链接/linux/spring3_2_mvc__ControllerAdvice_buqizuoyong_5786240.html加上@EnableWebMvc后就可以了。但是,后来又发现会导致这个原因是因为项目的springmvc配置文件中没有配置&mvc:annotation-driven /&,于是将其配置上。但是配置上&mvc:annotation-driven /&后问题就来了,启动的时候就报异常,看了下原因,感觉是@EnableWebMvc注解导致的,于是将该注解删除掉,果然就正常启动了。不过,至于其中的原理还是理解不深刻,不知道内部是怎么调用的,只是发现当配置上&mvc:annotation-driven /&的时候不应该用@EnableWebMvc修饰@ControllerAdvice。(待研究)附链接:/blog/1738599。/?p=196。
测试后发现,当全局异常和局部异常都存在时,全局异常处理会被局部异常处理覆盖。
* 全局异常
//@EnableWebMvc
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(Exception.class)
public String handleException(Exception re, HttpServletRequest request) {
System.out.println(&error.......&);
return &forward:error.jsp&;
相关 [spring mvc 异常处理] 推荐:
- 编程语言 - ITeye博客
链接:/blog/1297746 (附源码). 链接:/blog/983801 . 链接:/xguo/p/3163519.html . 链接:/blog/947191 .
- 互联网 - ITeye博客
源:/blog/1547197. 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理. 每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大.
- 博客园_首页
Spring MVC中异常处理的类体系结构. 下图中,我画出了Spring MVC中,跟异常处理相关的主要类和接口. 在Spring MVC中,所有用于处理在请求映射和请求处理过程中抛出的异常的类,都要实现HandlerExceptionResolver接口. AbstractHandlerExceptionResolver实现该接口和Orderd接口,是HandlerExceptionResolver类的实现的基类.
- CSDN博客架构设计推荐文章
Web层面的框架学习了三个Struts1和2,SpringMVC,那他们之间肯定存在一个优劣和适用的环境,Struts1和2的异同点我已经做过对比《
Struts1和Struts2》,这篇将对比下Struts2和SpringMVC的异同,下面数据基本来源于网络,本人是搜集整理所得,供大家参考. 一个项目使用什么样的技术,决定的因素很多,我所能想到的有:对系统的性能、开发的效率、团队学习的成本、业务场景等,下面尽量从这几个方面入手,来分析比较下他们之间存在的优劣.
- CSDN博客推荐文章
springmvc 框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Spring MVC的总控制,它负责截获请求并将其分派给相应的处理器处理. SpringMVC框架包括注解驱动控制器、请求及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理以及表单标签绑定等内容.
- 码蜂笔记
项目组用了 Spring MVC 进行开发,觉得对里面的使用方式不是很满意,就想,如果是我来搭建开发环境,我会怎么做. 下面就是我的想法,只关注于 MVC 的 View 层. 现在基本上都是用 ajax 来调用后台接口,拿到 json格式的数据再展示,有的人直接返回数据,却没有考虑异常的情况,我觉得返回的报文里必须包含表示可能的异常信息的数据和业务响应数据.
- Java译站
10年前我开始自己的职业生涯的时候,Struts还是市场上的主流标准. 然而多年过后,我发现Spring MVC已经越来越流行了. 对我而言这并不意外,因为它能和Spring容器无缝集成,同时它还提供了灵活性及扩展性. 从我迄今为止对Spring的经验来看,我发现有不少人在配置Spring的时候经常会犯一些常见的错误.
- 企业架构 - ITeye博客
大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了. Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀. 官方的下载网址是:
http://www.springsource.org/download
(本文使用是的Spring 3.0.5版本).
- 企业架构 - ITeye博客
Spring MVC Controller单例陷阱. 标签:Spring mvc. 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明. Spring MVC Controller默认是单例的:. 1、这个不用废话了,单例不用每次都new,当然快了. 2、不需要实例会让很多人迷惑,因为spring mvc官方也没明确说不可以多例.
- 企业架构 - ITeye博客
一般情况下,对来自浏览器的请求的拦截,是利用Filter实现的,这种方式可以实现Bean预处理、后处理. Spring MVC的拦截器不仅可实现Filter的所有功能,还可以更精确的控制拦截精度. Spring为我们提供了org.springframework.web.servlet.handler.HandlerInterceptorAdapter这个适配器,继承此类,可以非常方便的实现自己的拦截器.
坚持分享优质有趣的原创文章,并保留作者信息和版权声明,任何问题请联系:@。查看:15976|回复:4
本帖参与全民原创月活动:
使用Spring MVC 4构建RESTful服务相对于其它框架来说,有很多优势。首先,Spring MVC 4作为Spring的框架之一,可以很好地与Spring进行集成。其次,Spring MVC 4的拦截器是在方法层级上的拦截,相对于其它MVC框架(如Struts2)的拦截器具有更高的效率。再者,Spring MVC 4采用基于注解的配置,入手容易,开发灵活。
& & Spring MVC 4采用的是jacson解析JSON。jacson一款非常高效强大的JSON工具类,可以轻松地在JAVA对象与json对象和XML文档之间进行序列化和反序列化。本文中的例子采用的是Spring 4.1.1.RELEASE和jacson 2.4.0版本,经测试无任何异常。接下来,上干货:
& & 开发环境准备:
& && &&&Eclipse Luna
& && &&&Apache Tomcat 8.0
& && &&&JDK 1.7
& && &&&Spring 4.1.1.RELEASE
& && &&&jackson 2.4.0
& & 工程目录如下:
& & 1. 新建Maven Project,选择在“Archetype类型”中,选择“maven-archetype-webapp”。
& & 2. 在Pom.xml中添加
Maven 依赖,从而可以使用 Spring和jackson中的特性。如果读者使用的是Dynamic Web Project,可以从Maven仓库下载对的Spring Jar和 jacson jar。
& & Spring的Maven仓库地址:
& & jackson的Maven仓库地址:
xmlns=&http://maven.apache.org/POM/4.0.0&
xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
xsi:schemaLocation=&http://maven.apache.org/POM/4.0.0 &&
&&&modelVersion&4.0.0&/modelVersion&
&&&groupId&com.favccxx.favsoft&/groupId&
&&&artifactId&favspringmvcrestful&/artifactId&
&&&packaging&war&/packaging&
&&&version&0.0.1-SNAPSHOT&/version&
&&&name&favspringmvcrestful Maven Webapp&/name&
&&&url&&/url&
&&&properties&
& && &&spring.version&4.1.1.RELEASE&/spring.version&
& && &&jackson.version&2.4.0&/jackson.version&
&&&/properties&
&&&dependencies&
& & &dependency&
& && &&groupId&junit&/groupId&
& && &&artifactId&junit&/artifactId&
& && &&version&3.8.1&/version&
& && &&scope&test&/scope&
& & &/dependency&
& & &dependency&
& && &&&&groupId&org.springframework&/groupId&
& && &&&&artifactId&spring-core&/artifactId&
& && &&&&version&${spring.version}&/version&
& & &/dependency&
& & &dependency&
& && &&&&groupId&org.springframework&/groupId&
& && &&&&artifactId&spring-webmvc&/artifactId&
& && &&&&version&${spring.version}&/version&
& & &/dependency&
& & &dependency&
& && &&&&groupId&org.springframework&/groupId&
& && &&&&artifactId&spring-beans&/artifactId&
& && &&&&version&${spring.version}&/version&
& & &/dependency&
& & &dependency&
& && &&&&groupId&org.springframework&/groupId&
& && &&&&artifactId&spring-context&/artifactId&
& && &&&&version&${spring.version}&/version&
& & &/dependency&
& & &dependency&
& && &&groupId&com.fasterxml.jackson.core&/groupId&
& && &&artifactId&jackson-core&/artifactId&
& && &&version&${jackson.version}&/version&
& & &/dependency&
& & &dependency&
& && &&groupId&com.fasterxml.jackson.core&/groupId&
& && &&artifactId&jackson-annotations&/artifactId&
& && &&version&${jackson.version}&/version&
& & &/dependency&
& & &dependency&
& && &&groupId&com.fasterxml.jackson.core&/groupId&
& && &&artifactId&jackson-databind&/artifactId&
& && &&version&${jackson.version}&/version&
& & &/dependency&
& & &dependency&
& && &&&&groupId&jstl&/groupId&
& && &&&&artifactId&jstl&/artifactId&
& && &&&&version&1.2&/version&
& & &/dependency&
& & &dependency&
& && &&&&groupId&taglibs&/groupId&
& && &&&&artifactId&standard&/artifactId&
& && &&&&version&1.1.2&/version&
& & &/dependency&
&&&/dependencies&
& & &finalName&favspringmvcrestful&/finalName&
&&&/build&
&/project&
3.在 web.xml中,配置Spring MVC 4 的DispatcherServlet转发和编码。
&?xml version=&1.0& encoding=&UTF-8&?&
&web-app version=&2.4& xmlns=&/xml/ns/j2ee&
& & xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
& & xsi:schemaLocation=&/xml/ns/j2ee
& & /xml/ns/j2ee/web-app_2_4.xsd&&
& & &display-name&favblog&/display-name&
& & &context-param&
& && &&&&param-name&contextConfigLocation&/param-name&
& && &&&&param-value&&/param-value&
& & &/context-param&
& & &filter&
& && &&&&filter-name&encodingFilter&/filter-name&
& && &&&&filter-class&org.springframework.web.filter.CharacterEncodingFilter&/filter-class&
& && &&&&init-param&
& && && && &&param-name&encoding&/param-name&
& && && && &&param-value&UTF-8&/param-value&
& && &&&&/init-param&
& && &&&&init-param&
& && && && &&param-name&forceEncoding&/param-name&
& && && && &&param-value&true&/param-value&
& && &&&&/init-param&
& & &/filter&
& & &filter-mapping&
& && &&&&filter-name&encodingFilter&/filter-name&
& && &&&&url-pattern&/*&/url-pattern&
& & &/filter-mapping&
& & &listener&
& && &&&&listener-class&org.springframework.web.context.ContextLoaderListener&/listener-class&
& & &/listener&
& & &servlet&
& && &&&&servlet-name&springMVC&/servlet-name&
& && &&&&servlet-class&org.springframework.web.servlet.DispatcherServlet&/servlet-class&
& && &&&&init-param&
& && && && &&param-name&contextConfigLocation&/param-name&
& && && && &&param-value&classpath*:spring-context.xml&/param-value&
& && &&&&/init-param&
& && &&&&load-on-startup&1&/load-on-startup&
& & &/servlet&
& & &servlet-mapping&
& && &&&&servlet-name&springMVC&/servlet-name&
& && &&&&url-pattern&/&/url-pattern&
& & &/servlet-mapping&
&/web-app&
&?xml version=&1.0& encoding=&UTF-8&?&
&beans xmlns=&http://www.springframework.org/schema/beans&
& & xmlns:xsi=&http://www.w3.org/2001/XMLSchema-instance&
& & xmlns:context=&http://www.springframework.org/schema/context&
& & xmlns:mvc=&http://www.springframework.org/schema/mvc&
& & xsi:schemaLocation=&http://www.springframework.org/schema/beans
& && &&&http://www.springframework.org/schema/context
& && &&&http://www.springframework.org/schema/mvc &&
& & &context:component-scan base-package=&com.favccxx.favsoft.favjson.controller&&&/context:component-scan&
& & &mvc:annotation-driven&&/mvc:annotation-driven&
& & &bean id=&viewResolver& class=&org.springframework.web.servlet.view.UrlBasedViewResolver&&
& && &&&&property name=&viewClass&
& && && && &value=&org.springframework.web.servlet.view.JstlView& /&
& && &&&&property name=&prefix& value=&/WEB-INF/views& /&
& && &&&&property name=&suffix& value=&.jsp& /&
& & &/bean&
4.新建 FavUser.java 类,测试JSON与Object之间的映射。需要注意的是,如果想对日期进行格式化,在其Getter方法上,使用 @JsonFormat 即可,这样就能输出符合pattern类型的日期,但是这同时也要求输入的日期参数也必须是pattern类型的。
package com.favccxx.favsoft.favjson.
import java.util.D
import com.fasterxml.jackson.annotation.JsonF
public class FavUser {
& & private String userId;
& & private String userN
& & private int userA
& & private Date createD
& & public String getUserId() {
& && &&&return userId;
& & public void setUserId(String userId) {
& && &&&this.userId = userId;
& & public String getUserName() {
& && &&&return userN
& & public void setUserName(String userName) {
& && &&&this.userName = userN
& & public int getUserAge() {
& && &&&return userA
& & public void setUserAge(int userAge) {
& && &&&this.userAge = userA
& & @JsonFormat(pattern=&yyyy-MM-dd HH:mm:ss&)
& & public Date getCreateDate() {
& && &&&return createD
& & public void setCreateDate(Date createDate) {
& && &&&this.createDate = createD
5. 新建FavRestfulController,通过不同的方法测试Spring MVC 4 返回String、Object类型的JSON。
package com.favccxx.favsoft.favjson.
import java.io.IOE
import org.springframework.web.bind.annotation.RequestB
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestM
import org.springframework.web.bind.annotation.RequestP
import org.springframework.web.bind.annotation.RestC
import com.fasterxml.jackson.core.JsonParseE
import com.fasterxml.jackson.databind.JsonMappingE
import com.fasterxml.jackson.databind.ObjectM
import com.favccxx.favsoft.favjson.pojo.FavU
@RestController
public class FavRestfulController {
& & @RequestMapping(value=&/getUserName&,method=RequestMethod.POST)
& & public String getUserName(@RequestParam(value=&name&) String name){
& & @RequestMapping(&getFavUser&)
& & public FavUser getFavUser(@RequestParam(&userName&) String userName,String userId,int userAge){
& && &&&FavUser favUser = new FavUser();
& && &&&favUser.setUserId(userId);
& && &&&favUser.setUserName(userName);
& && &&&favUser.setUserAge(userAge);
& && &&&return favU
& & @RequestMapping(&getFavUserBody&)
& & public FavUser getFavUserBody(@RequestBody String body){
& && &&&ObjectMapper mapper = new ObjectMapper();
& && &&&FavUser favUser =
& && &&&try {
& && && && &favUser = mapper.readValue(body,&&FavUser.class);
& && &&&} catch (JsonParseException e) {
& && && && &e.printStackTrace();
& && &&&} catch (JsonMappingException e) {
& && && && &e.printStackTrace();
& && &&&} catch (IOException e) {
& && && && &e.printStackTrace();
& && &&&return favU
6.运行结果如下:
感谢分享、、、学习啦
太阳光芒万丈却不及蜡烛只为一人照亮、、、
引用:原帖由 IT妖姬 于
22:14 发表
感谢分享、、、学习啦 共同分享,互相学习
你好,问下使用跟你类似的方法,在ajax调用的时候无法返回数据,能帮忙解答下吗?qq
你这个测试界面是一个工具吗?}

我要回帖

更多关于 spring 拦截返回值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信