Servlet能够做什么?
Servlet API的核心类框图:
Servlet API的核心是javax.servlet.Servlet接口,所有的Servlet类都必须实现该接口。在Servlet接口中定义了5个方法,其中有3个方法都是由Servlet容器调用,即管理Servlet的生命周期,分别是init(ServletConfig cfg)、service(ServletRequest req, ServletResponse resp)、destroy()方法。除此之外,另外两个方法是getServletConfig()和getServletInfo(),用于返回Servlet相关信息。
GenericServlet抽象类,为Servlet接口提供了通用实现,它与任何网络应用层协议无关。
HttpServlet类是GenericServlet类的子类。
ServletRequest接口,当Servlet容器接收到客户端要求访问特定请求时,容器先解析客户端的原始请求数据,把它包装成一个ServletRequest对象。当容器调用service(req, resp)方法时,就可以把ServletRequest对象作为参数传递给service()方法。
ServlerRequest接口提供了一系列用于读取客户端的请求数据的方法。这里不列举了。
HttpServletRequest接口是ServletRequest接口的子接口。
————
说完了ServletRequest,该说ServletResponse了。
没错,ServletResponse是Servlet容器service(req, resp)方法的第二个参数。Servlet容器通过它来生成响应结果。在ServletResponse接口中定义了一系列与生成响应结果相关的方法。这里不列举了。