一、介绍
servlet框架:是由两个Java包组成:javax.servlet和javax.servlet.http
javax.servlet包:定义了所有的Servlet类都必须实现或扩展的的通用接口和类.
javax.servlet.http包:定义了采用HTTP通信协议的HttpServlet类.
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.
Servlet接口中定义了5个方法,其中有3个方法代表Servlet的声明周期:
1)init方法,负责初始化Servlet对象
2)service方法,负责相应客户的请求
3)destory方法,当Servlet对象退出声明周期时,负责释放占有的资源
当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.
HTTP 请求方法:DELETE,GET,OPTIONS,POST,PUT和TRACE
HttpServlet类中别提供相应的服务方法:doDelete(),doGet(),doOptions(),doPost(), doPut()和doTrace().
二、HttpServlet的功能
httpServlet首先必须读取http请求的内容。Servlet 容器负责创建HttpServlet 对象。并把请求直接封装到httpServlet。简化了HttpServlet解析请求数据的工作量。
请求流程
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客户。
三、创建HttpServlet的步骤——“四部曲”
1)扩展HttpServlet抽象类;
2)覆盖HttpServlet的部分方法,如覆盖doGet()或doPost()方法;
3)获取HTTP请求信息。通过HttpServletRequest对象来检索HTML表单所提交的数据或URL上的查询字符串;
4)生成HTTP响应结果。通过HttpServletResponse对象生成响应结果,它有一个getWriter()方法,该方法返回一个PrintWriter对象。
getHeader(string name):以 String 的形式返回指定请求头的值。如果该请求不包含指定名称的头,则此方法返回 null。如果有多个具有相同名称的头,则此方法返回请求中的第一个头。头名称是不区分大小写的。可以将此方法与任何请求头一起使用
getHeaders(String name):以 String 对象的 Enumeration 的形式返回指定请求头的所有值
getHeaderNames() :返回此请求包含的所有头名称的枚举。如果该请求没有头,则此方法返回一个空枚举
HttpServletRequest详解
代表客户端的请求,当客户端通过http协议访问服务器时,Http请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。