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的整个生命周期中

<context-param> 
		 <param-name>driverparam-name> 
		 <param-value>com.mysql.jdbc.Driverparam-value> 
		context-param> 

		<context-param> 
		 <param-name>urlparam-name> 
		 <param-value>jdbc:mysql://localhost:3306/test1113?useUnicode=true&characterEncoding=utf-8param-value> 
		context-param> 

		<context-param> 
		 <param-name>usernameparam-name> 
		 <param-value>rootparam-value> 
		context-param> 

		<context-param> 
		 <param-name>passwordparam-name> 
		 <param-value>rootparam-value> 
		context-param> 

@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方法用来处理客户端的请求,并生成格式化数据返回给客户端

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_第1张图片

你可能感兴趣的:(启嘉班第二阶段第四周笔记,java,servlet,tomcat)