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 <input type="checkbox" name="hobby" value="旅游" 22 23 />旅游 <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()我感觉不太常用,也不写啦。
时间: 2024-10-28 19:49:15