文档章节

java servlet拾遗(1)-Servlet总揽

haoran_10
 haoran_10
发布于 2016/07/15 16:38
字数 766
阅读 23
收藏 1

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

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
haoran_10
粉丝 25
博文 88
码字总数 80846
作品 0
杭州
程序员
Spring 和 JavaEE的关系

Java EE vs Spring. Or: What is a standard? 什么是JavaEE J2EE是一系列技术标准所组成的平台。JavaEE包含了对一系列标准(接口)的实现。如果你要用这些接口,恐怕要使用JavaEE服务器而不仅...

Finley.Hamilton
2014/11/12
0
0
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0
如何成为一个优秀的JSP程序员

一个普通的错误是把JSP当作简化的Java,它不是,(事实上, JSP是简化的Servlet)程序员通常试着没有学习要求的支持技巧而直接学习JSP。JSP是一个衔接技术,并且成功地连接你需要理解的另外的...

五味格子
2011/05/11
0
0
9.java web的发展 javaweb是什么 J2EE发展历史 规范 J2EE是什么 发展背景 组件标准 J2EE好处作用 Servlet 含义 本质 发展 java在web中的发展 servlet工作流程 java 开发web项目发展 javaBean jsp

javaweb 本质上来说就是使用java 语言来解决企业web应用中一系列技术体系与规范; jdk1.2 playground 此版本中把java技术体系拆分为三个方向 J2SE J2EE J2ME 这个大家都知道 其中之一的J2EE,...

noteless
06/29
0
0
六、JSP的由来以及与Servlet的关系

JavaWeb在有了Servlet这项技术以后,就可以编写动态网页了。在动态网页中,一般来说样式是不变的,变化的是数据。如果程序员在Servlet类中写了大量的静态代码,例如out.println("<html>");这...

Wakeeee_
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
4分钟前
0
0
=====BJmeter性能测试小接=====

一、性能测试分类 1、负载测试: 通过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于某个值,如cpu使用率小于等于80% 2、压力测试: 通过逐步加压的方法,使得系统的某些资源...

覃光林
7分钟前
0
0
企业级开源四层负载均衡解决方案--LVS

网盘链接 企业级开源四层负载均衡解决方案--LVS 本课程将在Linux环境下,学习配置使用LVS,对Web集群和MySQL集群进行负载均衡,并结合利用Keepalived实现负载均衡器的高可用,实现对后端Rea...

qq__2304636824
13分钟前
0
0
Windows上安装Spacemacs

emacs安装 下载地址emacs 安装比较简单,解压后执行\bin\addpm.exe即可 emacs配置 emacs的默认配置文件路径和.emacs.d文件夹都是在Windows主目录下的 C:\Users\Administrator\AppData\Roami...

yxmsw2007
29分钟前
0
0
OSChina 周一乱弹 —— 鱼生不值得

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念:分享新裤子的单曲《没有理想的人不伤心 (Remix版)》: 《没有理想的人不伤心 (Remix版)》- 新裤子 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
171
9

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部