javax.servlet.http.HttpServletRequest接口01

09-HttpServletRequest-01
研究:javax.servlet.http.HttpServletRequest接口
1、HttpServletRequest是一个Servlet重要接口之一
2、继承关系
public interface HttpServletRequest extends ServletRuquest{}
3、HttpServletRequest接口的的实现类是web容器负责实现的,但是我们还是只需要面向皆苦调用方法即可,不需要关心具体的实现类了
4、HttpServletRequest这个对象中封装了那些信息呢?
封装了HTTP请求协议的全部信息
- 请求方式
- URI
- 版本协议号
- 表单提交的数据
。。。。
5、HttpServletRequest一般变量名字叫request,表示请求,HttpServletRequest对象代表一次请求,一次请求对应着一个request对象, 100个请求对应着100个对象,所以request对象的声明周期是短暂的
6、HttpServletRequest接口中常用的方法
//表单提交数据,会被自动封装到request当中requert对象中有Map集合来存储这些数据:Map集合的key是name,value是一个字符串类型的以为数组
(通常情况下,这个一位数组中只有一个元素,所以这个方法使用最多)
- String getParameter(String name)//通过key获取value这个以为数组中的首元素
- Map getParameterMap()//获取整个map集合
- Enumeration getParameterNames()//获取整个Map集合中的所有的key
- String[] getParameterValues(String name)//通过Map集合key获取value

SaveUserServlet.java

package com.javaweb.servlet;

import java.io.IOException;
import java.util.Enumeration;
import java.util.Map;
import java.util.Set;

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

public class SaveUserServlet extends HttpServlet {

	@Override
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//获取用户信息,表单提交的,这些数据被自动封装到request对象中了
		//从request中获取这些信息
		//表单数据是这样的格式提交的,POST请求,在请求体重提交,数据格式:
		//username=admin&password=123&sex=m&interest=sport&interest=music&grade=dz&introduce=ok
		/**
		 *
		 *Map<String,String[]>
		 *key 				value
		 *------------------------------
		 *username			{"admin"}
		 *password			{"123"}
		 *sex				{"m"}
		 *interest			{"sport","music"}
		 *grade				{"dz"}
		 *introduce			{"ok"}
		 */
		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String sex = request.getParameter("sex");
		//String interest = request.getParameter("interest");
		String[] interests = request.getParameterValues("interest");
		String grade = request.getParameter("grade");
		String introduce = request.getParameter("introduce");
		
		System.out.println(username);
		System.out.println(password);
		System.out.println(sex);
		
		//这个方法适合取复选框中的数据checkbox
		for(String in:interests)
		{
			System.out.println(interests);
		}	
		System.out.println(grade);
		System.out.println(introduce);
		//获取整个参数Map集合
		Map<String,String[]> parameterMap = request.getParameterMap();
		Set<String> names = parameterMap.keySet();
		for(String name:names)
		{
			String[] values = parameterMap.get(name);
			System.out.print(name +"=");
			for(String value:values)
			{
				System.out.print(value +" ");
			}
			System.out.println();	
		}
		//获取Map集合所有的key
		Enumeration<String> keys = request.getParameterNames();
		while(keys.hasMoreElements())
		{
			String name = keys.nextElement();
		}
	}
}

register.html

<!DOCTYPE html>
<html>
<head>

<title>Insert title here</title>
<meta charset="GBK">
</head>
<body>
	<form action="/09-HttpServletRequest-01/user/save" method="post">
		用户名
			<input type="text" name = "username">
			<br>
		密码
			<input type="password" name ="password">
			<br>
		性别
			男<input type="radio" name="sex" value="m"><input type="radio" name="sex" value="f">
			<br>
		爱好
			<input type="checkbox" name="interest" value = "sport">运动
			<input type="checkbox" name="interest" value = "music">音乐
			<input type="checkbox" name="interest" value = "dance">跳舞
			<input type="checkbox" name="interest" value = "learn">学习
			<input type="checkbox" name="interest" value = "read">阅读
			<br>
		学历
			<select name="grade">
				<option value="gz">高中</option>
				<option value="gz">大专</option>
				<option value="gz">大本</option>
			</select>
				<br>
			
		简介
			<textarea rows="10" cols="60" name="introduce"></textarea>
			<input type="submit" value="注册">
			<input type="reset" value="重置">
			<br>
		
	</form>
</body>
</html>

xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<welcome-file-list>
		<welcome-file>register.html</welcome-file>
	</welcome-file-list>
	
	<servlet>
		<servlet-name>save</servlet-name>
		<servlet-class>com.javaweb.servlet.SaveUserServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>save</servlet-name>
		<url-pattern>/user/save</url-pattern>
	</servlet-mapping>
	
</web-app>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值