該示例采用doPost方法提交表單,該示例一共包含兩個文件。
一個是用來提交用戶信息的表單userForm2.jsp,另一個是用來接收參數的Servlet。
userForm2.jsp
1 <%@ page language="java" contentType="text/html;charset=gb2312"%> 2 3 <html> 4 <head><title>用戶表單</title></head> 5 6 <body> 7 <form action="DoPostDemo" method="post"> 8 用戶名:<input type="text" name="username"><br /> 9 密碼:<input type="password" name="password"><br /> 10 <input type="submit" value="提交"> 11 <input type="reset" value="重置"> 12 </form> 13 </body> 14 </html>
接收參數的Servlet
1 package com.mhb; 2 3 import java.io.IOException; 4 import java.io.PrintWriter; 5 6 import javax.servlet.ServletException; 7 import javax.servlet.http.HttpServlet; 8 import javax.servlet.http.HttpServletRequest; 9 import javax.servlet.http.HttpServletResponse; 10 11 public class DoPostDemo extends HttpServlet { 12 public void init() throws ServletException { 13 } 14 public void doPost(HttpServletRequest request, HttpServletResponse response) 15 throws ServletException, IOException { 16 response.setContentType("text/html;charset=gb2312"); 17 PrintWriter out = response.getWriter(); 18 19 //設置接收參數的編碼格式 20 request.setCharacterEncoding("gb2312"); 21 //獲取username,password參數 22 String username = request.getParameter("username"); 23 String password = request.getParameter("password"); 24 25 out.println("<HTML>"); 26 out.println("<BODY>"); 27 out.print("用戶名:"+username+"<br />"); 28 out.print("密碼:"+password+"<br />"); 29 out.println(" </BODY>"); 30 out.println("</HTML>"); 31 } 32 public void destroy() { 33 super.destroy(); 34 } 35 }
web.xml配置
<servlet> <servlet-name>DoPostDemo</servlet-name> <servlet-class>com.mhb.DoPostDemo</servlet-class> </servlet> <servlet-mapping> <servlet-name>DoPostDemo</servlet-name> <url-pattern>/DoPostDemo</url-pattern> </servlet-mapping>
瀏覽器顯示: