你的位置:首页 > Java教程

[Java教程]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()我感觉不太常用,也不写啦。