Servlet 具備完整的請求響應能力,可直接處理表單提交數據。本文通過實例講解 Servlet 接收表單參數、GET/POST 統一處理,以及 URL 路徑匹配的關鍵細節。
<form action="../InputServlet" method="post">
輸入內容:<input type="text" name="info">
<input type="submit" value="提交">
</form>
關鍵點:action 路徑寫法需與 web.xml 中 url-pattern 匹配,相對路徑 ../ 表示從當前頁面目錄向上一級。
package ServletDemo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class InputServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String info = req.getParameter("info"); // 獲取參數
resp.setContentType("text/html;charset=UTF-8");
PrintWriter out = resp.getWriter();
out.println("<html><head><title>Web開發</title></head><body>");
out.println("<h1>" + info + "</h1>");
out.println("</body></html>");
out.close();
}
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
this.doGet(req, resp); // POST 委托給 doGet 統一處理
}
}
/InputServlet 僅匹配該路徑。/servlet/* 匹配 /servlet/ 下所有路徑。*.do 匹配所有 .do 結尾請求(Struts 風格)。表單 action 必須與映射規則一致,否則會出現 404 錯誤。
