前台代码:

<!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表单传的参数的更多相关文章

  1. 3..jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  2. java:JavaScript2:(setTimeout定时器,history.go()前进/后退,navigator.userAgent判断浏览器,location.href,五种方法获取标签属性,setAttribute,innerHTML,三种方法获取form表单信息,JS表单验证,DOM对象,form表单操作)

    1.open,setTimeout,setInterval,clearInterval,clearTimeout <!DOCTYPE> <html> <head> ...

  3. html基础:jquery的ajax获取form表单数据

    jq是对dom进行的再次封装.是一个js库,极大简化了js使用 jquery库在js文件中,包含了所有jquery函数,引用:<script src="jquery-1.11.1.mi ...

  4. 记住 MVC里用formcollection接收form表单传来的值,表单属性必须有name为健!

    记住 MVC里用formcollection接收form表单传来的值,input属性必须有name为健! 调了一晚上!! 写个日志记下!!

  5. jmeter 获取数据库表数据作为参数

    jmeter - 获取数据库表数据作为参数 在jmeter中使用数据库表数据首先需要设置数据库连接,然后在创建JDBC取样器 1.创建配置元件 JDBC Connection Configuratio ...

  6. serialize可以获取form表单里面的数值

    serialize属性 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  7. 5 获取Form表单取值

    #form表达提交@app.route("/data",methods=['GET','POST']) #methods 让当前路由支持GET 和 POST 方式def data( ...

  8. Request.getparameternames 获取form表单里面所有的请求参数 。 返回一个Enumeration类型的枚举.

    通过Enumeration的hasMoreElements()方法遍历.再由nextElement()方法获得枚举的值.此时的值是form表单中所有控件的name属性的值. 最后通过request.g ...

  9. ASP.NET在MVC控制器中获取Form表单值的方法

    在网站开发中我们经常需要用到表单,那么,在前台页面的表单中提交到后台控制器后,后台控制器如何接收表单提交过来的数据呢?下面我们介绍几种常用的方法. 我们先看看前台页面,这里我们用一个用户名和密码的表单 ...

随机推荐

  1. MongoDB - 认识MongoDB及数据类型

    目录 MongoDB - 认识MongoDB及数据类型 启动 MogoDB的数据 MogoDB的数据类型 1.Object ID : Documents自生成的_id 2.string : 字符串,必 ...

  2. String formatting in Python

    | \n | 换行   || \t | 制表符 || \  | 转义   || \\ | \      | the '%' operator is used to format a set of va ...

  3. 【Codeforces 340D】Bubble Sort Graph

    [链接] 我是链接,点我呀:) [题意] 让你根据冒泡排序的规则 建立一张图 问你这张图的最大独立子集的大小 [题解] 考虑a[i]会和哪些点连边? 必然是在a[i]左边且比它大的数字以及在a[i]右 ...

  4. 【codeforces 701C】They Are Everywhere

    [题目链接]:http://codeforces.com/contest/701/problem/C [题意] 让你选择一段最短的区间; 使得这段区间里面包含所有种类的字符; [题解] 之前都是用二分 ...

  5. 【LeetCode Weekly Contest 26 Q4】Split Array with Equal Sum

    [题目链接]:https://leetcode.com/contest/leetcode-weekly-contest-26/problems/split-array-with-equal-sum/ ...

  6. php表单常用正则表达式

    <?php /** * @description: 正则表达式匹配 */ class Regex { /** * @手机号 */ public static function Phone($su ...

  7. windows脚本(VBS)之cmd命令行的妙用

    windows脚本(VBS)之cmd命令行的妙用 (2009-08-06 13:40:55) 转载▼ 标签: 脚本 cmd 命令行 vbs js 简单 公式 windows it 分类: 计算机 脚本 ...

  8. NoSQL数据库:Redis内存使用优化与存储

    Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: ●String ●Hash ●List ●Set ●Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Re ...

  9. hdu 6082 度度熊与邪恶大魔王(2017"百度之星"程序设计大赛 - 资格赛 )

    度度熊与邪恶大魔王 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  10. succ