httpservlet 相关知识点

Servlet的框架是由两个 Java包组成:javax.servlet和javax.servlet.http。 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类,在javax.servlet.http包中定义了采用HTTP 通信协议的HttpServlet类。
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口。在 Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的生命周期:
init方法,负责初始化Servlet对象
service方法,负责响应客户的请求
destroy方法,当 Servlet对象退出生命周期时,负责释放占有的资源
Servlet被设计成请求驱动的.Servlet的请求可能包含多个 数据项,当 Web容器接收到某个Servlet请求时,Web容器把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.
HTTP的请求方式包括DELETE,GET, OPTIONS, POST,PUT和 TRACE,在HttpServlet类中分别提供了相应的服务方法,它们是,doDelete(), doGet(),doOptions(),doPost(), doPut()和doTrace().
HttpServlet容器响应Web客户请求流程如下:
1)Web客户向 Servlet容器发出 Http请求
2)Servlet容器解析Web客户的Http请求;
3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;
4)Servlet容器创建一个HttpResponse对象;
5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;
6)HttpServlet调用HttpRequest的有关方法,获取 HTTP请求信息;
7)HttpServlet调用HttpResponse的有关方法,生成响应数据;

8)Servlet容器把HttpServlet的响应结果传给Web客户。

下面介绍 HTTP请求和响应,一个HTTP请求包含请求方法,请求URL,头字段和请求体. HTTP1.1定义了下面的请求方法:
1. GET :获取由请求URL标识的资源
2. POST :向 Web服务器发送无限制长度的数据
3. PUT :存储一个资源到请求的URL
4. DELETE :删除由URL标识的资源
5. HEAD :返回URL标识的头信息
6. OPTIONS :返回服务器支持的HTTP方法
7. TRACE :返回 TRACE请求附带的头字段
HTTP响应包括响应码,头字段和响应体.HTTP协议要求响应码和所有的头字段都在任何响应体之前返回.
下面就对 Servlet各个服务方法做以介绍.
1. doGet() :调用服务器的资源,并将其作为响应返回给客户端. doGet()调用在URL里显示正在传送给Servlet的数据,这在系统的安全方面可能带来一些问题,比如说,用户登录时, 表单里的用户名和密码需要发送到服务器端,doGet()调用会在浏览器的URL里显示用户名和密码.
2. doPost() :它用于把客户端的数据传给服务端,使用它可以以隐藏方式给服务器端发送数据.Post适合发送大量数据.
3. doPut() :调用和doPost()相似,并且它允许客户端把真正的文件存放在服务器上,而不仅仅是传送数据.
4. doDelete() :它允许客户端删除服务器端的文件或者Web页面.它的使用非常少.
5. doHead() :它用于处理客户端的Head调用,并且返回一个response.当客户端只需要响应的 Header时,它就发出一个Header请求.这种情况下客户端往往关心响应的长度和响应的 MIME类型.
6. doOptions():它用于处理客户端的 Options调用,通过这个调用,客户端可以获得此 Servlet支持的方法.如果Servlet覆盖了doPost()方法,那么将返回:
Allow:POST, TRACE, OPTIONS,HEAD
百度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值