JavaWeb——Servlet执行流程和生命周期

Servlet执行流程

JavaWeb——Servlet简介以及入门案例_北岭山脚鼠鼠的博客-CSDN博客这个入门案例里面,实现了通过http://localhost:8080/web-demo/demo1该路径实现了对web项目的访问

url分为了三部分,http://localhost:8080/ 实现了连接Tomcat服务器,web-demo实现了连接该web项目,demo1实现了对类的访问

在这个过程里面,ServletDemo1这个是实现类对象的创建和里面的service()方法的调用都是由Tomcat_web服务器自动执行并且发回相应数据给前端。 

Servlet生命周期

 

init方法 

    /**
     * 初始化方法
     * 1. 调用时机:默认情况下,Servlet被第一次访问时,调用
     *      * loadOnStartup:
     * 2. 调用次数:1次
     * @param config
     * @throws ServletException
     */
    @Override
    public void init(ServletConfig config) throws ServletException {
        System.out.println("init...");
    }

要想改变init方法的调用次数需要用到@WebServlet注解里面的loadOnStartup属性,一个注解里面有两个属性要补齐属性名称,url的属性名称在下面有两个,value和urlPatterns。

 然后加上 loadOnStartup = 1,随后重启一遍服务器就是可以看见还没访问这个类就已经执行了init方法。

Service方法 

   /**
     * 提供服务
     * 1. 调用时机:每一次Servlet被访问时,调用
     * 2. 调用次数:多次
     *
     *
     * @param req
     * @param res
     * @throws ServletException
     * @throws IOException
     */
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        System.out.println("servlet hello world~");
    }

destory方法

    /**
     * 销毁方法
     * 1. 调用时机:内存释放或者服务器关闭的时候,Servlet对象会被销毁,调用
     * 2. 调用次数:1次
     */
    @Override
    public void destroy() {
        System.out.println("destroy...");
    }

通过命令行手动启动web项目 

ctrl+c正常关闭就会执行deatory方法

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值