#author("2019-11-18T09:45:56+08:00","default:Admin","Admin") JAVA

Servlet简介

Servlet是sun公司提供的一门用于开发动态web资源的技术。

Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

  1. 编写一个Java类,实现servlet接口。
  2. 把开发好的Java类部署到web服务器中。

按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

Servlet 允许 JVM 在处理每个请求时使用单独的 Java 线程,这是 Servlet 容器的一个主要优点。每个 Servlet 是一个 Java 类,具有响应 HTTP 请求的特殊元素。

Servlet的运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:

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

&ref(): File not found: "JAVA_servlet.png" at page "+JAVA+servlet";

Servlet 容器

Servlet 容器”是一个装载一堆 Servlet 对象的“器具”(容器),并且具备管理这些对象的功能。

Servlet 容器的主要功能是将请求转发到正确的 Servlet 进行处理,并在 JVM 处理完后将动态生成的结果返回到正确的位置。

Servlet 容器和 Web 服务器如何处理一个请求的?

  1. Web 服务器接收 HTTP 请求。
  2. Web 服务器将请求转发到 Servlet 容器。
  3. 如果对应的 Servlet 不在容器中,那么将被动态检索并加载到容器的地址空间中。
  4. 容器调用 init() 方法进行初始化(仅在第一次加载 Servlet 时调用一次)。
  5. 容器调用 Servlet 的 service() 方法来处理 HTTP 请求,即读取请求中的数据并构建响应。Servlet 将暂时保留在容器的地址空间中,可以继续处理其它 HTTP 请求。
  6. Web 服务器将动态生成的结果返回到浏览器/客户端。

&ref(): File not found: "JAVA_servlet容器.png" at page "+JAVA+servlet";



フレッツ光が月額556円~【GMOとくとくBB】

コメント:



(画像の文字列を入力して下さい)

トップ   編集 凍結 差分 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019/12/02 (月) 12:34:20 (1628d)

PCpዾyǗlgĂ܂}WŔ܂z 萔O~ył񂫁z Yahoo yV NTT-X Store

z[y[W ̃NWbgJ[h COiq ӂ邳Ɣ[ COsیI COze