首页 > 代码库 > 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()我感觉不太常用,也不写啦。

 

Servlet之获取前端的数据