http协议3---GET方式和POST方式获取表单数据举例2(统一方式获取)

来源:互联网 发布:淘宝的促销大师怎么用 编辑:程序博客网 时间:2024/06/05 14:18

GET方式和POST方式获取表单数据举例2(统一方式获取)

传递的请求参数如何获取

GET方式:参数放在URI后面

POST方式:参数放在实体内容中

 

获取GET方式参数:

request.getQueryString();

获取POST方式参数:

request.getInputStream();

问题:但是以上两种不通用,而且获取的参数需要进行进一步的解析。所以可以使用统一方便的获取参数方式:

核心的API

request.getParameter(参数名);根据参数名获取参数值(注意,只能获取一个值得参数)

request.getParameterValues(参数名);根据参数名获取参数值(可以获取多个值的参数)

request.getParameterNames();获取所有参数名称列表

html文件:testParam.html

<!DOCTYPE html><html>  <head>    <title>请求参数传递和接收的问题</title>    <meta name="keywords" content="keyword1,keyword2,keyword3">    <meta name="description" content="this is my page">    <meta name="content-type" content="text/html; charset=UTF-8">        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->  </head>    <body>  <h3>GET请求</h3>  <form action="/day08_web/Demo_Request2" method="GET">  用户名:<input type="text" name="name"/></br>  密码:<input type="password" name="password"></br>  <input type="submit" value="提交"/>  <br/>  性别:  <input type="radio" name="gender" value="male"/>男  <input type="radio" name="gender" value="female"/>女  <br/>    籍贯:  <select name="jiguan">  <option value="gd">广东</option>  <option value="gx">广西</option>  <option value="hn">湖南</option>  </select>  <br/>    爱好:  <input type="checkbox" name="hobit" value="lq"/>篮球  <input type="checkbox" name="hobit" value="zq"/>足球  <input type="checkbox" name="hobit" value="ymq"/>羽毛球  <br/>    个人简介:  <textarea rows="5" cols="10" name="info"></textarea>  <br/>    <!-- 隐藏域 -->  <input type="hidden" name="id" value="001">  <br/>    <input type="submit" value="提交"></form><hr/><h3>POST请求</h3>  <form action="/day08_web/Demo_Request2" method="POST">  用户名:<input type="text" name="name"/></br>  密码:<input type="text" name="password"></br>  <input type="submit" value="提交"/>  <br/>    性别:  <input type="radio" name="gender" value="male"/>男  <input type="radio" name="gender" value="female"/>女  <br/>    籍贯:  <select name="jiguan">  <option value="gd">广东</option>  <option value="gx">广西</option>  <option value="hn">湖南</option>  </select>  <br/>    爱好:  <input type="checkbox" name="hobit" value="lq"/>篮球  <input type="checkbox" name="hobit" value="zq"/>足球  <input type="checkbox" name="hobit" value="ymq"/>羽毛球  <br/>    个人简介:  <textarea rows="5" cols="10" name="info"></textarea>  <br/>    <!-- 隐藏域 -->  <input type="hidden" name="id" value="001">  <br/>    <input type="submit" value="提交"></form>  </body></html>


主程序:Demo_Request2.java

package Request;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;import java.util.Enumeration;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/* * 获取GET方式和POST方式提交的参数 */public class Demo_Request2 extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//System.out.println("GET方式提交");////接收GET方式提交的参数//String value = request.getQueryString();//System.out.println(value);/* * 统一方便的获取请求参数方法 */System.out.println(request.getMethod()+"方式获取数据");//根据参数名得到参数值(只能获取一个值得参数)String name = request.getParameter("name");String password = request.getParameter("password");System.out.println(name+"---"+password);System.out.println("=================================================");//获取全部的参数名和参数值Enumeration<String> enums = request.getParameterNames();while(enums.hasMoreElements()) {String paramName = enums.nextElement();if("hobit".equals(paramName)) {/* * 根据参数名获取参数值(但是可以获取多个值) */String[] hobits = request.getParameterValues("hobit");for(String h : hobits) {System.out.println(paramName+"---"+h+", ");} } else {String paramValue = request.getParameter(paramName);System.out.println(paramName+"---"+paramValue);}}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//System.out.println("POST方式提交");//InputStream in = request.getInputStream();//byte[] buf = new byte[1024];//int len = 0;//while((len = in.read(buf)) != -1) {//System.out.println(new String(buf,0,len));//}//System.out.println(request.getMethod()+"方式获取数据");////根据参数名得到参数值//String name = request.getParameter("name");//String password = request.getParameter("password");//System.out.println(name+"---"+password);////获取全部的参数名和参数值//Enumeration<String> enums = request.getParameterNames();//while(enums.hasMoreElements()) {//String paramName = enums.nextElement();//String paramValue = request.getParameter(paramName);//System.out.println(paramName+"---"+paramValue);//}//一定调用doGet方法this.doGet(request, response);}}


 

 

0 0
原创粉丝点击