版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二卷
Web组件-1(Servlet)Servlet中文乱码和会话跟踪2回顾Servlet使用户可以在服务器上运行Java代码和生成动态内容HTTPServlet发送HTTP请求和接受HTTP响应Servlet生命周期由三种方法组成,即init()、service()和destroy()ServletAPI包含于两个包中,分别为javax.servlet
和
javax.servlet.httpServlet继承GenericServlet类或HttpServlet类。利用Eclipse平台开发Servlet3目标Servlet中文乱码定义会话跟踪创建会话标识会话跟踪技术中文乱码
在Servlet中,经常会有这样一行代码request.setCharacterEncoding(“GBK”);这行代码的作用就是避免Servlet响应页面中出现中文乱码的问题。为什么会产生乱码?不同的组件有自己默认的字符编码集。当编码和解码的字符集不一致,就容易产生乱码问题。中文IE默认的编码格式是“GB2312”Tomcat默认的编码格式“iso-8859-1”weblogic默认的编码格式“UTF-8”JAVA源文件编译为class文件时的字符集,默认为操作系统的字符集,但在IDE中可以改变。中文乱码解决办法整个系统从开发到运行使用统一的字符编码集开发应用程序的IDE工具设置。开发所使用的容器的配置文件的设置。请求处理方式的设置响应处理方式的设置存取数据库时的设置最好选择以下其中一种进行统一Iso-8859-1GBK(GB2312)UTF-8(支持所有语言)中文乱码解决办法IDE开发环境(MyEclipse)中,设置字符集中文乱码解决办法开发中所使用容器的配置文件的设置,例如修改weblogic容器中的weblogic.xml配置文件,在<jsp-descriptor>部分加入:<jsp-descriptor><jsp-param><param-name>compilerSupportsEncoding</param-name><param-value>true</param-value></jsp-param><jsp-param><param-name>encoding</param-name><param-value>GBK</param-value></jsp-param></jsp-descriptor>中文乱码解决办法响应处理方式中的设置在Servlet中加入JSP中加入:中文乱码解决办法请求处理方式中的设置对于POST请求:request.setCharacterEncoding(“GBK”)对于GET请求:Stringinfo=request.getParameter("information");Stringnewinfo=newString(info.getBytes("utf-8"),"GBK");中文乱码解决办法存取数据库时的设置11有必要保持同一客户的会话(会话跟踪)会话跟踪保持客户端状态Internet协议两种类型:①有状态:Telnet、FTP;②无状态:Http(服务器一旦响应完客户的请求之后,断开其之间网络连接,该客户下次请求将重新建立网络连接,服务器判断是否为同一个客户发出请求)12会话跟踪请求1请求2请求n…….服务器将唯一的会话ID
分配给客户端以跟踪用户13会话如何工作beer网上交易平台客户端AServletA请求‘Darkbeer’单价?请求1线程AHttpSessionASetAttribute()线程发现与客户A的会话,把他的选择Darkbeer作为一个属性保存在HttpSessionA会话中响应’15’响应’15’请求‘Expensive’线程B请求2线程找到该会话,把‘Expensive’作为一个属性保存会话中响应’15off8’响应’15off8’客户端B线程C请求‘Polobeer‘单价?请求3HttpSessionBSetAttribute()线程为客户B开始一个新会话,并保存’Polobeer‘响应’12’响应’12’发现:容器会为每一个客户端维护一个单独的HttpSession对象ServletA14问题容器怎么知道客户是谁?
因为Http协议无状态,对同一客户所发出的每次请求对容器而言都是一个新的客户。答案客户需要一个唯一的会话ID
即:对客户的第一次请求,容器会生成一个唯一的会话ID,并通过响应把它返回给客户;客户再在以后的每一个请求中发回这个会话ID,容器看到ID后,就会找匹配的会话,并把这个会话与请求关联。
15会话跟踪请求1’Darkbeer‘请求2‘Blackbeer’ID#42…….Hi,Server,这是我的第一个请求,参数是Darkbeer,我们可以开始一个会话吗?好,但是我很健忘,可能记不得你,所以给你一个唯一的ID,每次你发送请求时一定把它交还给我,这样我就知道那是你了ID#42newSessionID‘#42’SetAttribute(‘Darkbeer’)响应ID#42让我看看,#42…哦有你,对了我现在想起来你是谁了,上一次你说你喜欢’Darkbeer‘SetAttribute(‘Blackbeer’)响应16创建嘱会话创建涌会话缘瑞对象Ht息tp啦Se问ss傅io钱n若发片来的购请求吉中无争会话ID恰,容器绒创建餐新会顶话;若发荣来的钟请求端中有鹊会话ID全,无需扒创建反新会码话,斧找到舅相关紧的会盛话ID。Ht润tp北Se注rv吓le姻tR薪eq策ue荣st的ge攻tS处es茄si臂on()方法与用于获取皱或创建垫会话棵,其妄语法侨如下米:pu麻bl诉icHt庙tp吉Se唇ss激io窝nge句tS轿es识si诞on()棵;pu紫bl气icHt苍tp碍Se颜ss包io雪nge修tS竭es匪si敲on窑(b万oo般le降anva肢lu饭e)河;如果悦没有膏与当址前请用求关卡联的辆会话胃,则ge奶tS宵es仰si份on()方法受用于谦创建因会话缠。如果聚布尔保值为tr洁ue且当它前没桌有与税请求竖关联欢的会顽话,春则使余用ge辱tS唉es驳si影on滥(b西oo阳le男anva半lu臂e)创建挽会话盲。如捐果布叙尔值将为fa却ls醉e,如眼果没钥有与秩当前畏请求购关联渠的会猪话,繁返回nu钢ll。17示例创建抛会话姜对象泪,要龄求判躁断会突话是厕已经睡存在滴,还腊是刚纹刚创初建。18运行重新兆刷新竞请求19会话笋跟踪窝技术会话妈跟踪捕技术隐藏恐表单脊域UR情L重写Co俊ok宗ie以下多是各叠种会棉话跟役踪技滑术:20隐藏贸表单侵域将会虎话信秩息保科存在马隐藏塞域中扇,但酿是不膛会显晋示在宿客户金端浏贸览器编中<f碧or惕m骗ac最ti安on晓=锹“膀\\fi芹rs幼th喝tm硬l.毛js雀p”暂me垦th占od别=”疼PO坏ST测”><i导np于ut呀t妙yp及e狠=绒“hi探dd僚en”计na这me弓=“pr怜od雅uc丙ti缴d”当va面lu潜e=值“1嘴23愤”></草fo意rm塘>在GE工T和PO领ST方法尖中指舰定用训于存添储有晋关会著话消枪息的驻名称丈和值是。21会话璃跟踪毫实例-122运行23UR截L重写如果烤客户忽不接防受co巾ok伏ie侨,可以抵把UR蚊L重写自作为惜一条酸后路畏,即壤使用Ht集tp哲Se虚rv密le刺tR古es令po梳ns外e对象劲的en去co罚dU疫RL方法方把服舒务器纲端生圣成的肃会话ID传到知客户芬端,闸客户鸟端下底次请曾求时太,显示包含嫩会话ID的信刷息发坏送到悠服务速器UR巷L+乔;j科se滤ss愧io秃ni颤d=会话ID注意验:容维器一微般先映会使颈用co浅ok落ie来完支成会味话管求理,特只有次当co且ok助ie方法爬失败摆时,滔显示结地UR有L编码匠才起走作用私(UR浓L重写该自动浇发生验)静态龟页面篮不能UR附L重写24会话送跟踪曲实例-2ge雕tC以on订te家xt框Pa陪th()返回钟上下雷文路肚径,en混co滑de记UR胃L()将字结符串佩转换委为UR准L路径25运行26Co醋ok寄ie馒-1容器搜必须任以某樱种方校式把饲会话ID作为按响应唐的一拔部分障交给喇客户敬,而米客户古必须画把会单话ID作为垫请求赶的一英部分定发回般。最厌常用窗的方父式是厨通过co溪ok继ie交换完这个壶会话ID信息咏。Co线ok章ie用于胁存储We建b服务妇器发腰送给踢客户帮端的城信息进。服戏务器精通过肃设置木响应您标题喉中的Se望t-跳Co纸ok彩ie方法炸来发标送co普ok角ie。其知语法出如下涝:在响掘应中锡发送停一个兴会话co逝ok归ie衡(n缴am缝e=v阴al盘ue焦)Ht油tp职Se沟ss挣io福nse练ss泻io沃n=re娃qu附es蜻t.冶ge肠tS巡寿es钟si的on()拐;该方留法不钳只是琴创建违一个遍会话扎,在蔽请求堤上第疯一次压调用侦该方切法时珠,会觉导致堡响应层发一个co牌ok殖ie构;客户棍端将查接收率并保衡存该co农ok瓦ie冠,客户私端每委次访捎问该跃服务怕器上股的页时,拍会将co恭ok降ie发回红到服坝务器注)co端ok艺ie与会岁话的晒寿命逼一样撞长,索一旦易客户订离开该浏览死器,co捆ok亲ie就会际消失应,但草可以免设置co名ok散ie在客杂户端情上待字得更坝久一始些,喝甚至穿在浏论览器孔关闭硬之后忠还持贴久保柏存Se慎t-廊Co赛ok医i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考物理总复习专题十一交变电流第1讲交变电流的产生和描述练习含答案
- 清算风险管理协议
- 油漆购销合同范例
- 九年级道德与法治上册 第一单元 富强与创新 第一课 踏上强国之路 第2框走向共同富裕教案1 新人教版
- 二年级品德与生活上册 玩中有发现教案1 首师大版
- 2024-2025学年新教材高中生物 第四章 生物的变异 第一节 基因突变可能引起性状改变教案(2)浙科版必修2
- 2024-2025学年高中历史 第一单元 第1课 第一次世界大战的爆发教案1 新人教版选修3
- 2024-2025学年高中地理 第二章 中国的主要自然灾害 2.1 自然资源利用中存在的问题教案 中图版选修6
- 广东省佛山市顺德区江义初级中学九年级化学上册 3.1 分子和原子教案3 (新版)新人教版
- 2023七年级语文下册 第四单元 写作 怎样选材配套教案 新人教版
- 唐雎不辱使命课件(共张PPT)
- 钢结构模块化安装施工方案
- 公路工程地质勘察布孔原则
- 武汉理工网络《证券法》试题及其答案
- 物业公司安保部危险源清单及风险评价表
- 实验三十四 植物叶绿体色素的提取、分离、表征及含量测定
- 传热学——凝结核沸腾传热
- 大连区域自然地理与地质环境
- 山东大学药学院药物化学教学大纲
- 儿童糖尿病ppt课件
- 中华诗词之美期末考试答案(汇总)
评论
0/150
提交评论