Servlet技术

什么是Servlet?

Servlet是sun/oracle公司制订的一种用来扩展web服务器端功能的组件规范

Servlet是一种用于扩展服务器功能的服务器端组件技术 ,用于实现动态网页编程

servlet就是一个组件,需要符合servlet规范,并且需要部署到servlet容器里面才能运行

Servlet的优点:

1、高效

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

Servlet加载执行后会常驻服务器内存中,当再次受到客户端的请求时,服务器会产生新的线程而不是进程为客户端服务,这样就提高了响应速度。 -- Java是最差的内存性价比

2、方便

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

3、跨平台可移植性

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

4、灵活性和可扩展性

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

5、共享数据

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

6、安全

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

Servlet具有类型检查特征,并利用Java的垃圾收集和没有指针的设计,使得Servlet避免了内存管理等问题 。

Servlet缺陷

1、web.xml配置量太多,不利于团队开发,在写每一个servlet在web.xml都要做相应的配置
2、servlet具有容器依赖性,不利于单元测试
3、servlet处理的请求很局限
4、页面内容展示极差。

Servlet生命周期

Servlet的生命周期是由Servlet的容器来控制的,它可以分为3个阶段;初始化,运行,销毁。

当客户端第一次请求Servlet时,Servlet被加载到内存中,容器会创建Servlet实例,并调用其init()方法进行初始化工作

容器创建请求对象和响应对象,然后调用Servlet的service()方法为客户端提供服务

当Servlet不再被需要时,容器调用Servlet的destory()方法将Servlet实例销毁。

当客户端请求的Servlet已经存在于服务器内存时,容器会创建对应的线程调service()方法响应客户端请求。在Servlet的整个生命周期中,init()方法和destory()方法只会被调用一次。总之一句话:单实例多线程的方式对外提供服务。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值