• servlet


    前言:servlet用来响应客户端的请求

    servlet基础知识

    每一个servlet都是一个特殊的java类,这个类必须继承HttpServlet类 。

    HttpServlet类 提供了三个比较重要的方法  ,子servlet可以根据需要进行重写

    doGet()        ------用于处理Get方式提交的请求

    doPost()      -------用于处理Post方式提交的请求

    service()     --------即可处理Get方式的请求,也可处理Post方式的请求 (get方式和post方式提交的请求一般处理流程相同    所有子类重写这个方法来处理请求)

     HttpServlet类还提供以下两个方法

    init()          ---------创建servlet实例时,自动调用该方法 进行初始化

    destory      ----------销毁servlet实例时,调用该方法进行资源回收

    servlet与jsp的主要区别 

    1.jsp中内置了9个常用对象    而servlet要使用这几个对象  需要进行获取 

    2.servlet要进行字符类的输出需要借助页面输出流out对象(response对象的替代品)来进行输出 

       或者把键值对放入request对象中,然后使用地址转发到一个jsp页面或者servlet类中  

    servlet的配置   

    要编写jsp页面需要导入jsp-api.jar包 

    要编写servlet要导入servlet-api.jar包    这两个包可以在tomcat的lib目录中找到   

    servlet有两种配置方式   一种是在web.xml中进行配置     一种是利用注解@WebServletAnnotation来进行配置 (这个支持servlet3.0及以上版本)

    jsp/servlet的生命周期  

    首先明确   一个servlet类提供服务,是通过这个类的实例对象来调用service()来响应请求的   ,其次,每个servlet类的实例对象是有容器(可以理解为tomcat服务器)来在合适的时间自动创建的   ,不需要程序员去创建 

    合适的时间 主要是两个时间点:

    1.第一次请求某个servlet类时,容器创建这个类的实例对象

       创建的实例对象存在在容器中,等待下一次来的请求 

      生命周期流程图: 

      请求某个servelt  → 创建该servlet类的实例对象  → 自动调用init()方法进行初始化 → 调用service()方法处理请求    →.....若干时间后,在合适的时间调用destory()方法回收资源 → 销毁该实例对象 

    2.容器加载web应用时创建servlet类的实例对象

      这些servlet类要在配置的时候显示指定<load-on-startup     />

       这些servlet类在web应用一加载时就创建它们的实例对象  主要用于提供一些后台服务   (若一个serlet类没有提供service() 表明该类不用于处理用户请求)

       生命流程图 

       web应用加载 → 创建sevlet类的实例对象  → 自动调用init()方法进行初始化........

    配置servlet类的参数  和 访问配置的参数  

    为了避免硬编码耦合 ,可以通过在web.xml文件配置servlet类时使用

    <init-param>

        <param-name></param-name> 

           <param-value></param-value>            

    </init-param>

     来配置servlet的参数  让后再servlet中通过config对象(servlet中需要获取,jsp中内置)的getInitParameter()方法类获取配置的参数  

     例如可以把数据库的链接参数 配置web.xml中 ,这样如果需要更改数据库链接   就可以再web.xml文件中更改了  

    同样在servlet3.0中可以通过注解@WebServlet 来配置参数   

  • 相关阅读:
    WCF学习之旅—WCF第二个示例(七)
    WCF学习之旅—WCF第二个示例(六)
    WCF学习之旅—WCF第二个示例(五)
    WCF学习之旅—WCF概述(四)
    WCF学习之旅——第一个WCF示例(三)
    WCF学习之旅——第一个WCF示例(二)
    WCF学习之旅——第一个WCF示例(一)
    WPF入门教程系列二十三——DataGrid示例(三)
    WPF入门教程系列二十二——DataGrid示例(二)
    WPF入门教程系列二十一——DataGrid示例(一)
  • 原文地址:https://www.cnblogs.com/wangliyue/p/4109310.html
Copyright © 2020-2023  润新知