Servlet知识总结

来源:互联网 发布:c语言数组的长度 编辑:程序博客网 时间:2024/06/06 07:03
Servlet 是一种独立于平台和协议的服务器端的Java 应用程序 ,可以生成 动态的 web页面。它担当Web 浏览器或其他 http 客户程序发出请求、与http 服务器上的数据库或应用程序之间交互的中间层。

Servlet 是用 Java 编写的 Server 端程序,它与协议和平台无关。 Servlet 运行于 Java 服务器中。 Java Servlet 可以动态地扩展服务器的能力,并采用请求 - 响应模 式提供 Web 服务。

Servlet运行原理:

当 Web 服务器接收到一个 HTTP 请求时,它会先判断请求内容 — — 如果是静态网页数据, Web 服务器将会自行处理,然后产生 响应信息;如果牵涉到动态数据, Web 服务器会将请求转交给 Servlet 容器。此时 Servlet 容器会找到对应的处理该请求的 Servlet 实例来处理,结果会送回 Web 服务器,再由 Web 服务器传回用 户端。

Servlet的生命周期 :

在代码中, Servlet 生命周期由接口 javax.servlet.Servlet 定义。所 有的 Servlet 必须直接或间接地实现 javax.servlet.Servlet 接口,这 样才能在 Servlet 容器中运行。 Servlet 提供 service 方法、 init 方法 和 destroy 方法等。在 Servlet 的生命周期中,运行 javax.servlet.Servlet 接口中定义的这些方法,方法会在特定时间 按照一定的顺序被调用

Servlet 的运行过程 :

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet 访问请求后: ① Web服务器首先 检查是否已经装载并创建了该Servlet的实例对象。如果是, 则直接执行第④步,否则,执行第②步。 ② 装载并创建该Servlet的一个实例对象。 ③ 调用Servlet实例对象的init()方法。 ④ 创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP 响应消息的HttpServletResponse对象,然后调用Servlet的service()方法 并将请求和响应对象作为参数传递进去。 ⑤ WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸 载之前调用Servlet的destroy()方法。

ServletConfig 对象:

在 Servlet 的配置文件中,可以使用一个或多个 <init-param> 标签为 servlet 配置一些初始化参数。 当 servlet 配置了初始化参数后, web 容器在创建 servlet 实例对象时, 会自动将这些初始化参数封装到 ServletConfig 对象中,并在调用 servlet 的 init 方法时,将 ServletConfig 对象传递给 servlet 。进而,程序员通过 ServletConfig 对象就可以得到当前 servlet 的初始化参数信息。 阅读 ServletConfig API ,并举例说明该对象的作用: – 获得字符集编码 – 获得数据库连接信息 – 获得配置文件

ServletContext :
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的 ServletContext对象,它代表当前web应用。 ServletConfig对象中维护了ServletContext对象的引用,开发人员 在编写servlet时,可以通过ServletConfig.getServletContext方法 获得ServletContext对象。 也可以使用 this.getServletContext方法 由于一个WEB应用中的所有Servlet共享同一个ServletContext对象, 因此Servlet对象之间可以通过ServletContext对象来实现通讯。多 个Servlet通过ServletContext对象实现数据共享。 ServletContext对象通常也被称之为 context 域 对象 。(request, session,page) setAttribute(),getAttribute();

0 0