对于一个
Java人员来说,
Servlet
知识很重要,不仅企业面试时会问,在日常的项目中也有着举足轻重的作用。接下来的郑州
Java
学习进阶课,小编就给大家简单汇总
Servlet
入门知识。
Servlet
是什么?
Servlet
是基于
Java
技术的
Web
组件,由容器管理并产生动态的内容。
Servlet
与客户端通过
Servlet
容器实现的请求
/
响应模型进行交互。注意:
Servlet
不是从命令行启动的,而是由包含
Java
虚拟机的
Web
服务器进行加载。
Servlet
的特点是什么?
1
)高效。在服务器上仅有一个
Java
虚拟机在运行,它的优势在于当多个来自客户端的请求进行访问时,
Servlet
为每个请求分配一个线程而不是进程。
2
)方便。
Servlet
提供了大量的实用工具例程,例如处理很难完成的
HTML
表单数据、读取和设置
HTTP
头、处理
Cookie
和跟踪会话等。
3
)跨平台。
Servlet
是用
Java
类编写的,它可以在不同的操作系统平台和不同的应用服务器平台下运行。
4
)灵活性和可扩展性。采用
Servlet
开发的
Web
应用程序,由于
Java
类的继承性、构造函数等特点,使得其应用灵活,可随意扩展。
5
)共享数据。
Servlet
之间通过共享数据可以很容易地实现数据库连接池。它能方便地实现管理用户请求,简化
Session
和获取前一页面信息的操作。
6
)安全。有些
CGI
版本有明显的安全弱点。即使是使用最新的标准和
PERL
等语言,系统也没有基本安全框架。而
Java
定义有完整的安全机制,包括
SSL\CA
认证、安全政策等规范。
Servlet
的功能是什么?
当启动
Web服务器或客户机第一次请求服务时,可以自动装入
Servlet
,之后,
Servlet
继续运行直到其他客户机发出请求。
Servlet
的功能涉及范围很广:
1
)
创建并返回一个包含基于客户请求性质的动态内容的完整的
HTML页面;
2
)
创建可嵌入到现有
HTML页面中的一部分
HTML
页面(
HTML
片段);
3
)
与其他服务器资源(包括数据库和基于
Java的应用程序)进行通信;
4
)
用多个客户机处理连接,接收多个客户机的输入,并将结果传递到多个客户机上,例如,
Servlet可以是多参与者的游戏服务器;
5
)
当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至
applet的新连接,并将该连接保持在打开状态;当允许客户机和服务器简单、高效地执行会话的情况下,
applet
也可以启动客户浏览器和服务器之间的连接,可以通过定制协议进行通信;
6
)
将订制的处理提供给所有服务器的标准程序。
Servlet
层级关系:
Servlet
(接口)
-->GenericServlet
(抽象类,与协议无关的
Servlet
)
-->HttpServlet
(抽象类,实现了
Http
协议的
Servlet
)
-->Custom Servlet
(自定义的
Servlet
)
Servlet
的工作过程
:
1
)在客户端对
web
服务器发出请求。
2
)
web
服务器接收到请求后将其发送给
Servlet
。
3
)
Servlet
容器为此产生一个实例对象并调用
ServletAPI
中相应的方法来对客户端
HTTP
请求进行处理
,
然后将处理的响应结果返回给
WEB
服务器。
4
)
web
服务器将从
Servlet
实例对象中收到的响应结构发送回客户端。