Servlet技术
Servlet规范是JavaEE规范中的一个部分,是用于扩展服务器功能的运行在服务器中的小型Java程序(即服务器端小应用程序),是实现了Servlet接口通过http接收和响应web客户端请求的类
静态和动态
- 因人因时因地而发生变化
服务器
- web服务器:定位资源—Apache
- jsp/servlet容器:运行jsp或者servlet程序—Tomcat
1、 Servlet概述
Servlet是一种用于扩展服务器功能的服务器端组件技术。
- 要求直接或者间接的实现Servlet接口
- 运行在服务器端,执行结果是一个html文档
2、 Servlet的特征
- 一般采用单实例多线程的方式对外提供服务,一个客户请求对应一个线程
- 如果在Servlet类中定义属性,则需要考虑线程安全问题
3、Servlet的优点
1.高效
在服务器上仅有一个Java虚拟机在运行,它的优势在于当多个来自客户端的请求进行访问时,Servlet为每个请求分配一个线程而不是进程。
2.方便
Servlet提供了大量的实用工具例程,例如处理很难完成的HTML表单数据、读取和设置HTTP头、处理Cookie和跟踪会话等。
3.跨平台
Servlet是用Java类编写的,它可以在不同的操作系统平台和不同的应用服务器平台下运行。
4.灵活性和可扩展性
采用Servlet开发的Web应用程序,由于Java类的继承性、构造函数等特点,使得其应用灵活,可随意扩展。
6.共享数据
Servlet之间通过共享数据可以很容易地实现数据库连接池。它能方便地实现管理用户请求,简化Session和获取前一页面信息的操作。而在CGI之间通信则很差。由于每个CGI程序的调用都开始一个新的进程,调用间通信通常要通过文件进行,因而相当缓慢。同一台服务器上的不同CGI程序之间的通信也相当麻烦。
7.安全
有些CGI版本有明显的安全弱点。即使是使用最新的标准和PERL等语言,系统也没有基本安全框架。而Java定义有完整的安全机制,包括SSL\CA认证、安全政策等规范。
4、 Servlet缺陷
不能所见即所得的实现页面的开发和开发测试不方便。解决方案是JSP。