在J2EE接触到Servlet规范,无奈当时被那13张规范弄昏了头,后期的学习中发现需要把当时接触的基本知识好好的理解一下,从最近接触多的Servlet开始。
Servlet:(server Applet )全称Java Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修 改数据,生成动态Web内容。这个过程为:
1、一个客户端的请求到达 Server2、Server 创建一个请求对象,处理客户端请求;
3、Server 创建一个响应对象,响应客户端请求
4、Server 激活 Servlet 的 service() 方法,传递请求对象和响应对象作为参数5、service() 方法获得关于请求对象的信息,处理请求,访问其他资源,获得需要的信息
6、service() 方法使用响应对象的方法,将响应传回Server,最终到达客户端。service()方法可能激活其它方法以处理请求,如 doGet() 或 doPost() 或程序员自己开发的新的方法。
生命周期
1、加载 Servlet 类到内存;
2、实例化并调用init()方法初始化该 Servlet;
3、service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、 doOptions());
4、destroy()。
方法介绍
init()方法
在 Servlet 的生命期中,仅执行一次 init() 方法,它是在服务器装入 Servlet 时执行的。可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet。 无论有多少客户机访问 Servlet,都不会重复执行 init() 。
service() 方法
是 Servlet 的核心。每当一个客户请求一个HttpServlet 对象,该对象的service() 方法就要被调用,而且传递给这个方法一个"请求"(ServletRequest)对象和一个"响应"(ServletResponse)对象作为参数。 在 HttpServlet 中已存在 service() 方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。
destroy() 方法
仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将 Servlet 作为服务器进程的一部分来关闭。当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过后调用 destroy() 方法。
实例(注意其中的参数)
容器
Tomcat,JBoss等提供了 Servlet 功能的服务器,叫做 Servlet 容器。他们的作用是在servlet的生命周期内管理servlet,一张图最能表现清楚,小结
在最初学习到J2EE的13中规范时接触到Servlet,它和JSP都是表示层的不同之处是JSP是在HTML页面中添加Java代码完成对客户端请求的处理,而Servlet是全Java的处理完毕后生成HTML。Servlet和Tomcat就是被包含的关系,Tomcat就像是一个容器,Servlet在这样的环境中才能够正常的工作和运行。