• 初识Servlet


    一、 什么是Servlet


        这里所讨论的Servlet,准确的说,应该是javax.servlet.http.HttpServlet,它是server收到请求之后调用的,专门用来响应HTTP请求,而且提供了响应请求的doGet()和doPost()方法. 它本质上来说就是一个java类,仅仅只是它是执行在server上的java类.它具有独立于平台和协议的特性,能够生成动态的Web页面. 它担当客户请求(Web浏览器或其它HTTP客户程序)与server响应(HTTPserver上的数据库或应用程序)的中间层。


        Java Servlet API 定义了一个servlet 和Java使能的server之间的一个标准接口,这使得Servlets具有跨server平台的特性。  Servlet 通过创建一个框架来扩展server的能力,以提供在 Web 上进行请求和响应服务。当客户机发送请求至server时,server能够将请求信息发送给 Servlet,并让 Servlet 建立起server返回给客户机的响应。 当启动 Web server或客户机第一次请求服务时,能够自己主动装入 Servlet。装入后, Servlet 继续执行直到其他客户机发出请求。


    二、 Servlet生命周期

      先上图:

     

    b) 生命全过程


        i. 载入Servlet并实例化(new),同一时候初始化(init)

           servlet第一次被请求载入时,server初始化这个servlet,即创建一个servlet对象,这对象调用init方法完毕必要的初始化工作。 


        ii. 处理请求(service→doGet/doPost)

            诞生的servlet对象再调用service方法响应客户的请求。依据请求,service会调用doGet()或doPost()进行处理.


        iii. 退出服务(destroy)

             当server关闭时,调用destroy方法,消灭servlet对象。


    c) 注意事项

        i. Servlet仅仅实例化一次

        ii. Init方法也仅仅运行一次

        iii. Servlet不是线程安全的


         即init方法仅仅被调用一次,即在servlet第一次被请求载入时调用该方法。当兴许的客户请求servlet服务时,Web服务将启动一个新的线程,在该线程中,servlet调用service方法响应客户的请求,也就是说,每一个客户的每次请求都导致service方法被调用运行。


    三、 Servlet类与普通Java类的差别


        Servlet是位于Web server内部的server端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Webserver进行载入,该Webserver必须包括支持Servlet的Java虚拟机,以下对Servlet类与普通Java类进行了一个简单的对照:

     

     

    四、总结


        新知识的学习我们总是想方设法与现有的旧知识进行类比,再高明一点的话能够直接用生活化的语言解释清楚。而我学习java不久,仅仅能从如今的知识中寻找曾经的影子,以下的这张图是近来学习Servlet时想到的将.NET与JAVA对照,不足之处还请大家不吝不吝赐教:


        上图一对照就会发现它们尽管属于不同的平台,使用不同的语言,但本质就非常相像了,。依样画葫芦,以后上手的话就能够快非常多了。本篇博客仅仅限于对servlet的浅显认知,下篇将使用一个小样例说明Servlet的基本原理,敬请期待~

  • 相关阅读:
    【onenet-edp传输】1、调试上报数据点和端对端透传
    【PYQT5快速开发】重定义边框、QSS美化皮肤主题
    MySQL
    Flask-Login一个账号单用户在线
    DataTable按钮,排序,单元格颜色
    python
    MegaCli64 raid对应关系
    openstack server status
    js中使用JSON.parse转换json
    linux使用pyodbc和freetds连接sqlserver
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/3854042.html
Copyright © 2020-2023  润新知