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。 本人译自http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/ 有不妥之处,还请各位指教!
|