- 浏览: 218466 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (397)
- j2se (28)
- nio (3)
- 易错点 (3)
- 面试ssh (9)
- ssh整合 (11)
- jbpm+spring (2)
- js (15)
- 高级技术 (59)
- swing (3)
- 数据库 (16)
- hibernate (18)
- spring (19)
- 开发网站知识点 (9)
- jbpm (4)
- json (5)
- 设计模式 (22)
- 自定义标签 (1)
- j2ee (9)
- lucene (3)
- cahce (11)
- maven (5)
- html5 (1)
- 多数据源 (10)
- 页面聊天 (9)
- 富客户端 (1)
- android (13)
- aop+拦截器+jms (13)
- 框架整合 (1)
- 非阻塞io (24)
- 暂时不看 (13)
- webservice (3)
- oracle (3)
- 算法 (4)
- 协程 (2)
- netty (1)
- 爬虫 (0)
- 高级基础 (1)
- JVM调优总结 (12)
- 知识点技巧 (1)
- REST (0)
- 基础 io (2)
- dubbo (8)
- 线程 (1)
- spring源码 (2)
- git (1)
- office (2)
最新评论
-
sjzcmlt:
,写的挺好的啊
一个完整的负载均衡的例子 . -
他大姨妈:
网上大部分例子都是直接通过IdleStateHandler来实 ...
Netty的超时机制 心跳机制
spring mvc就是好,特别是rest风格的话,一个
org.springframework.web.servlet.view.ContentNegotiatingViewResolver就可以根据不同的场景返回不同的view了,比如返回json,xml,pdf等.马上看代码实现
先是一个简单的pojo
注意使用@XmlRootElement标签之。
然后是controller:
然后分别假设要导出为PDF的view,引入著名的itext了;
这里演示简单往itext中写入一个输出而已;
然后是web.xml:
最核心的配置来了:
可以看到,其中使用的是:
org.springframework.web.servlet.view.ContentNegotiatingViewResolver,对其pdf,xml.json进行分别的view设置,JSON用的是著名的jackyson去解析了;
最后,通过rest风格的地址,比如http://localhost/view/view.json,返回json;
http://localhost/view/view.pdf,则导出到pdf,http://localhost/view/view.xml,
返回前端就xml了,真的十分方便呀
org.springframework.web.servlet.view.ContentNegotiatingViewResolver就可以根据不同的场景返回不同的view了,比如返回json,xml,pdf等.马上看代码实现
先是一个简单的pojo
package com.hmkcode.vo; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name = "person") public class Person { private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String toString(){ return "ID: "+id+" - Name: "+name; } }
注意使用@XmlRootElement标签之。
然后是controller:
@Controller public class MyController { @RequestMapping("/view") public Person getPerson(Model model){ Person person = new Person(); person.setId(1); person.setName("test"); model.addAttribute("person",person); return person; }
然后分别假设要导出为PDF的view,引入著名的itext了;
public class PdfView extends AbstractPdfView { protected void buildPdfDocument( Map model, Document doc, PdfWriter writer, HttpServletRequest req, HttpServletResponse resp) throws Exception { Person person = (Person) model.get("person"); doc.add( new Paragraph(person.toString())); }
这里演示简单往itext中写入一个输出而已;
然后是web.xml:
<servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/rest/*</url-pattern> </servlet-mapping>
最核心的配置来了:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <property name="order" value="1" /> <property name="mediaTypes"> <map> <entry key="json" value="application/json" /> <entry key="xml" value="application/xml" /> <entry key="pdf" value="application/pdf" /> </map> </property> <property name="defaultViews"> <list> <!-- JSON View --> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"> </bean> <!-- XML view --> <bean class="org.springframework.web.servlet.view.xml.MarshallingView"> <constructor-arg> <bean class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> <property name="classesToBeBound"> <list> <value>com.test.Person</value> </list> </property> </bean> </constructor-arg> </bean> <!-- PDF view --> <bean class="com.test.PdfView"> </bean> </list> </property> <property name="ignoreAcceptHeader" value="true" /> </bean>
可以看到,其中使用的是:
org.springframework.web.servlet.view.ContentNegotiatingViewResolver,对其pdf,xml.json进行分别的view设置,JSON用的是著名的jackyson去解析了;
最后,通过rest风格的地址,比如http://localhost/view/view.json,返回json;
http://localhost/view/view.pdf,则导出到pdf,http://localhost/view/view.xml,
返回前端就xml了,真的十分方便呀
发表评论
-
springboot jta分步式事物
2017-12-24 11:30 670# Mysql 1 mysql.datasource.te ... -
springboot 多数据源
2017-12-24 11:07 756spring.datasource.test1.drive ... -
Spring AOP 概念与例子
2016-04-11 11:05 556先了解AOP的相关术语: ... -
OpenSessionInViewFilter 的配置及替代方案
2016-04-10 21:17 0Spring 为我们提供了一个叫做 OpenSessionI ... -
怎么在spring官网上下载spring的jar包, 源代码和文档?
2016-04-10 21:03 0现在 http://repo.spring.io/relea ... -
在Spring中使用JTA事务管理
2016-04-10 21:01 391Spring 通过AOP技术可以让我们在脱离EJB的情况 ... -
Spring分布式事务实现
2016-04-10 20:57 332分布式事务是指操作多个数据库之间的事务,spring的 or ... -
spring+hibernate+jta 分布式事务Demo
2016-04-10 20:45 5750、设计分布式数据库 ... -
怎么在spring官网上下载spring的jar包, 源代码和文档?
2015-11-28 12:11 588现在 http://repo.spring.io/relea ... -
使用hibernate 分表做增删改查、
2014-10-23 17:30 890公司项目有一张表的数据量特别大、而且时间越长累积的数据量就越 ... -
spring中的事件传播
2014-10-18 10:43 392package com.logcd.beans;impor ... -
Spring Security学习总结二
2014-10-20 17:29 282前一篇文章里介绍了Sp ... -
Spring Security学习总结一(转)
2014-10-20 17:27 746在认识Spring Security之 ... -
Spring事务Transaction配置的五种注入方式详解
2014-09-19 14:21 564代码下载地址:http://www.zuidaima.com ... -
SpringAOP 的使用(两种方式)
2014-07-24 14:25 743使用Spring AOP 拦截 方法,给被拦截的方法加上, ... -
spring aop
2014-07-05 23:53 491<context:annotation-config ... -
Spring源代码解析(收藏) Spring源代码解析(一):IOC容
2014-05-21 16:06 769Spring源代码解析(收藏) Spring源代码解析(一 ... -
SpringMVC返回JSON数据时日期格式化问题
2014-04-30 22:17 502其实SpringMVC的JSON转换方法是利用了 Jackso ... -
五种Spring事务的配置方式
2014-04-11 20:45 424第一种方式:每个Bean都有一个代理 <?xml ve ... -
Spring简介01
2014-03-25 13:44 585Spring是一个轻量级控制反转(IOC)和面向切面 ...
相关推荐
在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在现代 Web 开发中,JSON(JavaScript Object Notation)作为一种...
在Spring MVC框架中,开发人员经常需要处理不同的数据交换格式,如XML和JSON,以便与客户端进行交互。这两种格式在Web应用中广泛用于传输数据,因为它们轻量级且易于解析。下面我们将深入探讨如何在Spring MVC中生成...
**Spring3 MVC与Ajax结合使用JSON** 在现代Web开发中,Spring框架的MVC模块与Ajax和JSON的集成是创建动态、响应式用户界面的关键技术。这个"Spring3 MVC Ajax with JSON"项目提供了一个Eclipse工程,包含了实现这一...
本篇文章将通过解析“spring-mvc-jsonview”源代码,深入探讨Spring MVC如何支持AJAX请求,并提供一个实际的使用教程。 一、JSON视图解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
这份“Spring.MVC学习指南.pdf”很可能是为了帮助开发者深入理解和掌握Spring MVC的核心概念、工作原理以及实践技巧。下面将详细阐述Spring MVC的相关知识点。 1. **核心组件**: - **DispatcherServlet**:Spring...
在这个名为"spring3-miniweb.rar"的压缩包中,我们关注的是如何在Spring 3中处理JSON数据,这在现代Web应用中非常常见,因为JSON是数据交换的首选格式。下面将详细解释Spring MVC中处理JSON的基本概念和实现步骤。 ...
12. **消息转换**:Spring MVC 提供了 HttpMessageConverter 接口,用于将 HTTP 请求和响应体与 Java 对象之间进行转换,支持 JSON、XML 等格式。 13. **RESTful 风格**:Spring MVC 可以很方便地支持 RESTful 风格...
在实际开发中,还可以利用Spring Data REST自动创建RESTful服务,或者使用`@JsonInclude`和`@JsonView`等注解控制JSON序列化的细节。通过深入理解和掌握这些知识点,开发者能够更高效地构建和维护JSON接口。
在Spring4 MVC的配置中,通常需要在`web.xml`或Spring的配置文件中添加MVC的JSON处理器,比如`Jackson2HttpMessageConverter`,以便让Spring MVC能够自动处理JSON请求和响应。同时,需要在`pom.xml`或构建文件中引入...
配置Spring3 MVC通常涉及web.xml的设置、DispatcherServlet的配置以及Spring的上下文配置(如beans.xml)。 接下来,让我们转向jQuery。jQuery简化了JavaScript编程,提供了一套简洁的API来处理DOM操作,如元素选择...
在实际开发中,Spring MVC还与其他Spring模块,如Spring AOP(面向切面编程)、Spring Security(安全)、Spring Data(数据访问)等深度集成,以提供更全面的解决方案。 对于PDF和Excel格式的输出,Spring MVC可以...
本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为JSON。 首先,`@ResponseBody`的作用是在方法返回的对象不是HTML片段而是其他格式数据(例如JSON或XML)时使用的。...
此外,该项目还展示了如何配置 Spring MVC,例如在 web.xml 中配置 DispatcherServlet,以及在 Spring 配置文件中定义 HandlerMapping 和 HandlerAdapter 等。这有助于理解 Spring MVC 的工作流程。 "spring-mvc-...
2. 表述(Representation):资源的状态可以通过不同的格式(如JSON或XML)进行表述。 3. 状态转移(State Transfer):客户端通过HTTP方法(GET、POST、PUT、DELETE等)来改变服务器上的资源状态。 在Spring 3 MVC...
Spring MVC允许在控制器中使用`@ExceptionHandler`注解来处理特定类型的异常,提供统一的错误页面或JSON响应。此外,Spring提供了测试工具,如`MockMvc`,使得编写单元测试和集成测试变得更加容易。 综上所述,...
书中详细介绍了如何定义RESTful资源,使用HTTP动词(GET、POST、PUT、DELETE等)处理操作,以及如何处理JSON和XML数据格式。 在实战部分,本书提供了丰富的案例和示例代码,让读者能够在实践中学习和应用所学知识。...
在Spring MVC中,为了将Java对象转换成JSON格式并返回给客户端,我们需要依赖于JSON库。在提供的信息中,提到了`jackson-all-1.9.x.jar`系列的包,这是Jackson库的一个早期版本。Jackson是一个非常流行的JSON处理库...
在Spring MVC中,我们可以使用Jackson库或者Gson库将Java对象转换为JSON字符串,或者将JSON字符串反序列化为Java对象。 在这个示例项目中,"dbtest"可能是一个包含数据库连接和查询的Java类或者包。Spring框架提供...
Spring MVC是Spring框架的一部分,专用于构建Web应用程序的Model-View-Controller(MVC)架构。MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。JSON(JavaScript Object Notation)是一...