1、Servlet表单数据的方法
GET方法
http://localhost/hello?key1=value1&key2=value2
GET方法有大小限制:请求字符串中最多只能由【1024】个字符
这些信息通过QUERY_STRING头传递,并通过【QUERY_STRING】环境变量访问,Servlet通过【doGet()】方法处理请求。
POST方法
POST方法通过将信息以标准输出的形式传到后台程序,可以解析和使用这些标准输出,通过【doPost()】方法处理请求。
2、使用Servlet读取表单数据
- String getParameter(String): 调用该方法获取表单参数的值
- String[] getParameterValues(): 调用该方法获取多值,例如复选框
- Enumeration getParameterNames(): 调用该方法获取当前请求中的所有参数列表
Get()方法的使用
index.html
<html>
<head>
<meta charset="UTF-8">
<title>我的程序</title>
</head>
<body>
<form action="PageFrom" method="GET">
名字:<input type="text" name="first_name">
<br />
姓氏:<input type="text" name="last_name" />
<input type="submit" value="提交" />
</form>
</body>
</html>
PageFrom.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
import java.io.PrintWriter;
public class PageFrom extends HttpServlet {
private String message;
public void init() throws ServletException
{
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException
{
// 设置响应内容类型
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String title = "Use\"GET\"Method Read FormData";
String docType =
"<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//zn\">\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n" +
"<meta charset=\"UTF-8\">\n"+
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n" +
"<ul>\n" +
" <li><b>FirstName:</b>"
+ request.getParameter("first_name") + "\n" +
" <li><b>LastName:</b>"
+ request.getParameter("last_name") + "\n" +
"</ul>\n" +
"</body></html>");
}
public void destroy()
{
// 什么也不做
}
}
效果图
Post()方法
我们可以在之上get()方法的基础上,修改servlet方法,表单方法的修改
PageFrom.java
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
index.html
<html>
<head>
<meta charset="UTF-8">
<title>我的程序</title>
</head>
<body>
<form action="PageFrom" method="POST">
名字:<input type="text" name="first_name">
<br />
姓氏:<input type="text" name="last_name" />
<input type="submit" value="提交" />
</form>
</body>
</html>
效果图