servlet 小结

servlet 类的核心是javax.servlet 接口,servlet 接口定义了5个方法,有三个由servlet 容器来调用:

init(servlet config), service(servletRequest req,servletResponse res),destroy

 

javaweb 应用中的程序代码可以直接访问下面两个方法:

getservletConfig(),getservletInfo()

 

GenericServlet 抽象类

 

GenericServlet 抽象类为servlet接口提供了通用实现,还实现了servletConfig和Serializeable接口;

GenericServlet 类实现了Servlet接口中的init,和destroy方法,并没实现service方法,GenericServlet里面的service方法是它唯一的抽象方法,GenericServlet的子类必须实现该方法;

 

HttpServlet 类是GenericServlet类的子类,此类为Servlet 接口提供HTTP 协议相关通用实现,此类实现了Servlet接口中的service方法,该方法实际上调用的是它的重载方法

 

ServletRequest接口

 

Servlet接口中的service方法中的ServletRequest 类参数,该参数是客户端的请求

 

HttpServletRequest 接口

该接口是ServletRequesta接口的子接口

 

ServletResponse接口

 

Servlet接口中的service方法中的ServletResponse 类参数,该参数接受到客户端请求并响应的结果

其中为了提高输出数据的效率,ServletOutputStream和PrintWrite先把数据写到缓冲区,当缓冲区的数据提交给客户后,ServletResponse的isCommitted方法返回为true

 

HttpServletResponse 是ServletResponse的子接口

 

ServletContext接口

ServletContext接口是 Servlet与容器之间的直接通信接口,Servlet容器在启动一个web应用时,会为它创建一个ServletContext对象,每个web应用都有唯一的ServletContext对象,每一个web应用的所有servlet对象都共享一个总的ServletContext,比如下面几种应用:

setAttribute,getAttribute removeAttribute getAttributeNames,等,详情参考此接口的文档。

 

你可能感兴趣的:(servlet)