1、什么是servlet
Servlet使用java语言编写服务器程序,用于服务器端的互联网应用,是sun公司回应CGI编程技术而产生的恶心技术。实际上,Servlet程序是应用标准Servlet API的java程序,这些程序可以扩展WEB服务器的功能,实现强大的WEB应用,它所采用的模式为请求----响应模式。它具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
2、Servlet的生命周期
Servlet的生命周期表示从装载Servlet到Servlet终止之间的过程,可分为三个阶段:初始阶段、响应用户请求阶段和种植阶段。具体如下图:
1.初始阶段:包含了两个过程:装载Servlet;初始化Servlet,Server创建一个Servlet的实例 ,Server调用Servlet的init()方法,并初始化Servlet,分配资源,配置相 关的参数。通常,装载Servlet有以下几种情况:
(1)Servlet容器启动时,根据配置自动装载Servlet。一般,根据web.xml的<load-on-startup>属性,由该属性决定装载顺序。
(2)Servlet接收到用户的第一次请求。
(3)由管理员决定,如果如果管理员修改了Servlet容器,容器会重新装载Servlet。并创建一个Servlet对象。并调用该Servlet对象的init()方法初始化Servlet,分配资源,配置相关参数。
2.响应用户请求阶段:Servlet容器会根据用户请求,生成ServletRequest对象和ServletResponse对象,分别封装用户请求的信息与相应请求结果。然后,调用Servet对象的service()方法,将生成的ServletRequest对象和ServletResponse对象,传递费service()方法。在service()中获取ServletRequst对象中的用户信息,并进行处理,通过ServletResponse对象将响应发送给用户(注意:如用户的请求是基于HTTP协议的Servlet,则Servlet容器会创建HttpServletRequest对象和HttpServletResponse对象来封装用户的请求好响应请求的结果)
3.终止阶段:当Servlet被清除时,Servlet容器会调用Servlet的destroy()方法,释放Servlet占据的资源。
3、Servlet的开发和部署
开发一个Servlet类,它必须是javax.servlet.GenericServlet的子类或者javax.servlet.http.HttpServlet的子类。开发Servlet的最终目的是应用Servlet,Servlet不能直接被使用,必须先通过服务器部署。
4、Servlet中的方法