zoukankan      html  css  js  c++  java
  • Servlet生命周期及使用

    1. Servlet生命周期:5个阶段
    加载
    初始化: init() ,该方法会在 Servlet被加载并实例化的以后 执行
    服务 :service() ->doGet() doPost
    销毁 :destroy(), Servlet被系统回收时执行
    卸载


    init():
    a.默认第一次访问 Servlet时会被执行 (只执行这一次)
    b.可以修改为 Tomcat启动时自动执行
    i.Servlet2.5: web.xml
    <servlet>
    ...
    <load-on-startup>1</load-on-startup>
    </servlet>
    其中的“1”代表第一个。
    ii.Servlet3.0
    @WebServlet( value="/WelcomeServlet" ,loadOnStartup=1 )


    service() ->doGet() doPost :调用几次,则执行几次
    destroy():关闭tomcat服务时,执行一次。


    2 Servlet API : 由两个软件包组成: 对应于HTTP协议的软件包、对应于除了HTTP协议以外的其他软件包
    即Servlet API可以适用于 任何 通信协议。
    我们学习的Servlet,是位于javax.servlet.http包中的类和接口,是基础HTTP协议。

    3.Servlet继承关系

    ServletConfig:接口
    ServletContext getServletContext():获取Servlet上下文对象 application
    String getInitParameter(String name):在当前Servlet范围内,获取名为name的参数值(初始化参数)

    a.ServletContext中的常见方法(application):
    getContextPath():相对路径
    getRealPath():绝对路径
    setAttribute() 、getAttribute()
    --->
    String getInitParameter(String name);在当前Web容器范围内,获取名为name的参数值(初始化参数)

    Servlet3.0方式 给当前Servlet设置初始值:
    @WebServlet( .... , initParams= {@WebInitParam(name="serveltparaname30",value="servletparavalue30") } )
    注意,此注解只 隶属于某一个具体的Servlet ,因此无法为 整个web容器设置初始化参数 (如果要通过3.0方式设置 web容器的初始化参数,仍然需要在web.xml中设置)

    HttpServletRequest中的方法:(同request),例如setAttrite()、getCookies()、getMethod()
    HttpServletResponse中的方法:同response

    Servlet使用层面:

    Eclipse中在src创建一个Servlet,然后重写doGet() doPost()就可以 (doGet() doPost()只需要编写一个)。

  • 相关阅读:
    spring cloud 和 阿里微服务spring cloud Alibaba
    为WPF中的ContentControl设置背景色
    java RSA 解密
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    Hystrix 配置参数全解析
    spring cloud 2020 gateway 报错503
    Spring Boot 配置 Quartz 定时任务
    Mybatis 整合 ehcache缓存
    Springboot 整合阿里数据库连接池 druid
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
  • 原文地址:https://www.cnblogs.com/deepend/p/ServletAPI.html
Copyright © 2011-2022 走看看