初识Servlet - 草稿

Servlet能够做什么?

初识Servlet - 草稿_第1张图片
《Tomcat与javaweb开发技术详解》

Servlet API的核心类框图:

初识Servlet - 草稿_第2张图片
《Tomcat与javaweb开发技术详解》

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接口中定义了一系列与生成响应结果相关的方法。这里不列举了。

有两种输出方法重点说一下:

初识Servlet - 草稿_第3张图片
《Tomcat与javaweb开发技术详解》

HttpServletResponse接口是ServletResponse的子接口。

——————

ServletConfig接口,包含了Servlet的初始化参数信息。Servlet容器在调用Servlet对象的init(cfg)方法时,会把ServletConfig对象作为参数传给Servlet对象。

每个初始化参数包括一对参数名和参数值。在web.xml中配置一个Servlet时,通过元素来设置初始化参数。


## HttpServlet类继承GenericServlet类,而GenericServlet类实现了ServletConfig接口,因此在HttpServlet类或者GenericServlet及其子类中都可以直接调用ServletConfig接口中的方法。

——————

ServletContext接口,是Servlet与Servlet容器之间直接通信的接口。Servlet容器在启动一个web应用时,会为它创建一个ServletContext对象,且唯一!!可以把ServletContext对象形象的理解为web应用的总管家,同一个web应用中的所有Servlet对象都共享一个总管家,Servlet对象们可通过这个总管家来访问容器中的各种资源。

你可能感兴趣的:(初识Servlet - 草稿)