Java Servlet
1.Servlet 工作原理
servlet 由支持servlet 的服务器:servlet 引擎,负责管理运行。当多个客户请求一个servlet 时,引擎为每个客户启动一个线程而不是启动一个进程,这些线程由servlet 引擎服务器来管理,与传统的CGI为每个客户启动一个进程相比较,效率要高的多。
2.Servlet 的生命周期
一个servlet 是javax.servlet 包中HttpServlet类的子类,由支持servlet 的服务器完成该子类的对象,即servlet 的初始化。
Servlet 的生命周期主要有下列三个过程组成:
(1) 初始化 servlet。servlet 第一次被请求加载时,服务器初始化这个servlet,即创建一个servlet 对象,这对象调用init 方法完成 必要的初始化工作。
(2) 诞生的 servlet 对象再调用service 方法响应客户的请求。
(3) 当服务器关闭时,调用 destroy 方法,消灭servlet 对象。
init 方法只被调用一次,即在servlet 第一次被请求加载时调用该方法。当后续的客户请求servlet 服务时,Web 服务将启动一个新的线程,在该线程中,servlet 调用service 方法响应客户的请求,也就是说,每个客户的每次请求都导致service 方法被调用执行。
init 方法:
public void init(ServletConfig config) throws ServletException
service 方法:
public void service(HttpServletRequest request,HttpServletResponse response) throw ServletException,IOException
当 servlet 成功创建和初始化之后,servlet 就调用service 方法来处理用户的请求并返回响应。
destroy 方法:
public destroy()
运行 servlet:
如果一个servlet 对所有的web 服务目录可用,那么只要在服务器引擎启动后,在浏览器地址栏键入:
http://localhost:8080/web 服务目录/servlet/创建servlet 类的名字
3.通过 JSP 页面调用servlet
3.1通过表单向 servlet 提交数据
3.2通过超链接访问 servlet
4.servlet 的共享变量
在servlet 被加载之后,当后续的客户请求servlet服务时,引擎将启动一个新的线程,在该线程中,servlet 调用service方法响应客户的请求,而且servlet 类中定义的成员变量,被所有的客户线程共享。
5.HttpServlet 类
5.1 doGet 方法和doPost 方法
HttpServlet 除了init、service、destroy 方法外,该类还有两个很重要的方法:doGet 和doPost,用来处理客户的请求并作出响应。
1.Servlet 工作原理
servlet 由支持servlet 的服务器:servlet 引擎,负责管理运行。当多个客户请求一个servlet 时,引擎为每个客户启动一个线程而不是启动一个进程,这些线程由servlet 引擎服务器来管理,与传统的CGI为每个客户启动一个进程相比较,效率要高的多。
2.Servlet 的生命周期
一个servlet 是javax.servlet 包中HttpServlet类的子类,由支持servlet 的服务器完成该子类的对象,即servlet 的初始化。
Servlet 的生命周期主要有下列三个过程组成:
(1) 初始化 servlet。servlet 第一次被请求加载时,服务器初始化这个servlet,即创建一个servlet 对象,这对象调用init 方法完成 必要的初始化工作。
(2) 诞生的 servlet 对象再调用service 方法响应客户的请求。
(3) 当服务器关闭时,调用 destroy 方法,消灭servlet 对象。
init 方法只被调用一次,即在servlet 第一次被请求加载时调用该方法。当后续的客户请求servlet 服务时,Web 服务将启动一个新的线程,在该线程中,servlet 调用service 方法响应客户的请求,也就是说,每个客户的每次请求都导致service 方法被调用执行。
init 方法:
public void init(ServletConfig config) throws ServletException
service 方法:
public void service(HttpServletRequest request,HttpServletResponse response) throw ServletException,IOException
当 servlet 成功创建和初始化之后,servlet 就调用service 方法来处理用户的请求并返回响应。
destroy 方法:
public destroy()
运行 servlet:
如果一个servlet 对所有的web 服务目录可用,那么只要在服务器引擎启动后,在浏览器地址栏键入:
http://localhost:8080/web 服务目录/servlet/创建servlet 类的名字
3.通过 JSP 页面调用servlet
3.1通过表单向 servlet 提交数据
3.2通过超链接访问 servlet
4.servlet 的共享变量
在servlet 被加载之后,当后续的客户请求servlet服务时,引擎将启动一个新的线程,在该线程中,servlet 调用service方法响应客户的请求,而且servlet 类中定义的成员变量,被所有的客户线程共享。
5.HttpServlet 类
5.1 doGet 方法和doPost 方法
HttpServlet 除了init、service、destroy 方法外,该类还有两个很重要的方法:doGet 和doPost,用来处理客户的请求并作出响应。