解决表单post,get到springMVC后台乱码的问题,可以分为以下几个步骤:
1.设置字符编码过滤器
在web.xml配置文件中添加字符编码过滤器,用于处理所有请求的字符编码。
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.设置消息转换器
在SpringMVC配置文件中添加消息转换器,将请求参数转换为UTF-8编码。
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<constructor-arg value="UTF-8"/>
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
<value>application/json;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
3.设置表单参数编码
在表单中添加编码类型,确保表单参数以UTF-8编码提交到后台。
示例一:前端表单页面示例
<form action="/user/add" method="post" accept-charset="UTF-8">
<input type="text" name="username">
<input type="text" name="password">
<button type="submit">提交</button>
</form>
示例二:Ajax请求示例
$.ajax({
url: "/user/login",
type: "post",
data: {
username: "admin",
password: "123456"
},
contentType: "application/x-www-form-urlencoded;charset=UTF-8",
success: function(data){
console.log(data);
}
});
通过以上三个步骤,可以完美解决表单post,get到SpringMVC后台乱码的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决表单post,get到springMVC后台乱码的问题 - Python技术站