JAVA实习笔记——Servlet
初学者servlet,最大疑问无非是:它是什么?它由什么组成?它的生命周期?它能干什么?它怎么实现 ?
servlet 还有很多地方需要学习,我暂时只写了这些,有很不完善的地方,仅代表个人意见,欢迎批评指正
以下观点参考了很多大神的资料
1. 什么是Servlet?
① Servlet就是JAVA 类
② Servlet是一个继承HttpServlet类的类
③这个在服务器端运行,用以处理客户端的请求
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层,简单的来说,它只是一个类。
2. 它由什么组成?
ServletAPI 主要由两个Java包组成: javax.servlet 和 javax.servlet.http
javax.servlet.* :存放与HTTP 协议无关的一般性Servlet 类;
javax.servlet.http.* :除了继承javax.servlet.* 之外,并且还增加与HTTP协议有关的功能。
HttpServlet :提供了一个抽象类用来创建Http Servlet。
public void doGet()方法:用来处理客户端发出的 GET 请求
public void doPost()方法:用来处理 POST请求
还有几个方法大家自己去查阅API帮助文件
javax.servlet包的接口:
ServletConfig接口:在初始化的过程中由Servlet容器使用
ServletContext接口:定义Servlet用于获取来自其容器的信息的方法
ServletRequest接口:向服务器请求信息
ServletResponse接口:响应客户端请求
Filter接口:可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截
javax.servlet包的类:
ServletInputStream类:用于从客户端读取二进制数据
ServletOutputStream类:用于将二进制数据发送到客户端
javax.servlet.http包的接口:
HttpServletRequest接口:提供Http请求信息
HttpServletResponse接口:提供Http响应
3. 它的生命周期
整个过程.
- 如果一个servlet的实例并不存在, Web容器将
- 加载servlet类
- 创建一个servlet类的实例
- 调用init初始化servlet实例
- 调用service方法,传递一个请求和响应对象
- 如果该容器要移除这个servlet,可调用servlet的destroy方法来结束该servlet
servlet三个方法
init()方法:
service()方法:Dispatches client requests to the protected service method
destroy()方法:Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
Servlet生命周期
- 客户端请求该 Servlet;
- 加载 Servlet 类到内存;
- 实例化并调用init()方法初始化该 Servlet;
- service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions());
- destroy() 销毁
4. 它能干什么?
简单的说,它的工作模式是:
客户端发送请求至服务器,服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器,服务器将响应返回客户端。
Servlet 执行以下主要任务:
读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。
5. 它怎么实现?
最关键的地方,也是最期待的地方,需要配置服务器什么的巴拉巴拉。。代码贴在下一篇吧!
JAVA实习笔记——Servlet相关推荐
- Java学习笔记·Servlet parameter参数传递utf-8文字编码正常显示
传递parameter时,正常显示各种语言文字的编码 首先设置tomcat的uriencoding为iso-8859-1(tomcat配置文件里的server.xml) <Connector U ...
- Java Web 实习笔记(二)
Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 笔记(一) ...
- Java Web 实习笔记(一)
Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.WEB ...
- Java Web 实习笔记(三)
Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.Use ...
- 实习笔记 —— Maven
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...
- 微信公众号Java开发-笔记02【开发接入准备、开发接入】
学习视频网址:哔哩哔哩网站 微信公众号开发-Java版 [P01-P02]微信公众号Java开发-笔记01[微信公众号介绍.开发环境搭建] [P03-P04]微信公众号Java开发-笔记02[开发接入 ...
- 实习笔记 —— MyBatis III (输入/输出映射)
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记-- AOP开发II(AOP中Advice的类型) 实 ...
- 从零基础到拿到网易Java实习offer,我做对了哪些事
点击上方蓝字可以订阅哦! 作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右 ...
- java实习报告范文
篇1:java实习报告范文一.前言 实习时间:20_年02月07号---20_年06月1号 实习地点:河北中信联信息技术有限公司软件开发实习生 实习目的:通过实习,培养学生树立理论联系实际的工作作 ...
最新文章
- CentOS Firewall防火墙设置规则
- C# 部署失败--上传文件缺失
- [No0000130]WPF 4.5使用标记扩展订阅事件
- A01_[NumPy中文网]数组基础(创建数组,多维数组切片,数组属性)、使用数组(基本操作符,数组特殊运算符)、索引(花式索引,布尔索引,缺省索引)
- [react] react中你用过哪些第三方的中间件
- oracle database 11g plsql 程序设计,oracle-database-11g-plsql-编程实战笔记
- 计算机学报格式_参考文献格式的那些事儿
- 第5章 set命令详解
- 高等数学(第七版)同济大学 习题2-5 个人解答
- 【论文学习:基于EEG/EMG/EOG的多模态人机接口,用于实时控制软机器人手】
- 第1章 弗洛依德——精神分析
- 北京奖励专精特新企业补贴有哪些及怎么建设重点介绍,补贴20-50万
- 计算机系统变慢的原因,浅析win7系统变慢的原因以及如何让电脑提速
- dtypes.py:526: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a
- 职场人士如何抵御消极心理暗示
- 唐骏:身价10亿不买房 每月12万住宾馆
- 威纶通触摸屏宏指令GetData和SetData函数的使用方法示例
- (三)微信电子请帖制作
- 国产数字源表在三极管性能测试上面的应用
- 关于中英文语料的获取途径总结