首页 > 其他 > 详细

Servlet初识

时间:2016-05-14 18:45:45      阅读:242      评论:0      收藏:0      [点我收藏+]

  servlet的存在就是要为客户服务。servlet的任务是得到一个客户的请求,再发回一个响应。而servlet的一生是由容器全盘控制的,它会创建请求和响应对象、为servlet创建一个新线程或分配一个线程,调用servlet的service()方法,并传递请求和响应对象的引用作为参数。

1.servlet的生命周期

  技术分享

  技术分享

  servlet从不存在状态迁移到初始化状态(能够为客户提供服务),首先是从构造函数开始,但是构造函数只是使其成为一个对象,而不是一个servlet,要想成为一个servlet,对象必须具备一些servlet特性,比如能够使用ServletContext引用从容器得到信息。

  容器初始化一个servlet时,会为这个servlet创建一个唯一的ServletConfig对象。容器从DD(部署描述文件)读出servlet初始化参数,并把这些参数交给ServletConfig,然后把ServletConfig传递给servlet的init()方法。servlet初始化参数只能读一次,就是在容器初始化servlet的时候,然后就不能修改了。

2.幂等和非幂等的请求

  对于HTTP/servlet而言,幂等表示同一个请求可以做两次,而不会对服务器产生负面作用,并不是说同样的请求总会得到同样的响应,也不是说一个请求没有副作用。所以GET是幂等的,POST不是幂等的。

3.我们能从请求对象得到什么?

技术分享

getHeader:客户的平台和浏览器信息;

getCookies:与请求相关的cookie

getSession:与客户相关的绘画;

getMethod:请求的HTTP方法;

getInputstream:请求的输入流;

getServerPort:得到请求原本发送的端口;

getLocalPort:得到请求最后发送的端口;尽管请求要发送到一个端口(服务器所监听的端口),但是服务器会为每个线程找一个不同的本地端口,这样一来,一个应用就能同时处理多个客户了;

getRemotePort:得到客户的端口;

技术分享

4.请求分派和重定向

请求分派:服务器来完成工作,浏览器的地址栏不会发生变化;

技术分享

重定向:让客户来完成工作,浏览器的地址栏会发生变化;

技术分享

Servlet初识

原文:http://www.cnblogs.com/juaner767/p/5492899.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!