您的位置:首页 > 其它

什么是servlet?有什么作用?

2016-02-25 20:48 253 查看
Servlet(Servlet Applet): 是用JAVA编写的服务器端程序。

定义:狭义上:指java语言实现的一个接口

广义上:指任意一个实现了这个Servlet接口的类。

作用:主要用于交互式地浏览和修改数据,生成Web内容。

这个过程主要有:(1)客户端发送请求到服务器端

(2)服务器将请求信息发送至Servlet

(3)Servlet生成响应内容并将其传给服务器。

(4)服务器将响应返回给客户端。

一个Servlet就是Java编辑语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编辑模式型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。

Servlet看起来像是通常的Java程序。Servlet导入特定的属于javaServlet API的包。因为是对象字节码,可动态地从网络加载,可以说Servlet对Server就如同Applet对Client一样,但是,由于Servlet运行Server中,它们并不需要一个图形用户界面。从这个角度看,Servlet也被称为FacelessObject(隐形的根类).

二、Servlet的生命周期

1.客户端请求该Servlet;

2.加载Servlet类到内存;

3.实例化并调用init()方法初始化该Servlet;

4.service()(根据请求方法不同调用doGet()或者doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions();)

5.destroy()销毁。

三、Servlet的通讯

Servlet:JAVA编写的在服务器上运行的小程序/类.接收client请求,处理,响应.

1.include:包含

应用场景:在复杂动态网页中,有公共部分可提取,可以把公共部分分别定义成servlet,使用include合并到一起.

使用: //获取请求分发对象

RequestDispatcher rd = request.getRequestDispatcher("/url-pattern");

//include

rd.include(request, response);

特点: 1)地址栏不变

2)服务器端的转发(在服务端运行)

3)看到的是所有servlet的结果之和

4)共享同一个request

2.forward:转发

应用场景: 一个Servlt从数据库中取出数据,转到另外一个servlet进行显示

使用: //获取请求分发对象

RequestDispatcher rd = request.getRequestDispatcher("/url-pattern");

//forward

rd.forward(request, response);

特点: 1)地址栏不变

2)服务器端的转发(在服务端运行)

3)永久转向(看到的是最后一个servlet的处理结果)

4)共享同一个request
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: