Servlet的生命周期


  所有的Servlet对象是由tomcat服务器创建,不需要手动创建,service()方法也是有服务器在特定情况下调用,对象销毁也是由服务器执行
     Servlet的生命周期
          对象的创建到销毁的过程就是生命周期
          对象存在时由服务器自动调用的方法(不是我们手动调用的方法)就是生命周期方法
      生命周期方法调用
          构造器:第一次访问Servlet时,服务器会调用构造器创建对象[在一次生命周期中只会调用一次]
           init:构造器调用后,服务器会立即调用init方法[服务器会传入一个对象,可以在此方法中完成一些初始化操作,只会在创建对象后调用一次]
          service:每次请求访问此servlet时服务器都会调用此方法处理用户的请求[接收用户请求,处理请求,给用户响应]
          destroy:正常关闭服务器时,服务器调用此方法销毁servlet对象[对象销毁之前调用,为了释放资源]
  
  创建Servlet问题
      1、有些方法没有必要实现,基本不使用
      2、创建Servlet自己需要在web.xml中配置
      3、不能直接右键访问
          eclipse提供了一个模板,可以直接创建一个Servlet文件
  
  
  服务器在调用init方法时会传入一个ServletConfig
          获取:服务器创建传入,可以直接使用
          代表:servlet的配置信息,每个Servlet都有唯一的一个ServletConfig对象
          作用:
              1、获取Servlet的别名
             2、获取Servlet中配置的初始化参数[数据库的配置信息可以写在这里]
             3、获取全局上下文[服务器在启动时会为每个项目创建唯一一个对象代表这个项目],所有的Servlet获取的都是同一个全局上下文对象
 *    ServletContext:
 *        获取:config.getServletContext();
 *        代表:服务器在启动时,会为每个部署的项目创建唯一的一个对象,代表整个应用的web.xml配置文件
 *            所有的Servlet获取到的都是同一个全局上下文对象
 *        作用:
 *            1、获取上下文路径 context.getContextPath()
 *            2、获取文件的真实路径
 *                    虚拟路径:http://localhost:8080/07_web_servlet/1.html
 *                    真实路径(物理):  context.getRealPath("2.html")
 *                        D:\workspace\javaweb_0706\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\07_web_servlet\1.html
 *                        不管资源文件的路径存不存在,都可以获取到它在映射服务器中项目根目录下的真实路径
 *                        文件上传下载时使用:虚拟路径不能用来保存文件,文件只能通过真实存在的物理路径写入到服务器硬盘中
 *            3、可以作为整个web应用的最大的域对象,在项目中共享数据
 *                    context.getAttribute
 *                    context.setAttribute
 *            4、获取整个web.xml中的配置的初始化参数
 */    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值