程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Servlet之獲取前端的數據,Servlet之獲取數據

Servlet之獲取前端的數據,Servlet之獲取數據

編輯:JAVA綜合教程

Servlet之獲取前端的數據,Servlet之獲取數據


  java中獲取網頁的get或post數據的方法有以下三種:

  • getParameter(name);          獲取單參數的方法。
  • getParameterValues(name); 獲取多參數值的方法,如復選框的值,返回一個數組
  • getParameterNames(name); 獲取request中的所有參數,返回一個枚舉類型

  本次的實例主要是關於getParameter(), getParameterValues()的。

  實例:

  HTML:

 1 <!DOCTYPE html>
 2 <!--為了簡潔,不寫注釋啦-->
 3 <html>
 4   <head>
 5     <meta charset="utf-8" />
 6     <title>entity</title>
 7     <meta name="description" content="this is description" />
 8     <meta name="keywords" content="keyword1,keyword2,keyword3"  />
 9   </head>
10   <body>
11     <h1>Get Form Information</h1>
12     <hr/>
13     <form action="servlet/Test" method="post">
14       <table><tbody>
15         <tr>
16           <td>姓名:</td>
17           <td><input type="text" name="username" /></td>
18         </tr>
19         <tr>
20           <td>愛好:</td>
21           <td><input type="checkbox" name="hobby" value="NBA" />NBA &nbsp;<input type="checkbox" name="hobby" value="旅游" 
22 
23 />旅游 &nbsp;<input type="checkbox" name="hobby" value="看書" />看書
24           </td>
25         </tr>
26         <tr>
27           <td><input type="submit" value="提交數據"/></td>
28           <td><input type="reset"  value="重置數據" /></td>
29         </tr>
30         <tr></tr>
31       </tbody></table>
32        </form>
33   </body>
34 </html>

 

 Servlet代碼:servlet/Test.java:
  1 package servlet;
  2 
  3 import java.io.IOException;
  4 import java.io.PrintWriter;
  5 import java.text.SimpleDateFormat;
  6 import java.util.Date;
  7 
  8 import javax.servlet.ServletException;
  9 import javax.servlet.http.HttpServlet;
 10 import javax.servlet.http.HttpServletRequest;
 11 import javax.servlet.http.HttpServletResponse;
 12 
 13 14 
 15 public class Test extends HttpServlet {
     //實現HttpServlet中的doGet的方法
 44     public void doGet(HttpServletRequest request, HttpServletResponse response)
 45             throws ServletException, IOException {
       //get方式和post差不多,亂碼問題比較難解決
 54          
 55     }
 56 
     //實現HttpServlet中的doPost的方法
 67     public void doPost(HttpServletRequest request, HttpServletResponse response)
 68             throws ServletException, IOException {
 69          //解決Post中的中文亂碼
 70         request.setCharacterEncoding("utf-8");
 71         73         String username,mypassword ;
 74         String[] favorite;
       PrintWriter out = response.getWriter(); 76         
 77      
 78         try
 79         {
          //通過getParameter獲得單參數值 80 username = request.getParameter("username");
          //向後台輸出 81 System.out.println("Post method username = "+username); 82 out.println("姓名:"+usrname);
          
          //通過getParameterValues方法獲得復選框的的值 83 favorite = request.getParameterValues("hobby");          out.println("愛好:"+favorite); 99 } 100 catch(Exception ex) 101 { 102 ex.printStackTrace(); 103 } 104 105 106 } 118 }

 Servlet代碼中第80行和83行是getParameter()和getParameterValues()的使用。

此處沒有寫get方式,一是因為要解決中文亂碼,二和post方式一樣,就不多寫啦,掌握其思想就行,getParameterNames()我感覺不太常用,也不寫啦。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved