微探之Servlet

来源:互联网 发布:网络运营需要学什么 编辑:程序博客网 时间:2024/04/29 17:22

初识Servlet

    Servlet是JAVA处理WEB请求的一种机制。如在JAVAWEB开发中,可以将网页,也就是客户端的请求提交后,交由SERVLET处理!也可以由JSP处理!

    容器可以管理对象的生命周期、对象与对象之间的依赖关系,通常是XML来定义好对象的名称、产生方式、设定对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系

    Servlet 不是独立的应用程序,没有 main 方法,不能够独立的运行,它的运行需要容器的支持,Tomcat 是最常用的 JSP/Servlet 容器,此外还有Resin,Apache,IIS。Servlet 运行在 Servlet 容器中,并由容器管理从创建到销毁的整个过程。

 

Servlet的生命周期

  (1)加载和实例化
      Servlet 容器装载和实例化一个 Servlet。创建出该 Servlet 类的一个实例。
  (2) init()

      在服务器装入servlet时负责初始化Servlet对象。在Servlet的生命周期中,仅执行一次init()方法。
  (3) service()
      service() 方法是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do功能。
  (4) destroy()
      当 Servlet 容器将一个 Servlet 从服务器中移除时,便调用实例的 destroy() 方法,在销毁该 Servlet 实例之前,
来做一些其他的工作。


Servlet的工作原理

    Servlet的工作我简单归纳为3点:

    1.在容器中配置servlet及其映射文件;

    2.前台jsp提交表单,写明action或method提交的方式为get还是post,默认为get;

    3.通过action从配置文件中找到相应的servlet,获取参数,进行处理

    注:在Servlet接口中是没有doGet()、doPost()等等这些方法的,HttpServlet中定义了这些方法,但是都是返回error信息,所以,我们每次定义一个Servlet的时候,都必须实现doGet或doPost等这些方法。


与一般处理程序相似

    通过认识Servlet可以发现它与ASP.NET中的一般处理程序有很大的相似处,我们理解时可将二者等价看待。一般处理程序都继承了IHttpHandler接口。HttpHandler也是一个容器,它是HTTP请求的真正处理中心,它定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。 一个HTTP请求都是最终交给一个HttpHandler容器中的ProcessRequest方法来处理的。 总结一点,他们都是由前台提交到一个容器中进行处理。


    Servlet与以前的知识还是有很多共性的,理解起来也比较容易。但其毕竟为新知识,其中的新颖之处还需要我在接下来学习中慢慢研究。

0 0
原创粉丝点击