一、java web中涉及编解码的地方

(1)浏览器端向后台发起请求时:URL、Cookie、Parameter;

(2)后台响应返回数据时:页面编码,数据库数据编码;

二、在各处设置统一编码(以服务器tomcat,编码UTF-8为例)

(1)URL的编解码:在tomcat配置文件server.xml中设置<Connector URIEncoding="UTF-8" useBodyEncodingForURI="true">,可解决以Get方法提交参数中文乱码的问题。如果没有定义,那么tomcat将以默认编码ISO-8859-1解析,URIEncoding是对URI(即URL除掉端口之前的剩下部分)的解码,useBodyEncodingForURI是对QueryString(即URL?后的参数)的解码。另外,在filter中使用request.getRequestURI()出现乱码的话,可用URLDecoder.decode解码。

(2)POST表单的编解码:一定要在第一次调用request.getParameter之前,通过request.setCharacterEncoding(charset)来设置。POST表单参数是通过HTTP的BODY传递到服务端的,浏览器是根据ContentType的Charset对表单参数进行编码,而在服务端如果没有设置CharaterEncoding的话,将以ISO-8859-1编码解析参数。

(3)HTTP BODY的编解码:可通过response.setCharacterEncoding来设置,它是对服务器响应内容进行编码;还可在页面设置contentType="text/html;charset=UTF-8",也是指定对服务器响应内容的编码字符。而浏览器将通过Content-Type的charset来解码。另外,在jsp页面设置pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。

(4)访问数据库编码:主要设置JDBC URL来指定,添加useUnicode=true&characterEncoding=UTF-8即可。

最后,本文主要参照君山的博客:http://xulingbo.net/  。

JSP与Servlet的编解码的更多相关文章

  1. 【转】Java web 编解码

    几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...

  2. Java Web中涉及的编解码

    用户从浏览器发起一个HTTP请求,存在编码的地方是URL.Cookie.Paramiter.服务器端接收到HTTP请求后要解析HTTP协议,其中URL.Cookie和POST表单参数要解码,服务器端可 ...

  3. JSP和Servlet的中文乱码处理

    JSP和Servlet的中文乱码处理 前几天学习了JSP和Servlet中有关中文乱码的一些问题,写成了博客,今天进行更新一下.应该是可以解决日常的乱码问题了.现在作以下总结希望对需要的人有所帮助.我 ...

  4. jsp、servlet笔记

    1.init    初始化Jsp&Servlet方法   destroy 销毁Jsp&Servlet之前的方法   service 对用户请求生成响应的方法2.Jsp文件必须在jsp服 ...

  5. JSP和Servlet中的几个编码的作用及原理

    首先,说说JSP和Servlet中的几个编码的作用. 在JSP和Servlet中主要有以下几个地方可以设置编码,pageEncoding="UTF-8".contentType=& ...

  6. 【转】(超详细)jsp与servlet之间页面跳转及参数传递实例

    初步学习JavaEE,对其中jsp与Servlet之间的传值没弄清楚,查看网上资料,发现一篇超详细的文章,收获大大,特此记录下来.具体链接:http://blog.csdn.net/ssy_shand ...

  7. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  8. iOS8系统H264视频硬件编解码说明

    公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会 ...

  9. jsp和servlet中文乱码

    jsp和servlet之间出现中文乱码的集中原因和解决方法详解:http://blog.csdn.net/longyuhome/article/details/7856270

随机推荐

  1. MVC Hidden用法

    @Html.Hidden("DataSeriID",ViewBag.DataSeriID as string) 第一个参数相当于生成的ID值,后面的参数是String类型的数据,V ...

  2. MVC程序部署后页面指向login.aspx

    MVC程序在本地没有问题,但是部署到服务器后老是跳转到Login.aspx页面,但是我的MVC程序中根本没有Login页面,看了一下链接是这样的 htttp://localhost:26290/log ...

  3. 我遇到的错误curl: (7) Failed to connect to 127.0.0.1 port 1086: Connection refused

    今天我用curl命令,无论如何都是出现: curl: (7) Failed to connect to 127.0.0.1 port 1086: Connection refused 找了很久,不知道 ...

  4. 状态模式-State

    状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 状态模式结构图: 代码实现:

  5. MFC中CAsyncSocket和CSocket

    原文链接:https://blog.csdn.net/libaineu2004/article/details/40395917 摘要部分重点: 1.CAsyncSocket类逐个封装了WinSock ...

  6. HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...

  7. ios 短音效的使用

    1.通用短音效ID的获取 #import <Foundation/Foundation.h> @interface MJAudioTool : NSObject /** * 播放音效 * ...

  8. 洛谷P1113杂物——DP

    题目:https://www.luogu.org/problemnew/show/P1113 每个任务的时间就是准备工作中完成最晚的那个的时间再加上自己的时间. 代码如下: #include<i ...

  9. vue中minxin---小记

    定义全局的方法,例如定义过滤器,在很多地方都会用到,就可以定义在minxin中 demo: 数据格式化 保留指定的小数位数 var mixin={ filters:{ fixedNum:functio ...

  10. 容器之vector

    #include <iostream> #include <vector> #include <string.h> #include <algorithm&g ...