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
- http协议3---GET方式和POST方式获取表单数据举例2(统一方式获取)
- http协议2---GET方式和POST方式获取表单数据举例 1(非统一方式获取数据,比较麻烦)
- http协议4---GET方式和POST方式获取表单数据举例3(统一方式获取,解决中文乱码问题)
- 通过Http协议以Get和Post方式获取服务器端文本数据
- get/post 方式,form/数据的获取
- http协议GET方式获取图片
- 【Android】使用http的Post和Get方式获取网络数据
- 兼容 表单 get post方式 获取表单信息 键值对
- Http 以post方式获取数据
- get方式数据获取
- Http协议获取图片数据流(GET方式)
- 网络传输协议(http协议/请求和响应/get方式与post方式)
- 如何调用http接口获取json数据及GET/POST方式调用http接口
- 在线程中使用HttpClicent获取网络数据(get和post两种方式)
- Netty_使用http协议,post&get方式
- Http协议 GET/POST请求方式
- http协议的get和post方式的区别
- HTTP协议请求方式:GET 和 POST区别
- 分页查询就是这样
- validate 属性
- Extjs4.2页面显示错误 closeAction
- iOS开发 ☞ NSTimer
- 稍微深入点理解C++复制控制
- http协议3---GET方式和POST方式获取表单数据举例2(统一方式获取)
- Spring Boot使用thymeleaf模板
- HDU1253 胜利大逃亡(三维广搜BFS+剪枝+优先队列)
- 学习之http缓存策略
- spring 自动扫包代码放置的位置问题
- java代理机制简单实现
- Linux中sudo命令使用方法
- QTtableview的用法(抓包持续积累中)
- 论javascript的web开发中的重要性