request获取请求参数(十一)

request获取请求参数共有四个方法,都是需要知道的。

1. getParameter(name) --- String 通过name获得值

public String getParameter(String name);

根据请求参数名称获取对应的值。例如登录窗口,提交后,可以通过此方法获取用户名和密码的值。

2. getParameterValues --- String[] 通过name获得多值CheckBox

public String[] getParameterValues(String name);

对于值不是一个的控件,如CheckBox,在获取时,应该getParameterValues这样的方法。

3. getParameterNames --- Enumeration<String> 获得所有name

public Enumeration getParameterNames();

它获取的是表单中所有的name值。

4. getParameterMap --- Map<String, String[]> key:name value:多值

public Map<String, String[]> getParameterMap();

这个方法必须要会,大量应用于框架中。这个方法把表单里面的数据都封装到了map里面,用表单里面每个控件的name作为key,把表单的控件的值作为value,value是一个维数组,string类型的数组

代码如下:

reg.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="/day8_2/registerServlet" method="get">
	username:<input type="text" name="username"><br>
	password:<input type="password" name="password"><br>
	sex:<input type="radio" name="sex" checked="checked" value="male">男
	<input type="radio" name="sex" value="female">女<br>
	hobby:<input type="checkbox" name="hobby" value="piano">钢琴
	<input type="checkbox" name="hobby" value="basketball">篮球
	<input type="checkbox" name="hobby" value="football">足球<br>
	<input type="submit" value="register">
</form>
</body>
</html>

RegisterServlet

package com.il.servlet.request;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class RegisterServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取请求参数 1. getParameter()
	/*	
		//获得用户名:
		String username = request.getParameter("username");//参数要与JSP中的name值对应。
		System.out.println(username);
		
		//获取密码
		String password = request.getParameter("password");
		System.out.println(password);
		
		//获取性别
		String sex = request.getParameter("sex");
		System.out.println(sex);
		
		//获取爱好
		String[] hobbies = request.getParameterValues("hobby");
		System.out.println(Arrays.toString(hobbies));
	*/	
		/*
		//获取表单中的所有name值
		Enumeration<String> names = request.getParameterNames();
		while(names.hasMoreElements()) {
			System.out.println(names.nextElement());
		}
		*/
		
		Map<String, String[]> map = request.getParameterMap();
		for(String key : map.keySet()) {
			System.out.println(key + " " + Arrays.toString(map.get(key)));
		}
		
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

 

猜你喜欢

转载自blog.csdn.net/Ada_yangyang/article/details/82257342
今日推荐