`
ch19880311
  • 浏览: 27497 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring 3.1 MVC @responseBody编码问题

阅读更多

一般在用spring MVC注解形式时(3.1或以上版本),在spring配置文件里采用下面配置就行了:

<mvc:annotation-driven/>

对于这个配置,spring 3.0会自动注入

  • DefaultAnnotationHandlerMapping

  • AnnotationMethodHandlerAdapter

  • AnnotationMethodHandlerExceptionResolver

而spring 3.1将变换成:

  • RequestMappingHandlerMapping

  • RequestMappingHandlerAdapter

  • ExceptionHandlerExceptionResolver

具体可参考源码:org.springframework.web.servlet.config.AnnotationDrivenBeanDefinitionParser.

下面问题来了,就拿spring 3.1来说,但是当@responsebody注解返回string时,中文字符会出现乱码现象,可用下面2中方案解决,推荐第二种:

1. 在controller方法的注释加上response返回时编码:@RequestMapping(value="getKeywordCategoryTree",produces="text/plain;charset=UTF-8")

2. Spring配置文件中修改<mvc:annotation-driven/>配置如下,修改对string的默认编码:

<!-- 当@responseBody是string时,字符串编码默认为IOS-9001,需要改成utf-8  -->

<mvc:annotation-driven>

        <mvc:message-converters register-defaults="true">  

            <bean class="org.springframework.http.converter.StringHttpMessageConverter">  

           <property name="supportedMediaTypes">  

               <list>  

               <value>text/plain;charset=UTF-8</value>  

               </list>  

           </property>  

        </bean>  

        </mvc:message-converters> 

      </mvc:annotation-driven>

如果spring初始化报错,可能是spring jar包版本不是3.1或者xml配置文件命名空间指定的不是3.1或以上,如下:

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd

    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd

http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd

http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd

http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd

 

 

分享到:
评论

相关推荐

    spring3.1源码包

    Spring 3.1改进了MVC的注解驱动能力,比如`@RequestMapping`,使得URL映射和参数绑定更加灵活。此外,还引入了`@ExceptionHandler`注解,便于全局异常处理。 另外,Spring 3.1对RESTful服务的支持也得到了加强,...

    spring3.1官方手册英文版

    Spring 3.1的MVC模块引入了更多的控制器注解,如`@RequestMapping`,以及视图解析和异常处理的增强。 6. **RESTful支持** Spring 3.1加强了对RESTful服务的支持,提供了`@RestController`注解,使得创建RESTful ...

    IDEA 搭建Spring MVC环境示例1

    在本文中,我们将详细探讨如何使用IntelliJ IDEA(简称IDEA)搭建Spring MVC环境,以便开始进行Web应用程序开发。Spring MVC是Spring框架的一部分,它为构建基于模型-视图-控制器(MVC)架构的Web应用提供了强大的...

    SSH框架中SpringMVC

    Spring MVC 支持 JSON 数据格式的输入和输出,通过 @ResponseBody 注解可以将方法返回的对象直接转换为 JSON,并发送回客户端。同时,使用 @RequestBody 注解可以从 JSON 请求体中解析数据。 七、文件上传 Spring ...

    spring3_mvc_lib_支持注解方式

    标题 "spring3_mvc_lib_支持注解方式" 指的是Spring框架的第三个主要版本(Spring 3)中引入的MVC模块对注解的支持。在这个版本中,Spring MVC开始广泛采用注解来简化Web应用程序的开发,使得开发者不再需要编写大量...

    maven spring mvc 4.3.14 框架整合

    本框架使用Maven整合jar包,完全按照SpringFramework官方规范整合,加入Druid数据源及SpringJDBC,使用servlet3.1容器,代码整洁易读,不懂spring4及servlet3.1规范的同学可以下载看一看,收获一定不小。另:结合...

    Spring MVC面试宝典1.pdf

    ### Spring MVC面试宝典知识点详解 #### 一、SpringMVC简介 ##### 1.1 什么是SpringMVC? SpringMVC是一个基于Java的轻量级Web应用框架,该框架遵循MVC(Model-View-Controller)设计模式,旨在简化Web层的开发。...

    spring3.1.4 jar集合

    首先,Spring 3.1引入了模块化设计,将框架的不同功能拆分为更小的模块,这使得开发者可以更加精细化地控制应用的依赖,减少不必要的库加载,从而降低应用程序的体积和启动时间。例如,`spring-core`模块包含了基础...

    spring 3.0 jar spring最新开发包

    4. **MVC框架**:Spring MVC提供了一整套构建Web应用的解决方案,包括控制器、视图解析、模型绑定等功能。 5. **测试支持**:Spring Test模块提供了对单元测试和集成测试的强大支持,包括模拟对象、`@RunWith(Spring...

    eclipse 搭建SpringMVC框架一

    SpringMVC是Spring框架的一部分,它提供了一种强大的模型-视图-控制器(MVC)架构来构建灵活且可扩展的Web应用。下面将详细介绍这个过程。 首先,确保你已经安装了Eclipse IDE,这是Java开发的常用工具。如果没有,...

    Spring3学习教程

    Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。Spring MVC遵循Model-View-Controller(模型-视图-控制器)设计模式,将业务逻辑、数据处理与用户界面分离开来,使得应用程序更加清晰和易于维护。 ####...

    spring-framework-3.2.4.RELEASE.rar

    3.1 MVC架构:Model、View、Controller三部分分离,简化Web应用开发。 3.2 DispatcherServlet:Spring MVC的前端控制器,处理所有HTTP请求,分发到相应的处理器。 3.3 Controller:定义处理请求的方法,通过@...

    springMVC4.0常用jar包

    在依赖管理方面,Spring MVC 4.0引入了对Servlet 3.1的全面支持,这简化了部署配置,因为开发者可以使用注解来定义Servlet、Filter和Listener,无需传统的web.xml配置文件。此外,这个版本还支持异步处理,通过`@...

    spring3.0轻量级框架

    Spring MVC是Spring Web框架的主要部分,Spring 3.0引入了更多用于构建RESTful服务的特性,如@RequestBody和@ResponseBody注解,以及ModelAndView类的增强。此外,对JSR-303/JSR-349(Bean Validation)的集成,使得...

    SpringMVC 3.1 体验

    它可能包含了配置文件(如`web.xml`和`spring-servlet.xml`)、控制器类、视图解析以及必要的测试代码,以展示SpringMVC 3.1的基本用法和功能。 总的来说,SpringMVC 3.1的这些特性使开发者能够更高效地构建健壮且...

    spring 3.0源码

    7. **Web MVC改进**:Spring的Web MVC框架在3.0版本中也有所提升,支持了更多视图技术,如FreeMarker和JasperReports,同时增强了模型绑定和数据验证功能。 8. **WebSocket支持**:虽然Spring 3.0并不直接支持...

    SpringMVC返回json数据的三种方式

    要使`@ResponseBody`工作,需要在Spring配置中启用注解驱动的处理,如`&lt;mvc:annotation-driven /&gt;`,并添加Jackson库的依赖。对于Spring 3.1及更高版本,`RequestMappingHandlerAdapter`会自动处理JSON转换。 ...

    springMVC.doc

    【Spring MVC 入门教程】 Spring MVC 是一个轻量级的、基于模型-视图-控制器(MVC)设计模式的 Java Web 开发框架。它为开发者提供了构建 Web 应用程序的强大工具,使得开发过程更为高效且易于维护。本教程适合初学...

Global site tag (gtag.js) - Google Analytics