目录
6.1 servlet 的部署、创建与运行
6.1.1 源文件及字节码文件
6.1.2 编写部署文件 web.xml
Sevlet类的字节码文件保存到指定的目录后,必须为 Tomcat服务器编写一
个部署文件,只有这样,Tomeat 服务器才会用 Servet类创建 servet对象。我们只需要知道XML文件是由标记组成的文本文件,使用该XML文件的系统应用程序的解释器可以解析XML文件标记中的数据。
6.1.3 servlet 的创建与运行用
servlet 由 Tomeat 服务器负责创建,Web 设计者只需为 Tomcat 服务器预备
好 Servlet类,编写好相应的配置文件 web. xml,用户就可以根据 web. xml 部署文
件来请求 Tomcat 服务器创建并运行一个 servlet。如果Tomcat 服务器没有名字
为 hello 的 servlet,就会根据 web. xml 文件中 servlet 标记的子标记 servlet-class 指定的
Servlet 类创建一个名字为 hello 的 servlet。因此,如果名字是 hello 的 servlet 被创建之后,修
改 Java 源文件、编译得到新的 Servlet 类,并希望 Tomeat 服务器用新的 Servlet 类创建
servlet,那么就要重新启动 Tomcat 服务器。
当用户请求 Tomcat 服务器运行一个 servlet 时,必须根据 web. xml 文件中标记 url-
pattern 指定的格式输入请求。
6.2 servlet 的工作原理
6.2.1 servlet 对象的生命周期
一个 servlet 的生命周期主要由下列三个过程组成:
(1)初始化 servlet。 servlet 第一次被请求加载时调用该方法。即创建一个servlet这servlet 调用 init 方法完成必要的初始化工作。
(2)新诞生的 servlet 再调用 service 方法响应用户的请求。
(3)当服务器关闭时,调用 destroy 方法销毁 servlet。
6.2.2 init 方法
该方法是 HttpServlet 类中的方法,可以在子类中重写这个方法。init 方法的声明格式是:
public void init(ServletConfig config) throws ServletException
6.2.3 service 方法
该方法是 HttpServlet 类中的方法,可以在子类中直接继承该方法或重写这个方法
service 方法的声明格式是:
public void service(HttpServletRequest request HttpServletResponse response) throw ServletException,IOException
6.2.4 destroy 方法
该方法是 HttpServlet 类中的方法,可以在子类中重写这个方法。destroy方法的声明格式是:
public.destroy()
6.3 通过 JSP 页面访问 servlet
1.通过表单向servlet提交数据
2.通过超链接访问servlet
6.4 共享变量
Sevet类是 HttpServlet的一个子类,在编写子类时就可以声明某些成员变
量,那么,请求 servlet 的用户将共享该 servlet 的成员变量。
6.5 doGet 和 doPost 方法
HttpServlet 类除了 init、service destroy 方法外,该类还有两个很重要的方
法:doGet 和 doPost,用来处理用户的请求并作出响应。当 Tomcat 服务器创建
servlet 后,该 servlet 会调用 init 方法初始化自己,以后每当 Tomcat 服务器再接
视频讲解
受一个对该 servlet 请求时,就会产生一个新线程,并在这个线程中让该 servlet调
用 service 方法。实际上 HttpServlet 类所给出的 service 方法的功能是检查
HTTP 请求类型(get,post等),并在 service 方法中根据用户的请求方式,在 service方法中对
应地再调用 doGet或 doPost方法。因此,在编写的 Servlet 类(HttpServlet类的一个子类
时,也可以不重写 service 方法来响应用户,直接继承 service 方法即可。
如果不重写service方法就需要在servlet类中重写doPost或doGet方法响应的请求。
6.6 重定向与转发
重定向的功能是将用户从当前页面或servlet定向到另一个JSP页面或servlet。转发的功能是将用户对当前JSP页面或servlet的请求转发给另一个JSP页面或servlet