doGet方法:doGet方法用来处理客户端浏览器直接访问和表单get方式提交的表单。
实例如下(本页面是JSP页面,虽然还没有学到JSP,但我觉得在用Servlet时用JSP已经不是什么
难题,况且下面这个JSP是很简单的):USERFORM.JSP
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
<head>
<title>用户表单</title>
</head>
<body>
<form action="DoGetDemo" method="get">
用户名:<input type="text" name="username"/><br>
密码:<input type="password" name="password"/><br>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
</body>
</html>
OK,接下来相对应的Servlet代码如下:
package com.javaweb.ch10;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DoGetDemo extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
String username = request.getParameter("username");
String password = request.getParameter("password");
out.println("<html>");
out.println("<body>");
out.println("用户名:" + username + "<br>");
out.println("密码:" + password);
out.println("</body>");
out.println("</html>");
}
}
好了,现在我来解释一下上面代码的意思:
第一个JSP文件是用于客户端向服务端提交表单的文件,这个JSP文件很简单,和一个HTML文件大同小异,我们虽然还没有学到JSP,但对如此简单的JSP应该还是会写的,本文件相对于一个HTML文件来讲只有第一行是新东西,第一行一看就知道是什么意思,它无非就是一个JSP的脚本指令,此脚本指令定义了本脚本的使用语言为java,脚本的编码类型及规范为text/html和GB2312,OK!到此为止其余的诸如表单一类的东西都是已经接触过的了,不用再多费口舌。
第二个文件是一个Servlet类,这几天都在学这个东西,应该对他不会陌生,它用来处理客户端动态页面请求,因为客户端提交的请求是DoGetDemo,所以服务端必须要有此Servlet才能做出正确响应,否则客户端将抛出404错误,好了,接下来因为客户端是以get方式提交表单,所以服务端需要用doGet方法来处理这类请求信息,至于处理的过程及结果大家都能看懂,我就不多说了。
另外说明一下,doGet方法只能用来处理get方式提交上来的表单,不能处理post方式提交的表单。