Servlet之获取前端的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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之获取前端的数据的主要内容,如果未能解决你的问题,请参考以下文章

前端面试题之手写promise

javaWeb之servlet获取表单数据

servlet怎么从浏览器地址栏获取?后面的数据

Servlet使用

java 后台如何获取前台上传的几张图片

web前端开发JQuery常用实例代码片段(50个)