1. 程式人生 > >利用Servlet讀取HTML表單資料-Servlet學習筆記

利用Servlet讀取HTML表單資料-Servlet學習筆記

一、客戶端傳遞資料的方式
客戶端往web伺服器傳遞資料,通常有兩種方式:使用表單或者將資料附在URL後面。這些資料傳遞給Web伺服器中的程式後,通常需要將它們提取出來,然後對這些資料進行相應的處理。
二、在Servlet中讀取客戶端傳送的資料
<FORM>標記是接收客戶端的輸入,講使用者輸入的資料提交到<FORM>標記的<Action>熟悉。通常,無論是用GET還是POST方式提交表單,都是將表單中的各個元素值按照“名-值”對的形式傳遞到伺服器端的。因此,我們可以在服務端的程式中,通過分析“名-值”對系列來獲得我們需要的資料。一般在Servlet中,我們可以使用Servlet內建機制,達到這個目的。
    在Servlet中,根據客戶端的請求方式,會呼叫doGet()或doPost()方法來處理,並且這兩個方法有相同的引數:HttpServletRequest和HttpServletResponse。HttpServletRequest包含很多客戶端的請求資訊,而表單資料就包含在其中。通過HttpServletRequest物件上的getParameter()方法,並且給這個方法一個字串引數,用於指定需要獲取的引數的名字,就可以得到對應引數名的值
。在這裡要特別注意,getParameter()方法的引數必須和表單元素的名稱一致,並且嚴格區分大小寫。getParameter()方法已經封裝好哦瞭如何分析並獲得客戶端傳遞的這些表單資料的過程,我們直接使用這個方法就可以得到和客戶端輸入一致的資料。
getPersonData.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>getPersonData.html</title>
   
    <meta. http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta. http-equiv="description" content="this is my page">
    <meta. http-equiv="content-type" content="text/html; charset=UTF-8">
   
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

  </head>
 
  <body>
    <form. name="
test
" method="post"action="chop01.GetPersonData">
    使用者名稱:<input type="text" name="UserName"/>
    <br/>
   密碼:<input type="password" name="Pwd"/>
   <br/>
   <input type="submit" value="提交" >
  
   
    </form>
</body>
</html>

GetPersonData.java
package chop01;

import
java
.io.IOException;
import java.io.*;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class GetPersonData extends HttpServlet{
     


    public void service(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
        String username;
        String password;
        //讀取“姓名”
        username =request.getParameter("UserName");
        //讀取“密碼”
        password =request.getParameter("Pwd");
        PrintWriter ut = response.getWriter();
        out.println("UserNamme:"+username);
        out.println("Password:"+password);
       
    }   
}