JavaWeb:Servlet技术

JavaWeb:Servlet技术

快速开始

Servlet是什么

  Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,您可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

  Servlet在Web应用程序中的位置:

  

Servlet的任务

Servlet 执行以下主要任务:

  • 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。
  • 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。
  • 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。
  • 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。
  • 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

Servlet环境配置

下载Tomcat服务器

官网地址:https://tomcat.apache.org/download-80.cgi

  

将Web开发包加入环境变量

  

创建我们的第一个Servlet

我们继承了HTTPServlet,实现我们自己的Servlet:

一个特殊的类:

ServletContext:Servlet上下文对象,Servlet通过访问该对象来访问容器为当前Web应用提供的各种支持。

Servlet的声明周期

  

  • 第一个到达服务器的 HTTP 请求被委派到 Servlet 容器。
  • Servlet 容器在调用 service() 方法之前加载 Servlet。
  • 然后 Servlet 容器处理由多个线程产生的多个请求,每个线程执行一个单一的 Servlet 实例的 service() 方法。
  • init:负责初始化Servlet对象,容器在创建好Servlet对象后,就会调用该方法。
    •   init 方法被设计成只调用一次它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用
    •   Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。
    •   当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。
  • destory:负责释放Servlet对象占用的资源,当Servlet对象结束生命周期时,容器就会调用此方法。
    •   destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。destroy() 方法可以让您的 Servlet 关闭数据库连接、停止后台线程、把 Cookie 列表或点击计数器写入到磁盘,并执行其他类似的清理活动。

Servlet与Tomcat的关系

Web应用的目录结构

 

猜你喜欢

转载自www.cnblogs.com/MrSaver/p/8965635.html