启嘉班第二阶段第四周笔记|JavaWeb-servlet
Servlet
- servlet
-
- servlet的基本讲解
- servlet的生命周期
- JSP与servlet的关系
- httpServlet中的两个service()方法的区别
servlet servlet的基本讲解 Servlet:是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。Servlet运行于
支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持
Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet
简而言之:是一种“请求–响应”技术
servlet的生命周期 导读模块:所谓的生命周期是指一个东西的起效的整个过程
1.而servlet的生命周期即阐述Servlet从产生到毁灭的整个过程
在Servlet产生到消亡的过程中,有三个生命周期函数,初始化方法init(),处理客户请求的方法service(),终止方法destroy()。
1.1init( ):
? 在一个Servlet的生命周期中,init方法只会被执行一次,之后无论用户执行多少次请求,都不会在调用该方法。
? 关于init方法的执行时机,有两种方式可选,一般的是在服务器启动后第一个用户请求该Servlet时调用,你也可以设置该Servlet在服务器启动后自动执行。
使用场景:init( )负责预加载一些数据,这些数据将用于该Servlet的整个生命周期中
driver
com.mysql.jdbc.Driver
url
jdbc:mysql://localhost:3306/test1113?useUnicode=true&
characterEncoding=utf-8
username
root
password
root
@Override
public void init() throws ServletException {System.out.println("HelloServlet初始化的时候可以预加载一些数据。。。。");
driver = getServletContext().getInitParameter("driver");
url = getServletContext().getInitParameter("url");
username = getServletContext().getInitParameter("username");
password = getServletContext().getInitParameter("password");
System.out.println(driver+"\n"+url+"\n"+username+"\n"+password);
}
//重写init()方法,则可以在加载的时侯
1.2service( ):
service方法
当一个客户请求该Servlet时,实际的处理工作全部由service方法来完成,service方法用来处理客户端的请求,并生成格式化数据返回给客户端
【启嘉班第二阶段第四周笔记|JavaWeb-servlet】1.3destroy( ):
该方法在整个生命周期中,也是只会被调用一次,在Servlet对象被销毁时调用,在servlet中我们可以做一些资源的释放等操作,执行destory方法之后的servlet对象,会等待jvm虚拟机的垃圾回收机制择时回收
使用场景:destory( )方法负责将一些需要释放的资源写在里面
备注:当修改servlet中的内容的时候 ,就会触发destory( )方法
JSP与servlet的关系 1.JSP执行之后的本质就是一个servlet
为什么既然有了JSP还要有Servlet呢?
是因为使用场景不同,JSP更多的偏重于页面的展示,而Servlet更多的是偏重于后台的处理程序
ps:通过查看源代码我们发现HttpJspBase的父类是HttpServlet
2.JSP的执行效率/速度比Servlet慢
httpServlet中的两个service()方法的区别
文章图片
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 以读攻“毒”唤新活动曹彦斌打卡第二天
- 《格列佛游记》第二卷第五章概括
- 结营啦!
- [青春]翔(五)
- 《卓有成效的管理者》第二十二堂课(创造英雄)
- 17|17 关山松 第二课作业#公众号项目# D20
- 成都之行第二天
- 第二十八封信
- 二十五、狗(外戚)咬狗(宦官)与第二次党锢