`
haoran_10
  • 浏览: 435384 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java servlet拾遗(1)-Servlet总揽

阅读更多

一、总的来看: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应用
  • 访问服务器端的文件系统资源
  • 日志输出
 
 

 

 

 

 

  • 大小: 147.4 KB
  • 大小: 14 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics