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响应的形式发送给浏览器。
Atas ialah kandungan terperinci servlet技术是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!