Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,基于HTTP协议,可以生成动态的Web页面。客户端发送请求至服务器。服务器启动并调用Servlet,Servlet根据客户端请求生成响应内容并将其传给服务器服务器将响应返回客户端。
Servlet容器:
通俗点说,所谓容器,就是放东西的地方。Servlet容器自然就是放Servlet的地方。前面说了 Servlet 容器作为一个独立发展的标准化产品,目前它的种类很多,但是它们都有自己的市场定位,很难说谁优谁劣,各有特点。
Servlet容器:
初始化阶段:
1,Servlet容器加载servlet类,把servlet类的.class文件中的数据读到内存中。
2,然后Servlet容器创建一个ServletConfig对象。ServletConfig对象包含了Servlet的初始化配置信息。
3,Servlet容器创建一个servlet对象。
4,Servlet容器调用servlet对象的init方法进行初始化。
运行阶段:
当servlet容器接收到一个请求时,servlet容器会针对这个请求创建servletRequest和servletResponse对象。
然后调用service方法。并把这两个参数传递给service方法。Service方法通过servletRequest对象获得请求的
信息。并处理该请求。再通过servletResponse对象生成这个请求的响应结果。然后销毁servletRequest和
servletResponse对象。我们不管这个请求是post提交的还是get提交的,最终这个请求都会由service方法来处理。
销毁阶段:
当Web应用被终止时,servlet容器会先调用servlet对象的destrory方法,然后再销毁servlet对象,
同时也会销毁与servlet对象相关联的servletConfig对象。我们可以在destroy方法的实现中,释放
servlet所占用的资源,如关闭数据库连接,关闭文件输入输出流等。
Servlet与Jsp关系:
Java服务器页面是HttpServlet的扩展,在没有JSP之前,就已经出现了Servlet技术。
jsp更擅长页面(表现)。servlet更擅长逻辑编辑。 在MVC架构中JSP作为了视图层,Servlet作为了控制层。