java servlet拾遗(1)-Servlet总揽
java servlet拾遗(1)-Servlet总揽
haoran_10 发表于1年前
java servlet拾遗(1)-Servlet总揽
  • 发表于 1年前
  • 阅读 21
  • 收藏 1
  • 点赞 0
  • 评论 0

一、总的来看:java servlet API 类框图

(1)、Servlet Api的核心是javax.servlet.Servlet接口,包括5个方法,3个方法由Servlet容器来调用

  • public void init(ServletConfig config) throws ServletException;  初始化资源,容器启动的时候
  • public void service(ServletRequest req, ServletResponse res) 

 throws ServletException, IOException;   负责请求,并进行业务处理,并返回响应

  • public void destroy(); 负责释放Servlet对象占用的资源。当Servlet结束对象时,调用该方法。

另外两个是返回Servlet的相关信息的方法

  • public ServletConfig getServletConfig();  返回一个ServletConfig 对象,包含了Servlet初始化参数信息
  • public String getServletInfo(); 返回一些简要的Servlet文本信息

 

(2)、GenericServlet 抽象类实现了Servlet接口的通用方法,屏蔽了网络应用层协议,还实现了ServletConfig  和Serializable接口。个人觉得意义不大,并没有什么卵用。

 

(3)、javax.servlet.http.HttpServlet类 ,顾名思义,是基于http协议通用实现

  • 好像暂且也只有这么一个协议层,并没有什么TcpServlet,UdpServlet等等之类的Servlet,当然了,Servlet的创建者高瞻远虑,还是值得崇拜的
  • 在自定义的Http协议的,基于javaWeb开发的应用中,都继承HttpServlet类。
  • http协议把客户请求get,post,put,delete等多种方式,而HttpServlet则通过重载protected void service(HttpServletRequest req, HttpServletResponse resp)  throws ServletException, IOException把每一种请求方式都提供了相应的服务方法,我们只要继承该方法,即可提供相应的http协议方法给客户端。如图领略一些:

(4)、javax.servlet.ServletRequest接口,表示客户端的请求,当Servlet容器接收客户的请求时,Servlet容器把客户端的请求都解析并封装到ServletRequest对象,供Servlet对象调用service()方法时使用

 

(5)、javax.servlet.http.HttpServletRequest 顾名思义,就是基于http协议的客户端的请求信息,主要包括http协议里的

  • 请求header信息,包括编码,长度,响应类型等等
  • 请求的body信息
  • 请求cookie信息
  • 请求的方法
  • 而继承于ServletRequest的public ServletInputStream getInputStream() throws IOException; ,则是其他方法的数据源头

(6)、javax.servlet.ServletResponse 接口,表示响应给客户端的结果,主要是调用

  • public ServletOutputStream getOutputStream() throws IOException;  通过该方法,输出给客户端响应的二进制信息
  • public PrintWriter getWriter() throws IOException; 直接输出文本类信息
  • public void flushBuffer() throws IOException;最后都要调用该方法,把缓冲区内的数据全部输出到客户端

 

(7)、javax.servlet.http.HttpServletResponse 基于http协议的响应接口,对应HttpServletRequest  ,包括返回给客户端的header,body,cookie,当然还有基于cookie的回话。

 

(8)、javax.servlet.ServletConfig 接口 主要是作为配置参数用,也可以自定义配置文件代替

 

(9)、javax.servlet.ServletContext 接口 

  • Servlet启动时创建,且尽创建一个ServletContext对象
  • web应用的总管家
  • 用于在Web应用范围内 存取共享数据的方法
  • 访问当前Web应用的资源
  • 访问Servlet容器中的其他web应用
  • 访问服务器端的文件系统资源
  • 日志输出

 

 

 

 

 

 

共有 人打赏支持
粉丝 27
博文 88
码字总数 80846
×
haoran_10
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: