什么是servlet?有什么作用?

来源:互联网 发布:快速排序算法c语言函数 编辑:程序博客网 时间:2024/05/02 00:02

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

               


                  


0 0
原创粉丝点击