servlet-后台获取form表单传的参数
前台代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>请求参数传递和接收问题</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head> <body>
<h3>GET方式提交</h3>
<form action="/day09/demo5" method="GET">
用户名:<input type="text" name="name"/><br/>
密码:<input type="password" name="password"/><br/>
性别:
<input type="radio" name="gender" value="男"/>男
<input type="radio" name="gender" value="女"/>女<br/>
籍贯:
<select name="jiguan">
<option value="广东">广东</option>
<option value="广西">广西</option>
<option value="湖南">湖南</option>
</select>
<br/>
爱好:
<input type="checkbox" name="habit" value="篮球"/>篮球
<input type="checkbox" name="habit" value="足球"/>足球
<input type="checkbox" name="habit" value="羽毛球"/>羽毛球<br/>
个人简介:
<textarea rows="5" cols="10" name="info"></textarea><br/>
<!-- 隐藏域 -->
<input type="hidden" name="id" value="001"/>
<input type="submit" value="提交"/>
</form>
<hr/> <h3>POST方式提交</h3>
<form action="/day09/demo5" method="POST">
用户名:<input type="text" name="name"/><br/>
密码:<input type="password" name="password"/><br/>
性别:
<input type="radio" name="gender" value="男"/>男
<input type="radio" name="gender" value="女"/>女<br/>
籍贯:
<select name="jiguan">
<option value="广东">广东</option>
<option value="广西">广西</option>
<option value="湖南">湖南</option>
</select>
<br/>
爱好:
<input type="checkbox" name="hobit" value="篮球"/>篮球
<input type="checkbox" name="hobit" value="足球"/>足球
<input type="checkbox" name="hobit" value="羽毛球"/>羽毛球<br/>
个人简介:
<textarea rows="5" cols="10" name="info"></textarea><br/>
<!-- 隐藏域 -->
<input type="hidden" name="id" value="001"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
servlet代码:
package servlet; import java.io.IOException;
import java.util.Enumeration; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class RequestDemo5 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { /*
* 设置参数查询的编码
* 该方法只能对请求实体内容的数据编码起作用。POST提交的数据在实体内容中,所以该方法对POST方法有效!
* GET方法的参数放在URI后面,所以对GET方式无效!!!
*/
request.setCharacterEncoding("utf-8"); /*
* 统一方便地获取请求参数的方法
*/
System.out.println(request.getMethod() + "方式"); // String value = request.getQueryString();
// System.out.println(value); /*
* request.getParameterNames()方法
* 将发送请求页面中form表单里所有具有name属性的表单对象获取(包括button).
* 返回一个Enumeration类型的枚举
*/
Enumeration<String> enums = request.getParameterNames();
while( enums.hasMoreElements() ) { String paramName = enums.nextElement(); //如果参数名是habit,则调用getParameterValues
if ("habit".equals(paramName)) {
// getParameterValues(name): 根据参数名获取参数值(可以获取多个值的同名参数)
String[] habits = request.getParameterValues("habit");
for(String habit : habits) {
if("GET".equals(request.getMethod())) {
habit = new String(habit.getBytes("iso-8859-1"), "UTF-8");
}
System.out.println("选中的爱好:" + habit);
}
} else { //如果不是habit,则调用getParameter
String paramValue = request.getParameter(paramName);
if ( "GET".equals(request.getMethod()) ) {
paramValue = new String(paramValue.getBytes("iso-8859-1"), "UTF-8");
}
System.out.println(paramName + " = " + paramValue);
}
}
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); // 获取以表单提交的post类型的值
// InputStream in = request.getInputStream();
// byte[] buf = new byte[1024];
// int length = 0;
// while ( (length = in.read(buf)) != -1 ) {
// System.out.println(new String(buf, 0, length));
// } // 统一方便地获取请求参数的方法
// Enumeration enums = request.getParameterNames();
// while( enums.hasMoreElements() ) {
// String paramName = (String) enums.nextElement();
// String paramValue = request.getParameter(paramName);
// System.out.println(paramName + " = " + paramValue);
// }
this.doGet(request, response);
} }
servlet-后台获取form表单传的参数的更多相关文章
- 3..jquery的ajax获取form表单数据
jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...
- java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)
1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...
- html基础:jquery的ajax获取form表单数据
jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...
- 记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!
记住 MVC里用formcollection接收form表单传来的值,input属性必须有name为健! 调了一晚上!! 写个日志记下!!
- jmeter 获取数据库表数据作为参数
jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...
- serialize可以获取form表单里面的数值
serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- 5 获取Form表单取值
#form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...
- Request.getparameternames 获取form表单里面所有的请求参数 。 返回一个Enumeration类型的枚举.
通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值. 最后通过request.g ...
- ASP.NET在MVC控制器中获取Form表单值的方法
在网站开发中我们经常需要用到表单,那么,在前台页面的表单中提交到后台控制器后,后台控制器如何接收表单提交过来的数据呢?下面我们介绍几种常用的方法. 我们先看看前台页面,这里我们用一个用户名和密码的表单 ...
随机推荐
- STM32串口通信配置(USART1+USART2+USART3+UART4)
一.串口一的配置(初始化+中断配置+中断接收函数) 1 /*====================================================================== ...
- 调用ms自带的合成语音TTS
通过import of Component导入封装TTS引擎,然后选择: 最后调用: MyVoce := CoSpVoice.Create; MyVoce.Pause;//暂停 MyVoce.Stat ...
- iOS中UITextView的操作技巧
刚才看了一篇textView实现placeholder的文章,有兴趣的同学们能够看下:__biz=MzA3NzM0NzkxMQ==&mid=211846438&idx=1&sn ...
- Javaproject集成log4J 1.x
log4j是Java开发平台中的日志管理工具,是Apache基金会的一个开源项目.它的作用能够简单的理解为在开发过程中替代system.out的功能. 1.在project中集成log4j: (1)在 ...
- unity中 拖拽随意的对象
孙广东 2015.8.16 目的 : 我们能简单的通过 鼠标位置 得到目标对象 假设没有使用刚体组件 Step - 1: 在3D项目中设置场景. 一个空对象命名为: DragAndDrop ...
- C++学习笔记22,普通函数重载(1)
转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于不论什么商业用途,本博主保留对该博文的 ...
- 【NOIP2018】为什么这么无力啊
菜鸡又要爆零了 辛辛苦苦背板子结果考时候脑子一片空白 第一题线段树调了半小时 看完三道题两道写暴搜一道写暴力(说是暴搜,觉得更像写了个背包) 别提暴搜还忘记剪枝. . . . . . 我觉得考场上最菜 ...
- multiple web application host under the same website on IIS (authentication mode)
第一种方式,修改forms的name how to set the forms authentication cookie path assume you have already solved th ...
- hdoj--5233--Gunner II(map+queue&&二分)
Gunner II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tot ...
- B3402 [Usaco2009 Open]Hide and Seek 捉迷藏 最短路
直接最短路板子,dij堆优化. 题干: 题目描述 贝茜在和约翰玩一个“捉迷藏”的游戏. 她正要找出所有适合她躲藏的安全牛棚.一共有N(≤N≤)个牛棚,被编为1到N号.她知道约翰(捉牛者)从牛棚1出发. ...