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。