JAVA实习笔记——Servlet

初学者servlet,最大疑问无非是:它是什么?它由什么组成?它的生命周期?它能干什么?它怎么实现 ?

servlet 还有很多地方需要学习,我暂时只写了这些,有很不完善的地方,仅代表个人意见,欢迎批评指正

以下观点参考了很多大神的资料


1. 什么是Servlet?

① Servlet就是JAVA 类
② Servlet是一个继承HttpServlet类的类
③这个在服务器端运行,用以处理客户端的请求

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层,简单的来说,它只是一个类。


2. 它由什么组成?

ServletAPI 主要由两个Java包组成: javax.servlet 和 javax.servlet.http

javax.servlet.* :存放与HTTP 协议无关的一般性Servlet 类;

javax.servlet.http.* :除了继承javax.servlet.* 之外,并且还增加与HTTP协议有关的功能。

HttpServlet :提供了一个抽象类用来创建Http Servlet。

  public void doGet()方法:用来处理客户端发出的 GET 请求
  public void doPost()方法:用来处理 POST请求
  还有几个方法大家自己去查阅API帮助文件

javax.servlet包的接口:

  ServletConfig接口:在初始化的过程中由Servlet容器使用
  ServletContext接口:定义Servlet用于获取来自其容器的信息的方法
  ServletRequest接口:向服务器请求信息
  ServletResponse接口:响应客户端请求
  Filter接口:可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截

javax.servlet包的类:

  ServletInputStream类:用于从客户端读取二进制数据
  ServletOutputStream类:用于将二进制数据发送到客户端

javax.servlet.http包的接口:

  HttpServletRequest接口:提供Http请求信息
  HttpServletResponse接口:提供Http响应


3. 它的生命周期

整个过程.

  1. 如果一个servlet的实例并不存在, Web容器将
    • 加载servlet类
    • 创建一个servlet类的实例
    • 调用init初始化servlet实例
  2. 调用service方法,传递一个请求和响应对象
  3. 如果该容器要移除这个servlet,可调用servlet的destroy方法来结束该servlet

servlet三个方法

  init()方法:
  service()方法:Dispatches client requests to the protected service method 
  destroy()方法:Called by the servlet container to indicate to a servlet that the servlet is being taken out of service.
  

Servlet生命周期

  1. 客户端请求该 Servlet;
  2. 加载 Servlet 类到内存;
  3. 实例化并调用init()方法初始化该 Servlet;
  4. service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions());
  5. destroy() 销毁

4. 它能干什么?

简单的说,它的工作模式是:

客户端发送请求至服务器,服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器,服务器将响应返回客户端。

Servlet 执行以下主要任务:

  1. 读取客户端(浏览器)发送的显式的数据。这包括网页上的 HTML 表单,或者也可以是来自 applet 或自定义的 HTTP 客户端程序的表单。

  2. 读取客户端(浏览器)发送的隐式的 HTTP 请求数据。这包括 cookies、媒体类型和浏览器能理解的压缩格式等等。

  3. 处理数据并生成结果。这个过程可能需要访问数据库,执行 RMI 或 CORBA 调用,调用 Web 服务,或者直接计算得出对应的响应。

  4. 发送显式的数据(即文档)到客户端(浏览器)。该文档的格式可以是多种多样的,包括文本文件(HTML 或 XML)、二进制文件(GIF 图像)、Excel 等。

  5. 发送隐式的 HTTP 响应到客户端(浏览器)。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。


5. 它怎么实现?

最关键的地方,也是最期待的地方,需要配置服务器什么的巴拉巴拉。。代码贴在下一篇吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值