【Java基础知识】Servlet基础知识学习(一)

发布 : Java培训      来源:Java培训干货资料

2020-09-02 18:50:31

一、Servlet是什么

Servlet是一个类,是一个用Java语言编写的、实现Servlet接口的类,一个与访问协议和平台无关的,运行在Servlet容器中的Java程序。

Servlet没有main方法,不能独立运行;它只有实例化、初始化、运行、销毁方法,被编译成与平台无关的字节码文件后,需要加载到Servlet容器中才能执行,并且由Servlet容器管理Servlet的整个生命周期,所以,也常常称Servlet是Servlet容器上运行的服务器小程序。

Servlet推出初期,主要是作为支持HTTP协议的WEB服务器上的一种动态网页技术;随着Servlet技术的不断发展,Servlet可以作为支持任何协议的、实现Java API的服务器上的服务程序。

Servlet运行在服务器上,它可以接受来自客户端的请求,并将处理结果返回给客户端,于是,在许多应用中,Servlet主要用于实现动态网页,亦或作为前端页面与后台数据库或者后台服务器程序之间的中间件。

二、Servlet容器

Servlet容器作为支撑Servlet运行的平台,是一个非常重要的部件。也可以把Servlet容器看成是一个装载着许多Servlet对象的容器,Servlet容器负责管理这些Servlet对象。

Servlet容器运行在JVM(Java虚拟机)之上,管理Servlet的实例化、初始化、实例对象的运行和销毁,并提供最基础的运行支撑,例如:Servlet容器负责接收请求、转发请求、发送响应、管理会话状态、实现数据共享等等。

Servlet容器至少支持通过HTTP协议访问Servlet,也可以支持其他协议,例如:HTTPS、FTP、POP、SMTP等。

访问Servlet容器中Servlet的过程如下:

(1)客户发送访问请求至Servlet容器

(2)Servlet容器接收请求,解析,然后将请求发送给相应的Servlet处理

(3)Servlet执行,将处理结果返回给Servlet容器

(4)Servlet容器接收处理结果,将处理结果返回给客户

从以上访问Servlet的过程,可以看出,Servlet容器的作用如下:

(1)接收请求:当客户请求来到时,Servlet容器负责接收请求

(2)管理与调用Servlet:Servlet容器管理Servlet的加载、实例化、初始化、调用与垃圾回收,根据请求的Servlet地址,调用要访问的Servlet

(3)返回响应结果:将Servlet的执行结果返回给客户

Servlet运行在Servlet容器中,容器为Servlet提供运行时的平台支撑,于是,在Servlet中,只需要专注于业务逻辑功能实现,而无需考虑网络通讯、垃圾回收等功能,这些基本功能由Servlet容器提供。

Servlet容器主要提供了如下功能:

(1)基本通信支持:Servlet容器提供了与WEB服务器之间的通信方法,使Servlet可以与WEB服务器轻松对话,并借助WEB服务器与客户端浏览器之间的通信机制,使Servlet容器无需自己建立Socket服务、监听通信端口、创建数据流对象等;Servlet容器定义了与WEB服务器之间的通信协议,所以,在Servlet中,无需考虑WEB服务器(例如:Tomcat)和自己的功能代码之间的API接口,只需要考虑如何在Servlet中实现业务逻辑功能(例如:处理一个订单)。

(2)管理Servlet生命周期:Servlet容器管理着Servlet的整个生命周期,负责查找、加载、实例化、初始化、调用Servlet方法,以及销毁,有了Servlet容器,就不需要考虑Servlet资源的管理。

(3)支持多线程:Servlet容器会自动为它所接收的每一个客户请求创建一个新的Java线程,以处理该请求;对于每一个客户请求,Servlet服务方法执行结束,则Servlet容器就会结束立即这个线程。

(4)声明方式实现安全:按照Servlet容器要求,使用web.xml部署描述文件或注解来配置和修改安全性,而不必将其硬编码写到Servlet类代码中。

(5)支持JSP动态页面:Servlet容器负责将JSP页面翻译成Java Servlet代码,按Servlet来管理JSP页面的运行。

根据Servlet应用模式,Servlet最常用的模式是通过Servlet容器运行在WEB服务器中,以执行请求和响应,请求与响应的典型范例是用动态网页技术实现动态网页,或者作为前端页面与后台数据库/后台服务器程序之间的中间件,于是,Servlet容器需要与WEB服务器或应用服务器结合,才能为WEB应用程序的访问提供服务。

Servlet容器可以在WEB服务器内部实现,也可以作为WEB服务器的附加构件提供,还可以实现在有WEB使能的应用服务器上,为Servlet的访问提供运行支撑。

WEB服务器启动时,Servlet容器也会随之启动。

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部