SpringMVC请求/响应乱码问题解决方案解析
这篇文章主要介绍了SpringMVC请求/响应乱码问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
GET请求乱码原因分析
GET请求参数是通过请求行中的URL发送给Web服务器(Tomcat)的。
Tomcat服务器会对URL进行编码操作(此时使用的是Tomcat设置的字符集,默认是iso8859-1)
到了我们的应用程序中的请求参数,已经是被Tomcat使用ISO8859-1字符集进行编码之后的了。
解决方式
方式一
修改tomcat配置文件,指定UTF-8编码,如下:
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
方式二
对请求参数进行重新编码
String username = new String(request.getParamter("userName").getBytes("ISO8859-1"),"utf-8")
方式三
过滤器+请求装饰器统一解决请求乱码
MyRequestWrapper
MyCharacterEncodingFilter
请求乱码解决之post乱码问题#
在web.xml中加入:
<filter> <filter-name>CharacterEncodingFilter</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> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
响应乱码之post乱码问题
使用@RequestMapping注解中的produces属性,指定响应体的编码格式
方式一:方法体上
@RequestMapping(value = "findItem",produces = "application/json;charset=utf8") @ResponseBody public String findItem(Integer id) { return "接收到的请求参数是:" + id; }
方式二:类上(统一管理编码格式)
//@Controller //RestController:注解相当于Controller注解和ResponseBody注解的结合体 @RestController @RequestMapping(value = "item",produces = "application/json;charset=utf8") public class ItemController {}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
解决springmvc+mybatis+mysql中文乱码问题
近日使用ajax请求springmvc后台查询mysql数据库,页面显示中文出现乱码 最初在mybatis配置如下 <select id="queryContentById" resultType = "java.lang.String" parameterType="String" > select text from News where id=#{o} </select> 其中表News的text字段为blob类型
-
springMVC解决ajax请求乱码的三种方法
springMVC解决ajax请求乱码的问题 前言: 最近在项目的使用过程中发现在springmvc的项目中,使用返回页面的请求方式,数据都能正常显示,但是对于ajax的请求,始终显示乱码.首先第一种是因为我们在web.xml中配置了spring的字符编码过滤器,那么使用ajax请求为什么就不行了呢?下面简单的分析一下,仅供参考. 先列出简单的请求代码: 浏览器端: <script type="text/javascript"> $.ajax({ type: "P
-
java springmvc乱码解决归纳整理详解
springmvc的中文乱码问题主要有以下几种情形: 页面传值到后台: 工程编码(最后一开始建立工程就设置整个工程的编码) 页面的几种编码属性的设置 get提交方式乱码的处理 post提交方式乱码的处理 后台到数据库乱码: 数据库连接字符串指定编码格式 数据库编码属性(也是一开始设置数据库的时候就要设置好,不然要重新建数据库) 1.页面的几种编码属性 pageEncoding="UTF-8" jsp页面编码,jsp文件本身的编码 contentType="text/html;
-
SpringMVC请求乱码处理的2种方式
这篇文章主要介绍了SpringMVC请求乱码处理的2种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.post请求乱码 在web.xml中加入 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter&
-
解决SpringMvc后台接收json数据中文乱码问题的几种方法
1.使用ajax从前台页面传输数据到后台controller控制器的时候,出现中文乱码(问号???). 之前在网上找了各种解决方案,都行不通,最后发现是tomcat服务器接收数据的问题 解决方案: 方式一:在controller接收参数时,对参数进行转码 @ResponseBody @RequestMapping(value="/getJsonDataByCityName",produces="application/json") public String get
-
Spring MVC参数传递中文乱码解决方法分享
概述 中国特色社会主义乱码问题是我们经常会碰到的问题,解决的办法有很多,本文分别介绍了GET方式和POST方式中文乱码解决方案中一劳永逸的办法. GET提交中文乱码解决方案 在乱码的Controller文件中采用下面的方法将编码转换成UTF-8 String str = new String(request.getParameter("参数名").getBytes("iso-8859-1"), "utf-8"); 修改项目所在的Tomcat服务器
-
彻底解决Spring MVC中文乱码问题的方案
乱码是让人很头疼的一件事,本文介绍了彻底解决Spring MVC中文乱码问题的方案,具体如下: 1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为UTF-8 form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <form
-
SpringMVC中解决@ResponseBody注解返回中文乱码问题
昨天在做项目的时候用@ResponseBody注解,发现返回页面上的中文是乱码,解决过程也是让我很郁闷!!!特此记录一些.目前有下面几种解决方案: @RequestMapping的produces方法 第一种解决方案是使用@RequestMapping注解的produces方法.写法如下: 复制代码 代码如下: @RequestMapping(value = "testPersonalValidtor.do",produces = "application/json;char
-
SpringMVC请求/响应乱码问题解决方案解析
这篇文章主要介绍了SpringMVC请求/响应乱码问题解决方案解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 GET请求乱码原因分析 GET请求参数是通过请求行中的URL发送给Web服务器(Tomcat)的. Tomcat服务器会对URL进行编码操作(此时使用的是Tomcat设置的字符集,默认是iso8859-1) 到了我们的应用程序中的请求参数,已经是被Tomcat使用ISO8859-1字符集进行编码之后的了. 解决方式 方式一 修改to
-
Servlet中文乱码问题解决方案解析
一.出现乱码的原因 由于浏览器默认使用UTF-8码表进行编码,而servlet使用ISO-8859-1码表进行编码,传输和接收方编码不一致导致乱码的产生. 二.乱码的类型以及解决办法 1. response乱码 一.出现乱码的原因 由于浏览器默认使用UTF-8码表进行编码,而servlet使用ISO-8859-1码表进行编码,传输和接收方编码不一致导致乱码的产生. 二.乱码的类型以及解决办法 1. response乱码 response.setHeader("content-type"
-
SpringMVC Tomcat控制台乱码问题解决方案
关于SpringMVC运行Tomcat控制台出现乱码的情况(在网上找到一种方法亲测有效) 找到tomcat文件夹中的conf包下的logging.properties中找到 java.util.logging.ConsoleHandler.encoding = UTF-8 将这行代码注销改为 java.util.logging.ConsoleHandler.encoding = GBK 重启tomcat即可! 关于SpringMVC提交表单时,网页出现乱码情况,有两种解决方法 方法一(自定义过滤
-
SpringMVC Restful风格与中文乱码问题解决方案介绍
目录 基本要点 1.定义 2.传统方式与Restful风格的区别 3.如何使用Restful风格 4.为什么要用restful 5.乱码问题 基本要点 1.定义 根据百度百科的定义,RESTFUL是一种网络应用程序的设计风格和开发方式 2.传统方式与Restful风格的区别 在我们学习restful风格之前,我们请求接口,都是使用http://localhost:8080/controller?method=add这种方式携带接口所需要的参数 而调用restful风格的接口时,我们可以改成htt
-
SpringMVC 中文乱码的解决方案
背景 举个例子,出现中文乱码的例子:提交表单的时候. 表单 <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form action="/c02/t1" method=&quo
-
SpringMVC post请求中文乱码问题解决
这篇文章主要介绍了SpringMVC post请求中文乱码问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们在页面难免提交一些中文数据给后台处理,但是发现后台拿到的数据乱码,可以在每一个controller中都设置编码,但是太过于麻烦, 正确的解决办法应该是在web.xml中配置解决中文乱码的过滤器: 问题现象:控制台打印中文乱码如下: 解决办法如下: (web.xml中配置解决中文乱码的顾虑器CharacterEncodingFil
-
SpringMVC请求流程源码解析
目录 一.SpringMVC使用 1.工程创建 2.工程配置 3.启动工程 二.SpringMVC启动过程 1.父容器启动过程 2.子容器启动过程(SpringMvc容器) 3.九大组件的初始化 1.处理器映射器的初始化 2.处理器适配器的初始化 4.拦截器的初始化 三.SpringMVC请求过程 1.请求流程图 2.业务描述 一.SpringMVC使用 1.工程创建 创建maven工程. 添加java.resources目录. 引入Spring-webmvc 依赖. <dependency>
-
SpringMVC文件上传功能实例解析
说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. 客户端编程 1.为了上传文件,必须将HTML表格的enctype属性值设为multipart/form-data,像下面这样: <form action="action" enctype="multipart/form-data" method="post"> Sel
-
关于SpringMVC请求域对象的数据共享问题
SpringMVC支持路径中的占位符. 可以通过路径的方式来传参.restful风格.使用{}做占位符在路径中指定参数,使用@PathVariable注解在参数列表中指定. <a th:href="@{/test/1}">传了参数</a> @RequestMapping("/test/{id}") public String test(@PathVariable("id")Integer id){ System.out.p
随机推荐
- 基于AngularJS实现iOS8自带的计算器
- 防御SQL注入的方法总结
- MongoDB中创建索引需要注意的事项
- javascript实现的制作特殊字的脚本
- Linux VPS/服务器 网站及数据库自动本地备份并FTP上传备份脚本
- Java中的length和length()深入分析
- Python实现把xml或xsl转换为html格式
- asp.net分页控件使用详解【附实例下载】
- JS+CSS实现表格高亮的方法
- php preg_match_all结合str_replace替换内容中所有img
- JavaScript判断表单提交时哪个radio按钮被选中的方法
- Android取消EditText自动获取默认焦点
- Node.js利用Net模块实现多人命令行聊天室的方法
- Android编程实现根据经纬度查询地址并对获取的json数据进行解析的方法
- nginx动态添加访问白名单的方法
- android照相、相册获取图片剪裁报错的解决方法
- C#属性(Attribute)用法实例解析
- Java微信公众号开发之通过微信公众号获取用户信息
- Android开发实现带有反弹效果仿IOS反弹scrollview教程详解
- DataTable数据导出成Excel文件的小例子