启嘉班第二阶段第四周笔记|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()方法的区别 启嘉班第二阶段第四周笔记|JavaWeb-servlet
文章图片

    推荐阅读