表單頁面:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Form</title>
</head>
<body>
<form method="post" action="FormServlet">
name:<input type="text" name="name"><br/>
password:<input type="text" name="password"><br/>
<input type="submit" value="submit">
</form>
</body>
</html>
處理表單數據的servlet:
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* Created by leo on 17-7-14.
*/
/*
request:
getParameter():您可以調用 request.getParameter() 方法來獲取表單參數的值。
getParameterValues():如果參數出現一次以上,則調用該方法,並返回多個值,例如複選框。
getParameterNames():如果您想要得到當前請求中的所有參數的完整列表,則調用該方法。
*/
@WebServlet("/FormServlet") ////servlet3.1,tomcat=8.5.15時,"/FormServlet"的斜線不能漏
public class FormServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String name = new String(request.getParameter("name").getBytes("ISO8859-1"), "UTF-8");
String password = new String(request.getParameter("password").getBytes("ISO8859-1"), "UTF-8");
String result = "<h1>name:" + name + ",password=" + password + "</h1>";
out.println(result);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
}