IBM SW284 Servlet 概览讲义

来源:/田浩然上传的资料/0C101软件构件与中间件技术/ibm/SW284_Slides/sw2256g03.pdf(12 页,IBM SW284 软件构件与中间件技术课程 Unit 3 讲义,约 2001-2003 年)

Servlet 是什么

  • J2EE 应用的标准服务端组件,代表 HTTP 请求在服务端执行业务逻辑
  • 运行在服务层(非客户端),是 CGI 脚本的纯 Java 替代
  • 由 Web 容器(Web container)托管,天然多线程

HTTP 请求/响应结构

请求阶段:请求行(如 POST /Music/SearchServlet HTTP/1.0)→ 头部(Referer、User-Agent、Cookie、Content-type: application/x-www-form-urlencoded、Content-length 等)→ 空行 → POST 数据(song_title=Hello&song_artist=Jones)。

响应阶段:状态行(HTTP/1.1 200 ok)→ 头部(Content-Type、Set-Cookie、Cache-Control、Expires)→ 空行 → HTML 文档。

Servlet 处理流程

  1. 客户端请求 URL 指向某 servlet
  2. Web 服务器把请求转发给 servlet 引擎,引擎定位 Servlet 类实例
  3. 引擎调用 servlet 的 service 方法
  4. Servlet 动态构建响应(可访问外部资源)交回 Web 服务器
  5. Web 服务器把响应发回客户端

编写要点

  • 类必须 extends javax.servlet.http.HttpServlet
  • 覆写 doGet / doPost 分别处理 GET / POST
  • 处理 HttpServletRequest 输入 → 调用业务流程 → 设置 HttpServletResponse → 通过 response.getWriter() 的 PrintWriter 输出 HTML
  • 典型代码:request.getHeader("User-Agent") 读请求头,response.setContentType("text/html") 设定响应类型

评价

IBM 官方 J2EE 培训的标准入门单元,内容为基础科普级;与讲义配套的整个 SW284_Slides 目录是构件/中间件课程全套课件(该课其余部分含 EJB 等单元,见队列 0C101 目录其余文件)。

关联