HttpServletResponse 。 Servlet 通 过 这 些 对 象 与 服 务 器 通 信 并 最 终 与 客 户 机 通 信 。
Servlet 能通过调用"请求"对象的方法获知客户机环境,服务器环境的信息和所有由客
户机提供的信息。Servlet 可以调用"响应"对象的方法发送响应,该响应是准备发回客
户机的。
1. Servlet 的基础结构
下面我们来谈谈处理用户 GET 请求的最简单的 servlet 框架。GET 请求就是用户在浏览器的
地址栏里输入一个地址、在网页上点击连接或产生一个没有定义方法的 HTML 表单后产生
的请求。Servlets 还能轻松处理表单的提交(POST),关于处理表单提交我们将在后面几部分
谈到。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SomeServlet extends HttpServlet {
public void doGet(
HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
// 用 "request" 读取 http 信息头(如 cookie)
// 和 HTML 表单数据 (如用户输入和提交的数据)
// 用"response"指定 http 响应 和 http 信息头
// (如指明信息的类型、设定 cookie).
PrintWriter out = response.getWriter();
// 用 "out"输出内容到浏览器
} }
不管是用 doGet 还是 doPost 方法,servlet 都要用到 HttpServlet 扩展类。这些方法可分为两
类 : HttpServletRequest 和 HttpServletResponse 。 HttpServletRequest 含 有 获 得 表 单 数 据 、
HTTP 信息头等信息的方法。 HttpServletResponse 则包含指明 HTTP 响应 (200, 404,等。)、
信息头(Content-Type, Set-Cookie, 等。)的方法,更重要的是你能使用 PrintWriter 方法向客
户端输出信息。注意 doGet 和 doPost 方法会抛出两个异常,所以必须在定义里包含他们。
要用到 PrintWriter、HttpServlet 和 HttpServletRequest, HttpServletResponse 方法还必须分别
引入 java.io、javax.servlet 和 javax.servlet.http。 一般来说,doGet 和 doPost 是被 service 方法
调用的,但有时候你可能想越过 service 方法而直接使用自己定义的 service 方法,比如定义
一个既能处理 GET 也能处理 POST 请求的 servlet。
2. 一个简单的 Servlet--产生存文本
下面是一个产生存文本的简单 servlet 的实例。
2.1 HelloWorld.java
import java.io.*;