web请求乱码问题总结

问题1:springmvc通过@ResponseBody向页面返回值(包括汉字)时,乱码

解决方案:

springmvc3.2之后可以声明注解驱动器(不知道是不是这么翻译)的时候的控制编码的转换,结果就这么解决了,太帅气了!

<mvc:annotation-driven>  

    <mvc:message-converters>  

        <!-- default StringHttpMessageConverter, solve encoding problem -->  

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

            <constructor-arg value="UTF-8" />  

            <property name="writeAcceptCharset" value="false" />  

        </bean>  

    </mvc:message-converters>  

</mvc:annotation-driven> 

问题2:(注意:此方法只能解决post请求的乱码)

jsp页面中文输入,到controller乱码,这时候需要设置的是在web.xml文件中添加一个编码的过滤器(filter)将编码统一为UTF-8,代码如下:

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>

这里需要注意的是,最好把这段代码放在web.xml中开头的位置,因为拦截有顺序,如果放在后面的话容易拦截不到。

问题3:get请求乱码

在tomcat服务器中的server.xml的文件中添加  URIEncoding="UTF-8

如:

 <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8"/>
时间: 2024-11-05 18:16:51

web请求乱码问题总结的相关文章

Java Web乱码分析及解决方案(一)——GET请求乱码

引言:     在进行Web开始时,乱码是我们最经常遇到也是最基本的问题,有经验的程序猿很容易能解决,初学者则容易被泥潭困住.而且很多时候,我们即使解决了乱码问题也是不明就里,往往云里雾里. 其实乱码问题很简单,就是客户端和服务器使用了不一样的字符集导致的.也就是我们发送文件是用的字符编码和解析文件的编码不一致.所以只要搞清楚了我们的文件是怎么被编码和解码的解决乱码就很简单了.分析乱码,我们从请求乱码和响应乱码来分析,请求乱码又需要根据GET和POST来单独分析. 请求乱码--GET     请

请求乱码和响应编码的解决方案

为什么会乱码? 通信双方在进行通信的时候,实际上是将通信的内容按照一定的规则转化为二进制进行通讯的. 而这个规则就是字符的编码. 在请求到达的时候,另一方需要解码. 由于通信双方的编码方式和解码方式不一样,所以造成了乱码. tomcat服务器默认使用iso8859-1的编码方式,浏览器不设置的话,默认的编码是gb2312,一般在jsp或者在HTML文件中会设置编码方式为utf-8. 一般我们使用utf-8 的编码格式. 一.get请求乱码: 浏览器编码-->服务器解码 第一步:设置服务器的解码方

SpringMVC(二)----针对POST请求乱码的处理

针对POST请求乱码的处理: 在post请求中,比如做一个form表单提交参数,可能要填用户名之类的,需要填中文,然后在后台将填的参数获取出来,如果这时候在后台输出一下你会看到中文乱码,针对post请求的中文乱码问题,我们可以在web-xml文件中配置CharacterEncodingFilter,代码如下 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>or

springboot + shiro 权限注解、请求乱码解决、统一异常处理

springboot + shiro 权限注解.请求乱码解决.统一异常处理 前篇 后台权限管理系统 相关: spring boot + mybatis + layui + shiro后台权限管理系统 springboot + shiro之登录人数限制.登录判断重定向.session时间设置 springboot + shiro 动态更新用户信息 基于前篇,新增功能: 新增shiro权限注解: 请求乱码问题解决: 统一异常处理. 源码已集成到项目中: github源码: https://githu

java面试题 springmvc 解决post get请求乱码问题

1 post乱码 解决方法  在web.xml中添加如下 <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name&

POST请求转换为PUT或者Delete请求、处理post请求乱码的过滤器

<!--配置HiddenHttpMethodFilter : 将所有的POST请求转换为PUT或者Delete请求 --><filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter> &

解决Web工程乱码问题

1.servlet跳转到jsp页面 在JSP中涉及到使用Servlet进行一些逻辑处理  处理完后进行页面跳转  如在Servlet中进行的request.getRequestDispatcher("index.jsp").forward(request, response);  这样的跳转 可是有时候我们在跳转的时候  会遇到中文乱码的问题  就算是同一个页面  你进行过一些处理后调回本页面  也可能遇到这样的情况 也许你会说你没有啊  因为出现这种情况是你的Servlet中存在这样

经验总结20--C#模拟WEB请求

非常多语言能够使用代码进行WEB请求,获取到须要的数据. 方便调用别人的接口,自己进行处理. HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; request.ContentType = "application/json; charset=utf-8"; //有时候须要该參数.限制浏览器 request.UserAgent = &qu

web请求响应

转载自:SanMaoSpace 1.Web开发的定义首先看看微软对Web开发的定义:Web开发是一个指代网页或网站编写过程的广义术语.网页使用 HTML.CSS 和 JavaScript编写.这些页面可能是类似于文档的简单文本和图形.页面也可以是交互式的,或显示变化的信息.编写交互式服务器页面略微复杂一些,但却可以实现更丰富的网站.如今的大多数页面都是交互式的,并提供了购物车.动态可视化甚至复杂的社交网络等现代在线服务. 通俗的说,Web开发就是我们说的做网站.它分为网页部分和逻辑部分也就是我们