其它配置
-
ContentType
-
Encoding
-
Javascript 劫持保护
1. Content type
你可以像下面展现的那样,通过在JsonView设置contentType的值来改变输出内容的文本类型。
<beans>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="contentType"><value>application/json</value></property>
</bean>
</beans>
2. Encoding
你可以像下面展现的那样,通过在JsonView设置encoding的值来改变输出内容的字符编码。
<beans>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="encoding"><value>ISO-8859-1</value></property>
</bean>
</beans>
3.Javascript 劫持保护
为了防止出现如Fortify主页所述的Javascript劫持这种情况发生,通过设置hijackSafe属性为true,json对象会被随意地封装在Javascript注释里。
<beans>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="hijackSafe"><value>true</value></property>
</bean>
</beans>
效果: /*JSON{"command":{"placeofbirth":"Sydney"}}JSON*/
默认以 '/* JSON.... JSON*/' 文本封装,您也可以通过设置hijackSafePrefixPostFix属性来进行配置。
<beans>
<bean name="jsonView" class="org.springframework.web.servlet.view.json.JsonView">
<property name="hijackSafe"><value>true</value></property>
<property name="hijackSafePrefixPostFix"><value>TEST</value></property>
</bean>
</beans>
效果:/*TEST{"command":{"placeofbirth":"Sydney"}}TEST*/
在客户端代码可以删除封装。例如
var resp = eval("("+data.substring(data.indexOf("\/\*JSON")+6, data.lastIndexOf("JSON\*\/"))+")");<<<Monospaced>>>
感谢Hodge提出的建议。
分享到:
相关推荐
通过配置Spring的ViewResolver,可以指定一个处理JSON的视图,如Jackson或Gson库,将Java对象序列化成JSON响应,从而实现前后端的通信。 4. **FreeMarker** FreeMarker是一个模板引擎,用于生成动态HTML或其他文本...
标题中的“spring配置JSON拦截器VIEW”指的是在Spring框架中设置JSON数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...
本篇文章将通过解析“spring-mvc-jsonview”源代码,深入探讨Spring MVC如何支持AJAX请求,并提供一个实际的使用教程。 一、JSON视图解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
Spring4.1开始直接支持@JsonView注解。要使用@JsonView,首先我们需要定义视图,我们可以定义多个视图。一个视图定义可以继承其他视图定义。我们的POJO使用@JsonView注解属性传递已经定义的视图。在Spring的...
【标题】"spring data jpa + spring + json demo"揭示了这个项目是关于使用Spring Data JPA、Spring框架以及JSON处理的一个示例应用。Spring Data JPA是Spring框架的一个模块,它简化了JPA(Java Persistence API)...
2. 配置Spring MVC的视图解析器,例如使用`MappingJackson2JsonView`或`JacksonJsonView`(如果使用Jackson库)来处理JSON视图。 3. 在控制器方法上使用`@RequestMapping`和`@ResponseBody`注解,指定处理HTTP请求并...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在现代 Web 开发中,JSON(JavaScript Object Notation)作为一种...
3. **ModelAndView与JsonView**:在Spring MVC中,可以创建一个`ModelAndView`对象,并设置`JsonView`,这样在视图解析时会自动将模型数据转化为JSON。 4. **HTTP消息转换器**:Spring MVC通过`...
Spring MVC还提供了`@JsonView`注解来控制JSON响应中的数据粒度,以及`@JsonProperty`和`@JsonIgnore`来控制哪些字段应包含在JSON中。 **jQuery和JavaScript** jQuery是一个流行的JavaScript库,简化了DOM操作、...
在实际开发中,你可能还需要处理JSON安全问题,例如使用`@JsonView`来限制返回的字段,或者使用`@JsonFormat`来控制日期格式等。同时,随着版本的更新,确保始终使用最新的稳定版本以获取最佳性能和安全性。
【Spring-JSON项目】是一个基于Eclipse开发的项目,它主要关注的是如何在Spring框架中有效地集成和使用JSON(JavaScript Object Notation)进行数据交换。这个项目的核心目标是利用Spring MVC来构建RESTful Web服务...
最后,Spring MVC还提供了一些高级特性,如自定义JSON序列化和反序列化行为,或者使用`@JsonView`注解来控制哪些字段应被包含在JSON中。你也可以利用`@JsonInclude`和`@JsonExclude`来控制哪些属性应该在序列化时被...
3. **视图解析器**:如果你的返回类型是`ModelAndView`,你可以配置一个`MappingJackson2JsonView`,这样视图会自动将模型数据转换为JSON。 4. **JSON与Ajax**:Spring MVC 3与jQuery或其他JavaScript库配合,可以...
Struts2和Spring框架在Java Web开发中是广泛使用的,它们提供了强大的MVC(Model-View-Controller)架构支持。Liferay是一个流行的开源企业级门户平台,它允许开发者创建和集成portlet来构建复杂的Web应用程序。在...
Spring MVC是Spring框架的一部分,专用于构建Web应用程序的Model-View-Controller(MVC)架构。MyBatis则是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。JSON(JavaScript Object Notation)是一...
8. **自定义JSON视图**:如果需要对JSON的生成进行更精细的控制,可以创建自定义的`JsonView`,并在返回类型上指定该视图。 总之,JSON在Spring中的应用是多方面的,它简化了数据交换,提高了开发效率。无论是简单...
本实例探讨的是如何在Spring环境中整合Spring MVC、Spring Data JPA以及使用Freemarker或JSON作为多视图配置。让我们深入理解这些技术及其相互作用。 首先,Spring MVC是Spring框架的一部分,专门用于构建Web应用...
在本文中,我们将深入探讨如何使用Spring框架返回JSON视图,并通过一个简单的示例来演示这一过程。这个示例是基于Eclipse IDE开发的Java Web项目,最终在Tomcat服务器上进行部署和发布。 首先,我们需要理解Spring...
在Spring MVC应用中,我们需要在`pom.xml`或`build.gradle`文件中引入Jackson依赖,并在Spring配置文件中启用JSON支持。通常,添加以下依赖: ```xml <groupId>com.fasterxml.jackson.core</groupId> ...
Spring MVC与JSON的集成通常通过Spring的`MappingJackson2HttpMessageConverter`或`MappingJackson2JsonView`实现,这些类使用Jackson库处理JSON数据。如果你选择使用Gson,你需要配置`GsonHttpMessageConverter`。 ...