现在的位置: 首页 > 综合 > 正文

javaEE中jsp和servlet编码浅析

2013年10月03日 ⁄ 综合 ⁄ 共 834字 ⁄ 字号 评论关闭

编码:

JSPServlet中主要有以下几个地方可以设置编码,

pageEncoding="UTF-8"contentType="text/html;charset=UTF- 8"request.setCharacterEncoding("UTF-8")response.setCharacterEncoding("UTF-8")

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

 

其中前两个只能用于JSP中,而后两个可以用于JSPServlet中。

Jsp:pageEncoding=”utf-8”contentType=”text/html,utf-8”

Jsp中:首先通过这顶的编码方式即myeclipse设定的编码方式,被保存在本地硬盘生成扩展名为jsp的文件;在初次访问时,jsp文件被编译成java为扩展名的文件,而编译的编码是依据jsp中的pageEncoding=”utf-8”编译成相应的java文件,(最终编译成class为扩展名的文件)在编译成java文件过程中若编码和jsp被保存的编码不一样就会产生编码问题(直接在JSP中定义的字符串会出问题,而不是从浏览器提交的数据),

 

jsp中的contentType=”text/html,utf-8”指令和servlet中的response.setContentType("text/html;charset=UTF-
8");
方法是一样的

是指定浏览器对服务器响应的编码方式,即对服务器发送过来的数据包进行解包的编码方式,(在发送数据包时会产生一个消息头,告诉浏览器这种编码方式)同时浏览器也会用这种方式对数据进行打包发送给服务器

 

当浏览器发来数据包时,服务器是不是应该解析数据包呢?那么服务器解析数据包的编码方式是什么呢?是request.setCharacterEncoding()这样服务器就会按照指定的编码方式解析浏览器发送过来的数据包

抱歉!评论已关闭.