Servlet是一种独立于平台和协议的服务器端的java技术,可以用来生成动态的Web页面。Servlet是使用Java Servlet应用程序设计接口(API)及相关类和方法的Java程序。Servlet主要用户处理客户端传来的HTTP请求,并返回一个响应。通常Servlet是指HttpServlet,用于处理HTTP请求。能够处理的请求有:doGet() doPost() service()等。在开发Servlet时,可以直接继javax.servlet.http.HttpServlet。

推荐课程:Java教程。

Servlet与Servlet容器

Java Servlet(Java服务器小程序)是一个基于java技术的Web组件,运行在服务器端,由Servlet容器所管理,用于生成动态的内容。Servlet是平台独立的Java类,编写一个Servlet,实际上就是按照Servlet规范编写一个Java类。Servlet被编译为平台独立的字节码,可以被动态地加载到支持java技术的Web服务器中运行。

Servlet容器(Servlet引擎)是Web服务器或应用程序服务器的一部分,用于在发送的请求和响应之上提供网络服务,解码基于MIME的请求,格式化机遇MIME的响应。

Servlet不能独立于运行,必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法,Servlet容器在Servlet的生命周期内包容和管理Servlet。

Servlet技术特点

高效,方便,跨平台,功能强大,灵活性和可扩展性,共享数据,安全。

1. 高效

在服务器上仅有一个Java虚拟机在运行,它的优势在于当多个来自客户端的请求进行访问时,Servlet为每个请求分配一个线程而不是进程。

2. 方便

Servlet提供了大量的实用工具例程,如处理很难完成的HTML表单数据,读取和设置HTTP头,处理Cookie和跟踪会话等。

3. 跨平台

Servlet是用Java类编写的,可以在不同的操作系统平台和应用服务器平台下运行。

4. 功能强大

在Servlet中,许多实用传统CGI程序很难完成的任务都可以利用Servlet技术轻松完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

5. 灵活性和可扩展性

采用Servlet开发的Web应用程序,由于Java类的继承性,构造函数等特点,使得其应用灵活,可随意扩展。

6. 共享数据

Servlet之间通过共享数据可以很容易地实现数据库连接池。它能方便地实现管理用户请求,简化Session和获取前一页面信息的操作,而在CGI之间通信则很差。由于每个CGI程序的调用都开始一个新的进程,调用间通信通常要通过文件进行,因而相当缓慢。同一台服务器上的不同CGI程序之间的通信也相当麻烦。

7. 安全

有些CGI版本有明显的安全弱点。即使是实用最新标准,系统也没有基本安全框架。而Java定义有完整的安全机制,包括SSL\CA认证、安全政策等规范。

Servlet 动态页面阶段

用户访问页面过程:

用户通过点击链接或者直接输入URL访问Servlet。

Web服务器接收到请求后,交给Servlet容器。

Servlet容器实例化Servlet。

调用Servlet特定方法对请求进行处理,并且产生一个响应。

响应由Servlet容器返回给Web容器。

Web容器包装这个响应,以HTTP响应的形式发送给浏览器。

以上就是servlet技术是什么的详细内容,更多请关注自学java网其它相关文章!

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:our333@126.com我们将配合处理!

原文地址:servlet技术是什么发布于2021-11-26 11:35:56