前台代码:

<!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. STM32串口通信配置(USART1+USART2+USART3+UART4)

    一.串口一的配置(初始化+中断配置+中断接收函数) 1 /*====================================================================== ...

  2. 调用ms自带的合成语音TTS

    通过import of Component导入封装TTS引擎,然后选择: 最后调用: MyVoce := CoSpVoice.Create; MyVoce.Pause;//暂停 MyVoce.Stat ...

  3. iOS中UITextView的操作技巧

    刚才看了一篇textView实现placeholder的文章,有兴趣的同学们能够看下:__biz=MzA3NzM0NzkxMQ==&mid=211846438&idx=1&sn ...

  4. Javaproject集成log4J 1.x

    log4j是Java开发平台中的日志管理工具,是Apache基金会的一个开源项目.它的作用能够简单的理解为在开发过程中替代system.out的功能. 1.在project中集成log4j: (1)在 ...

  5. unity中 拖拽随意的对象

    孙广东   2015.8.16 目的 :  我们能简单的通过 鼠标位置 得到目标对象  假设没有使用刚体组件 Step - 1: 在3D项目中设置场景.  一个空对象命名为: DragAndDrop ...

  6. C++学习笔记22,普通函数重载(1)

    转载请注明出处:http://blog.csdn.net/qq844352155/article/details/31353325 该博文仅用于交流学习,请慎用于不论什么商业用途,本博主保留对该博文的 ...

  7. 【NOIP2018】为什么这么无力啊

    菜鸡又要爆零了 辛辛苦苦背板子结果考时候脑子一片空白 第一题线段树调了半小时 看完三道题两道写暴搜一道写暴力(说是暴搜,觉得更像写了个背包) 别提暴搜还忘记剪枝. . . . . . 我觉得考场上最菜 ...

  8. 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 ...

  9. hdoj--5233--Gunner II(map+queue&&二分)

     Gunner II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tot ...

  10. B3402 [Usaco2009 Open]Hide and Seek 捉迷藏 最短路

    直接最短路板子,dij堆优化. 题干: 题目描述 贝茜在和约翰玩一个“捉迷藏”的游戏. 她正要找出所有适合她躲藏的安全牛棚.一共有N(≤N≤)个牛棚,被编为1到N号.她知道约翰(捉牛者)从牛棚1出发. ...