Javaweb之Servlet

Servlet简介

什么是Servlet

概念:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。
定位:Java Servlet用Java编写的服务器端程序(web application)。
作用:其主要功能在于交互式地浏览和修改数据,生成动态Web内容。
理解:狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们将Servlet理解为后者。

Servlet架构

架构图如下:

Servlet任务

Servlet 执行以下主要任务:

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

常见方法和生命周期

Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:

  • Servlet 通过调用 init () 方法进行初始化。
  • Servlet 调用 service() 方法来处理客户端的请求。
  • Servlet 通过调用 destroy() 方法终止(结束)。
  • 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的

Servlet对象的生命周期


A. init 方法被设计成只调用一次。
B. service() 方法是执行实际任务的主要方法。
C. destroy() 方法只会被调用一次,在 Servlet 生命周期结束时被调用。

servlet流程图

HttpServlet处理Http请求

  • Servlet的service()方法是请求的入口方法,HttpServlet实现service()方法在这个入口方法中根据不同的Http请求方法(如GET、POST请求)调用不同的方法。
  • 大多数应用程序都是要于HTTP结合起来使用。这意味着可以利用HTTP提供的特性。 javax.servlet.http包是Servlet API中的第二个包,其中包含了用于编写Servlet应用程序的类和接口,并且许多类型都覆写了javax.servlet 中的类型。
  • HttpServlet类覆盖了 javax.servlet.GenericServlet 类。使用HttpServlet时,需要使用代表Servlet请求和Servlet响应的 HttpServletRequest 和 HttpServletResponse 对象。

HttpServlet中的Service方法会检验用来发送请求的HTTP方法(通过调用request.getMethod() ), 并调用以下方法之一:

其中,doGet和doPost是最常用的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值