Java学习进阶之Servlet入门知识汇总

107 阅读3分钟

对于一个
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
实例对象中收到的响应结构发送回客户端。