SpringMVC 错误解决

1、SpringMVC中解决@ResponseBody注解返回中文乱码问题

在@RequestMapping()注解内加上produces = “application/json;charset=utf-8”

在spring处理ResponseBody时涉及到org.springframework.http.converter.StringHttpMessageConverter这个类,该类在默认实现中将defaultCharset设为ISO-8859-1。当@RequestMapping标记的方法未配置produces属性时,将自动使用默认编码;如果配置了produces属性,AbstractHttpMessageConverter中的write方法将不会受supportedMediaTypes影响,而用produce设置的header赋值给contenttype。改造一下RequestMappingHandlerAdapter的配置,springMvc.xml如下:

<!-- 必须放在<mvc:annotation-driven>之前 -->   
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/plain;charset=UTF-8</value>
                            <value>text/html;charset=UTF-8</value>
                            <value>applicaiton/javascript;charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>

原文参考:(3条消息) SpringMVC解决@ResponseBody注解返回中文乱码_@restbody返回不是中文_c.的博客-CSDN博客

2、解决response中文乱码,通知浏览器服务器发送的数据格式

response.setContentType("text/html;charset=utf-8”);

原文链接:(3条消息) SpringMVC中解决@ResponseBody注解返回中文乱码问题_@responsebody 乱码_一234567博的博客-CSDN博客

3、找不到类错误

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter#4b8c8349' defined in class path resource [spring-mvc.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: com/fasterxml/jackson/dataformat/cbor/CBORFactory

解决办法:

在spring-mvc.xml配置文件中,将上图圈起来的类org.springframework.http.converter.cbor.MappingJackson2CborHttpMessageConverter换成org.springframework.http.converter.json.MappingJackson2HttpMessageConverter即可

原文链接:https://blog.csdn.net/junR_980218/article/details/124328479

4、jsp页面get请求和post请求中文乱码问题

tomcat8.5以后版本, get请求方式,request对象使用的字符集默认为utf-8 , post请求方式,request对象使用的编码方式为ISO8859-1。

所以new String(str.getBytes("ISO-8859-1"), charset);出现本来是utf-8编码,用ISO-8859-1取导致乱码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值