由于org.springframework.http.converter.StringHttpMessageConverter中默认的编码为ISO-8859-1,而在使用@ResponseBody时SpringMVC会通过这个类对输出的内容进行编码,所以Ajax在SpringMVC的项目中会乱码...
于是解决方案:
------------------------------------------------------------------------------------------------------------------------
1. 修改源码, org.springframework.http.converter.StringHttpMessageConverter中第一行代码是这样的,所以你懂得...
public static final Charset DEFAULT_CHARSET = Charset.forName("ISO-8859-1");
2. 通过配置Bean进行依赖注入
Spring3.1的时候,只有像下面那样才可以正常设置UTF-8。。。注意要放在最上方,<mvc:annotation-driven />也不能在前面
<!--Spring3.1推荐使用RequestMappingHandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="webBindingInitializer"> <bean class="com.zf.ms.web.MyWebBindingInitializer"></bean> </property> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.StringHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> </list> </property> </bean> </list> </property> </bean>
另外还可以这样配置,但我在SpringMVC3.1中试了下,发现不行。。
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean id="stringHttpMessageConverter" class="com.zf.ms.util.ConfigurableStringHttpMessageConverter"> <constructor-arg value="UTF-8"/> </bean> </list> </property> </bean>
相关推荐
charset=UTF-8" ) @ResponseBody ----------------------------------------------------------------------------- <!-- @ResponseBody() spring-mvc 3 xml 配置--> <!--处理 @ResponseBody 中文乱码...
总的来说,解决SpringMVC中`@ResponseBody`注解返回中文乱码问题的关键在于正确配置`HttpMessageConverter`,确保其支持UTF-8编码,并将这些配置放在`<mvc:annotation-driven>`元素之前。通过上述方法,可以有效地...
charset=UTF-8"。 ### 示例代码 ```java @RequestMapping(path="/something", method=RequestMethod.PUT) @ResponseBody public String helloWorld(){ return "HelloWorld"; } ``` 上述示例代码演示了如何使用@...
charset=UTF-8</param-value> </init-param> ... <!-- Spring Boot 示例 --> @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void configureContentNegotiation...
这样,在使用@ResponseBody注解时,SpringMVC将使用UTF-8编码来编码响应体。 配置代码如下: ```xml <value>text/plain;charset=UTF-8 ``` 注意,在使用该方法时,需要将<mvc:annotation-...
charset=UTF-8"`来确保响应内容使用UTF-8编码。 "SpringMVC3"这个文件名可能是指SpringMVC 3.x系列的资料,这个系列引入了大量改进,包括增强的注解支持、异步处理能力、更高效的视图解析,以及对RESTful服务的支持...
charset=UTF-8") @ResponseBody public String callback(@RequestBody Map, String> params) { return null; } ``` 解决方法是使用 HttpServletRequest 的 getParameterMap() 方法来获取参数。例如: ```java @...
charset=utf-8"`并序列化数据为JSON格式。 ```java @RequestMapping(method = POST, value = "/sensorTypeList") @ResponseBody public String sensorTypeList(@RequestBody SensorVO sensorVo) { // 处理逻辑 } ...
charset=UTF-8"/> ``` SpringMVC还提供了ModelAndView类,用于在控制器中返回视图和模型数据。例如: ```java @RequestMapping("/example") public ModelAndView handleRequest() { Map, Object> model = new ...
charset=UTF-8`,以指定服务器返回数据的字符集。 3. **Spring MVC 过滤器**: 过滤器(Filter)是Servlet API的一部分,允许在请求被Controller处理之前或之后进行拦截和修改。在Spring MVC中,我们可以自定义...
charset=UTF-8" language="java" %> <script src="ckeditor/ckeditor.js"></script> CKEDITOR.replace('editor', { filebrowserUploadUrl: '/ckeditor/uploadImage', filebrowserPasteImageUrl: '/ckeditor/...
charset=utf-8"` 指定了返回的MIME类型为XML,并指定了字符集为UTF-8。 如果返回的是对象,Spring MVC会自动将其转换为XML,但需要注意的是,对象的属性需要有getter和setter方法,以便Spring能正确地序列化。为了...
后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码。 这里我使用了注解来解决: @...
在处理请求参数时,需要注意字符编码问题,因为Tomcat服务器默认使用ISO8859-1编码,而UTF-8更为普遍,因此在获取请求参数时通常需要进行编码转换。 SpringMVC的异常处理是通过定义异常处理器来统一管理全局异常。...
这通常是因为服务器默认的字符编码不支持UTF-8导致的。以下是两种解决方法: - 方式一:在Controller方法中手动转码 在接收到请求参数时,你可以使用`new String(bytes, "UTF-8")`的方式来转换字符串的编码。例如...
charset=utf-8",那么请求体将被编码为JSON格式。 在SpringMVC中,如果使用@RequestBody注解接收参数时,需要将contentType设置为"application/json;charset=utf-8",否则将无法接收到参数值。例如: ```java @...
charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <meta charset="UTF-8"> <title>Hello Page ${message} ``` 7. **运行应用:** - 启动服务器(如 Tomcat),访问应用 URL 测试是否成功...
charset=utf-8', data: JSON.stringify(sendData), success: function(response) { // ... }, error: function() { // ... } }); ``` 使用`JSON.stringify()`将JavaScript对象转换为Json字符串,并设置`...
charset=utf-8", data:'{"name":"测试商品","price":99.9}', success:function(data){ alert(data.name); } }); } ``` 在这个例子中,通过AJAX的POST方法向服务器发送JSON数据,并指定了请求头中的内容类型为...
<param-value>UTF-8</param-value> </init-param> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` - 对于GET请求,可以通过修改...