基于servlet的javaee应用程序.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于servlet的javaee应用程序

* * 实际上,JSP技术是出现在Servlet之后,只不过由于servlet输出HTML标签太麻烦,为了方便程序员编写动态网页,sun公司对servlet做了一些改进,对于网页中不会变化的部分,还是用HTML代码来书写,而对于需要根据请求动态生成的内容,才使用java程序来书写。这就是JSP技术,实际JSP是serlvet的衍生,JSP本质还是serlvet,我们用一个例子来说明。 新建一个a.jsp,为了简便,我们删除一些不必要的代码,然后在地址栏请求这个JSP页面,再到tomcat下找到生成的java文件 可见JSP只不过使用了一个障眼法,绕了半天,我们还是在使用serlvet * * * 画图, 当客户在浏览器中发起一个请求,然后与服务器建立一个连接,把请求的数据传递过去,服务器得到数据,经过处理,然后再将处理后的结果返回给客户端,也就是一个响应,之后服务器与客户端之间的连接就断开了, 这就说明为什么http协议是无状态的, 因为此时客户再发起一个请求, 他需要和服务器间重新建立一个新的请求,而服务器并不知道发起此次请求的客户是刚才那个客户。 还记得我在第一节课举的两个例子吗: 打电话,我和你通话,结束后,我把电话挂了,然后突然想起一个事还没说,我要做的是不是需要重新拨打对方电话号码,而不是直接拿起电话,“我还有一个事没说,我就是刚才那位。。。” 看电影,如果你中途出去,然后再进来,门卫是会拦着你,因为你之前的票只能单次有效 * http协议的无状态性,有它的优点:还记得第一节理论课说的吗,网络资源是有限的,如果和一个客户长期保持链接,会耗尽所有网络资源,比如,如何有一个人在同一天访问sina网,如果新浪服务器要和这1亿人长期保持链接,服务器就挂掉了。 但是新浪服务器可以保证同一时间有1百万个人同时链接,这一百万的客户请求响应完毕后,链接断开,在下一毫秒,又响应另一百万个请求,这样,同样是能满足1亿人,但是sina服务器只需要支持1百万个链接同时在线即可。 但是这带来一个缺点。如果服务器需要记住不同用户到底访问了多少次,如图所示,该怎么办 * 比如说,在线购物系统就需要具备这种功能,张三客户购买了两个商品,李四客户购买了3个商品,那么结帐时,服务器就需要知道知道不同客户购买商品的数量 * 这就相当于客户对我们提出的需求,我们如何解决呢,先不要想session,在session出现之前,就有解决这种问题的方法了。 灵感源自生活 就像图中所说,我们的web程序是否可以象像银行卡号那样,根据卡号锁定一个用户呢?响应的时候,由服务器给我分配一个唯一ID号,这样就能区别不同的用户了。再次请求的时候,我带着ID号,告诉服务器“我是谁”。 假如没有session,你如何根据这个提示来实现这个要求。 画图, 当张三第一次访问时,我们给他分配一个id,12345,然后响应时,我们把响应给客户的页面中的所有链接的后面都加上?Id=12345,这样,当张三点击这些页面的链接时,服务器就可以通过请求URL中的id=12345判断出请求这个资源的是张三。然后我们可以在服务器端内存中建立一个表,画图 Id 访问次数 订购的商品 订购的数量 12345 1 ACCP 1 12346 1 Benet 1(另一个用户李四) 然后在响应随后的响应页面中,同样是把所有链接都加上Id=12345 于是张三用户的所有信息都保存到这个表中了,这是刚开始实现会话的原型,叫URL重写。但他的缺点是所有响应页面的所有链接都要加上id字段。 所幸session给我们封装好了这一切。 * Session的原理和前面的URL重写原理类似,服务器为每个客户都会分配一个id,并创建一个与这个id关联的session对象,用来保存这个id客户的信息,表如图 Id session 12345 与该id关联的session 123456 与123456关联的session 服务器内存中就保存了这样一个表。 然后响应时,把id发给客户端,此时我们不需要重写URL,发给的id会存储到客户端浏览器的内存中,当客户再次发起请求时,浏览器会把内存中的这个id值一起发给服务器,这是服务器就能得到这个id,并根据id找到相对应的session,并把信息保存到这个session中。 * 现在大家明白了什么是会话吗,“同一个客户”即同一个浏览器,与服务器之间的多次的请求、响应关系,被称作一个会话 * 在myeclipse中看源码讲,这是一个servlet,大家还记得如何创建servlet吗,如果我要通过浏览器地址栏直接访问这个servlet,

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档