2019/07/27的准备

本文详细解析Servlet的生命周期,包括init、service和destory方法的作用及调用时机,对比有参与无参init方法的区别,阐述service方法如何处理客户端请求,并解释请求转发与重定向的异同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 早上查题,背一遍然后检查自己一遍以上
  2. 中午有时间就背一遍以复习昨天的为主
  3. 晚上背一遍,第二天中午再看一眼:day+1
  4. 第四天课间看一遍:day+3
  5. 第七天课间看一遍:day+6
  6. 第十五天课间看一遍:day+14

HttpServlet 有俩init 和service方法的区别
init有参 -> init

获取servletConfig() init-paramservice(servletRequest,servletResponse)->service(HttpservletRequest,HttpServletResponse) servletConfig:当前资源的配置对象servletContext:当前应用

两个init方法
有参的init保证一定会执行,执行安全,该初始化的配置web.config一定初始化。获取web.config

无参的init方便自己重写,保证灵活性,自己添加要初始化的东西

两个service方法void service
(ServletRequest req,ServletResponse response)方法是由tomcat自动调用,它将接收的客户端请求转交给HttpServlet中的另一个protected void service(HttpServletRequest req,HttpServletResponse res)方法,此保护类型的service方法再把将请求分发给doPost()、doGet()方法进行下一步处理


destory方法
(浏览器关不影响destory,destory只由服务器决定)
关闭服务器会执行destory方法
修改servlet类会执行destory方法:在已经建立servlet实现类的对象后,修改servlet实现类不会立即destory。如果不调用这个对象,隔一段时间tomcat服务器回去自动检查,发现修改就destory老的,new新的。如果调用这个servlet实现类的对象,立刻检查,如有修改立刻destory,然后new新的。不可能调取到修改前的对象。


默认首页

 <welcome-file-list>    
 <welcome-file>index.html</welcome-file>  
 </welcome-file-list>

请求转发和重定向
注意:重定向和请求转发之后的代码都会执行

1.请求转发性能强,快,重定向成本高	
2.请求转发可以设置请求的共享变量,重定向不能	
3.请求转发是后台跳转,重定向是前台调转	
4.请求转发url不变,重定向变

总结:查询操作建议用请求转发【万一查了两遍也不怕】,修改用重定向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值