分享
 
 
 

Javax.servlet API的特征

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Servlet API已经被大多数基于Java的Web服务器支持,这意味着当使用ServletAPI时,可以继承Java的许多优点:不但代码不存在内存漏洞和难以发现的指针Bug,而且还可以运行在许多不同的服务器提供的平台上。

1.Javax.Servlet的主要功能

servlet采用常见的接受请求和生成响应的编程模型,该模型使用了一系列的分布式系统编程工具箱,这包括从远程过程调用到向Web服务器发出HTTP请求等。

Servlet编程其实非常简单,主要就是实现一个Servlet接口,例如:

import javax.servlet.*;

public class MyServlet extends GenericServlet{

public void service(

ServletRequest request;

ServletRespose response;

) throws ServletException,IOEXception

{

......

}

}

service方法内可以操作request和response参数,这里封装了客户机发送的数据,提供了对参数的访问,并允许Servlet报告各种状态(包括错误信息),通常,Servlet通过输入流得到大多数参数,并使用输出流发送它们的响应。

ServletInputStream in=request.getInputStream();

ServletOutputStream out=response.getOutputStream();

这些输入/输出流可以使用多种不同格式的数据,例如:Applet和Servlet可以使用对象序列化(object serialization)交换数据,或者HTML、图象格式等。

2.Servlet及其环境

由于Servlet是一种Java对象,它们由特定的实例数据组成,这意味着正在执行的Servlet是运行在服务器内部的独立的应用程序。

在初始化期间,Servlet访问一些特定的Servlet配置数据,这允许相同Servlet类的不同实例可以用不同的数据来初始化,并当作不同名字的Servlet来管理。在初始化期间提供的数据中,包括了每个实例在哪里保存它们自己的状态。

Servlet还可以利用ServletContext对象与它们自己的环境进行交互。

3.使用模式

Servlet可以使用下面几种模式,然而,不同是所有的服务器环境支持所有这些模式:

(1)基本的模式是以请求/响应协议为核心。

(2)服务器可以用过滤链(filter chains)链接多个Servlet.

(3)Servlet可以支持特定的协议,例如HTTP.

(4)在基于HTTP的应用程序中,Servlet是一个基于CGI扩展的完全的(且更高效)替代品。

(5)在基于HTTP的应用程序中,Servlet还可以作为HTML的服务器端来包含动态地生成的Web文档。

4.主要的Servlet方法

Servlet总是动态地被装载,尽管在服务器启动时,服务器通常提供一个管理选项来强制装载和初始化特定的Servlet。Servlet使用普通Java类装载工具装载,这意味着它们可以从远程目录装载(例如,信任的http://user/Servlet目录),与使用本地文件系统一样容易,这种方式提高了系统结构的灵活性,网络中服务的发布变得更加容易和快捷。

Servlet被装载之后,其生命周期涉及三个主要方法:

(1)Servlet通过调用init方法被服务器激活,如果Servlet的开发者需要,可以执行一些内在的设置,这样无需每个请求都设置一次,例如初始化其他网络服务的session或者访问它们拥有的数据(存储在数据库或文件中)。

(2)当初始化后,Servlet处理许多请求,为每一个客户请求生成一个service调用,这些请求可能是并行的,这允许Servlet调整多个客户的行为,类的静态状态可以用于在请求中共享数据。

(3)Servlet对象将一直处理请求,除非服务器调用destroy方法显式地关闭Servlet,Servlet类还是一个有效的垃圾收集器。

5.安全性

Servlet必须访问发出请求的客户的有关信息,当使用安全协议时,例如SSL,可以相当可靠地认证对方的身份。

Servlet拥有Java的大多数优点,例如不允许违规访问内存及类型,这样,有缺陷的Servlet不会导致服务崩溃,而这在大多数C语言的服务器环境中经常发生。

与当前任何其他的服务器扩展API不同,Java Servlet提供了强大的安全策略支持,这是因为所有的Java环境都提供了一个安全管理器,可以用于控制是否允许执行某项操作,例如网络文件的访问。缺省的,通过网络装载的所有Servlet都是不可信的,它不许执行诸如访问网络服务或本地文件的操作。仅仅在Java Web Server中创建的,或者在本地由服务器管理控制的,../Servlet目录的Servlet,才是完全可信的,并赋予所有的权限。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有