- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中文乱码 在Servlet中,经常会有这样一行代码 request.setCharacterEncoding(“GBK”); 这行代码的作用就是避免Servlet响应页面中出现中文乱码的问题 。 为什么会产生乱码? 不同的组件有自己默认的字符编码集。当编码和解码的字符集不一致,就容易产生乱码问题 。 中文IE默认的编码格式是“GB2312” Tomcat默认的编码格式“iso-8859-1” weblogic默认的编码格式“UTF-8” JAVA源文件编译为class文件时的字符集,默认为操作系统的字符集,但在IDE中可以改变。 中文乱码解决办法 整个系统从开发到运行使用统一的字符编码集 开发应用程序的IDE工具设置。 开发所使用的容器的配置文件的设置。 请求处理方式的设置 响应处理方式的设置 存取数据库时的设置 最好选择以下其中一种进行统一 Iso-8859-1 GBK(GB2312) UTF-8(支持所有语言) 中文乱码解决办法 IDE 开发环境(MyEclipse)中,设置字符集 中文乱码解决办法 开发中所使用容器的配置文件的设置,例如修改weblogic容器中的weblogic.xml配置文件,在jsp-descriptor部分加入: jsp-descriptor jsp-param param-namecompilerSupportsEncoding/param-name param-valuetrue/param-value /jsp-param jsp-param param-nameencoding/param-name param-valueGBK/param-value /jsp-param /jsp-descriptor 中文乱码解决办法 响应处理方式中的设置 在Servlet中加入 JSP中加入: 中文乱码解决办法 请求处理方式中的设置 对于POST请求: request.setCharacterEncoding(“GBK”) 对于GET请求: String info = request.getParameter(information); String newinfo=new String(info.getBytes(utf-8),GBK); 中文乱码解决办法 存取数据库时的设置 * * * Enterprise Java Enterprise Java 第二卷Web组件-1(Servlet) Servlet中文乱码和会话跟踪 * 回顾 Servlet 使用户可以在服务器上运行 Java 代码和生成动态内容 HTTP Servlet 发送 HTTP 请求和接受 HTTP 响应 Servlet 生命周期由三种方法组成,即 init()、service() 和 destroy() Servlet API 包含于两个包中,分别为 javax.servlet 和 javax.servlet.http Servlet 继承 GenericServlet 类或 HttpServlet 类。 利用Eclipse平台 开发Servlet * 目标 Servlet中文乱码 定义会话跟踪 创建会话 标识会话跟踪技术 * 有必要保持同一客户的会话(会话跟踪) 会话跟踪 保持客户端状态 Internet 协议两种类型: ①有状态:Telnet、FTP; ②无状态:Http(服务器一旦响应完客户的请求之后,断开其之间网络连接,该客户下次请求将重新建立网络连接,服务器判断是否为同一个客户发出请求) * 会话跟踪 请求 1 请求 2 请求 n ……. 服务器将唯一的会话 ID 分配给客户端以跟踪用户 * 会话如何工作 beer网上交易平台 客户端A ServletA 请求‘Dark beer’ 单价? 请求1 线程A HttpSessionA SetAttribute() 线程发现与客户A的会话,把他的选择Darkbeer作为一个属性保存在HttpSessionA会话中 响应’15’ 响应’15’ 请求‘Expensive’ 线程B 请求2 线程找到该会话,把‘Expensive’作为一个属性保存会话中 响应’15 off8’ 响应’15 off8’ 客户端B 线程C 请求‘Polo beer‘单价? 请求3 HttpSessionB SetAttribute() 线程为客户B开始一个新会话,并保存’Polo beer‘ 响应’12’ 响应’12’ 发现:容器会为每一个客户端维护一个单独的HttpSession对象 ServletA * 问题 容器怎么知道客户是谁? 因为Http协议无状态,对同一客户所发出的每次请求对容器而言都是一个新的客户。 答案 客户需要
您可能关注的文档
- RFID原理与应用-第六章.ppt
- RFID原理与应用-第五章.ppt
- RFID无线电子菲,车间现场智能化,数字化轻松管理.ppt
- RFID智能停车管理系统.ppt
- RFT软件功能自动化测试入门.ppt
- RF射频知识详细介绍.ppt
- RF信号发生器的使用与介绍.ppt
- RF项目开发评估报告.ppt
- RhD(-)血型的研究进展.ppt
- RIP坏消息传播的慢.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)