Servlet开发基础知识—运行过程与生命周期

Servlet简介::Servlet是sun公司提供的一门用于开发动态web资源的技术。sun公司在其API中提供了一个servlet接口,用户若想要开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成下面2个步骤:
1)编写一个Java类,实现servlet接口;
2)把开发好的Java类都部署到web服务器中。
Servlet在web应用中的位置:

这里写图片描述
其中:
mail——————–>为web应用所在的目录;
html,jsp,css,js文件等——–>这些文件一般存在web应用根目录下,根目录下的文件外界可以直接访问;

Servlet的运行过程
Servlet程序是由web服务器调用,web服务器收到客户端的Servlet访问请求后:
1)web服务器首先检查是否已经装载并创建了该Servlet的实例对象,如果是,则直接执行第4)步,否则,执行第2)步;
2)装载并创建该Servlet的一个实例对象;
3)调用Servlet实例对象的init()方法;
4)创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去;

在eclipse中开发Servlet
在eclipse中新建一个web project工程,eclipse会自动创建下图所示的目录结构:
这里写图片描述

Servlet的生命周期:
首先要知道什么是对象的生命周期?什么是与申明周期相关的方法?
对象从创建到销毁经历的过程,称为对象的生命周期;
Servlet接口中定义了Servlet生命周期:
init()方法:服务器调用该方法初始化Servlet( servlet实例并不是服务器一启动时就被创建,而是第一次访问的时候,实例才被创建)。
service()方法:初始化完毕,服务器调用该方法响应客户的请求(service()方法是有一次请求,就调用一次service()方法)。
destroy()方法:服务器调用该方法消灭servlet对象。
其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,web服务器将启动一个新的线程,在该线程中,调用service方法响应客户请求。

有关Servlet生命周期中的注意点
1)Servlet是一个供其他Java程序(Servlet引擎)调用的Java类,它不能独立运行,它的运行完全由Servlet引擎来控制和调度;
2)针对客户端的多次强求Servlet请求,通常情况下,服务器只会创建一个Servlet实例对象,也就是说Servlet实例对象一旦创建,它就会驻留在内存中,为后续的其他请求服务,直至web容器退出,Servlet实例对象才销毁;
3)在Servlet的整个生命周期内,Servlet的init方法只被调用一次。而对一个Servlet的每次访问请求都导致Servlet引擎调用一次servlet的service方法。对于每次访问请求,Servlet引擎都会创建一个新的HttpServletRequest请求对象和一个新的HttpServletResponse响应对象,然后将这两个对象作为参数传递给它调用的Servlet的service()方法,service方法再根据请求方式分别调用doXXX方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值