欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第3章 Servlet编程.ppt

    • 资源ID:2966028       资源大小:7.68MB        全文页数:42页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第3章 Servlet编程.ppt

    1,三、Servlet编程高级技能,客户端发送一个请求到服务器,服务器处理客户端的请求,返回响应到客户端,并关闭与客户端建立的连接,并不记录关于客户的任何信息。有时,可能要跨多个请求保留与客户的会话状态。例如,购物车,在一个请求中作出选择,在下一个选择中结账。常见的会话跟踪技术有:Cookie,URL重写或重定向。,2,HttpSession对象可以保存跨同一客户多个请求的会话状态。也就是说:对于会话期间客户所做的所有请求,从中得到的所有信息都可以用HttpSession对象保存。,会话如何工作?,3,会话如何工作(1),会话对象何时创建?,4,会话如何工作(2),5,会话如何工作(3),6,会话如何工作(4),7,会话如何工作(5),8,容器如何识别客户,对每一个客户的第一个请求,容器会生成一个唯一的会话ID,并通过响应把它返回给客户。客户再在以后的每一个请求中发回这个会话ID。容器看到ID后,就会找到匹配的会话,并把这个会话与请求关联。,9,客户和容器交换会话ID信息(1),最简单而且最常用的方式是通过cookie交换这个会话ID信息。,10,客户和容器交换会话ID信息(2),11,客户和容器交换会话ID信息(3),生成会话ID、创建新的cookie对象、把会话ID放到cookie中,及把cookie设置为响应的一部分等工作都由容器负责。对于后续的请求,容器会从请求中的cookie得到会话ID,将这个会话ID与一个现有的会话匹配,并把会话与当前请求关联。容器几乎会做cookie的所有工作,而且cookie的所有工作都在后台进行。,12,客户和容器交换会话ID信息(4),从请求得到会话ID:HttpSessionsession=request.getSession();,13,客户和容器交换会话ID信息(5),如果客户对这个会话ID没有响应过,isNew()就返回true,14,如果客户不接受cookie,可以把URL重写作为一条后路。URL重写是将会话ID附加到各个URL的最后。,URL重写(1),15,URL重写(2),不一定用分号作分隔符,不同的开发商可能采用不同的分隔符,16,URL重写(3),向这个URL增加额外的会话ID信息(只有告诉响应要对URL编码,对URL重写才能奏效),17,URL重写(4),如果要把请求重定向到另外一个URL,但还想使用一个会话,有一个特殊的URL编码方法:response.encodeRedirectURL(“/BeerTest.do”),encodeURL()和encodeRedirectURL()都是HttpServletResponse对象上调用的方法!,18,删除会话(5),会话有三种死法:超时在会话上调用invalidate()应用结束(崩溃或取消部署),在DD中配置会话超时,设置一个特定会话的超时(不影响应用中的其它会话超时时间,单位为秒),19,用cookie跟踪页面访问次数,20,21,得到一个Cookie数组,循环处理Cookie数组,找到你想要的那个cookie,22,Cookie构造函数取一个名/值String对作为参数,Cookie在客户端最多存活maxAge秒。设置为-1,表示浏览器退出时,cookie消失,把cookie发送到客户,不需要!这是默认发回的地址!,23,24,程序运行结果,http:/localhost:8084/SimpleServlet/cookietrack,25,用HttpSession对象存储用户访问页面次数,26,27,返回第一次创建会话的时间,返回容器最后一次得到包含这个会话ID的时间,28,打印双引号,获取servlet在当前应用的相对路径和名称/SimpleServlet/hitcounter,29,程序运行结果,http:/localhost:8084/SimpleServlet/hitcounter,30,Servlet确定无法完成工作后,调用sendRedirect()方法,让浏览器完成工作。,Servlet重定向(1),希望浏览器让这个URL处理请求,31,可以使用相对URL作为sendRedirect()的参数。sendRedirect(“foo/stuff.html”),Servlet重定向(2),容器知道原来的请求URL从myApp/cool路径开始,会把这一部分放在“foo/stuff.html”的前面,32,sendRedirect(“/foo/stuff.html”),Servlet重定向(3),开始位置上的斜线意味着“相对于这个Web容器的根”。新的URL是http:/WWW,33,Servlet请求分派,34,过滤器是Java组件,请求发送到servlet之前,可以用过滤器截获和处理请求,并在servlet结束处理工作之后,响应发回给客户之前,处理响应。容器根据DD中的声明来确定何时调用滤波器。部署人员建立映射,明确那个请求URL模式调用哪个(些)过滤器。,四、ServletFilter编程,35,声明过滤器,36,声明对应URL模式的过滤器映射,37,声明对应servlet名的过滤器映射,38,确定过滤器顺序的容器规则,当多个过滤器映射到一个给定资源时,容器使用以下规则:(1)先找到与URL模式匹配的所有过滤器,与URL模式匹配的过滤器,会按DD中声明的顺序组成一个链。(2)一旦将与URL匹配的所有过滤器都放在链中,容器会使用同样的方法确定与DD中与匹配的过滤器。,39,40,过滤器可以链到一起,一个接一个地运行。过滤器的运行顺序由DD控制,41,每个过滤器都必须实现Filter接口中的三个方法:init()、doFilter()和destroy()。,publicvoidinit(FilterConfigconfig)throwsServletExceptionthis.fc=config;,完成调用过滤器之前的所有初始化任务。这是常见的init()方法实现,42,课后练习,按照教材中的说明,调试实例程序3-113-15。,

    注意事项

    本文(第3章 Servlet编程.ppt)为本站会员(le****01)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开