【Servlet】request对象获取请求头数据和用户数据

request对象学习

/**
 * request对象学习:
 * 		作用:request对象中封存了当前请求的所有请求信息
 * 		使用:
 * 			获取请求头数据
 * 					req.getMethod();//获取请求方式
 * 					req.getRequestURL();//获取请求URL信息
 * 					req.getRequestURI();//获取请求URI信息
 * 					req.getScheme();//获取协议
 * 			获取请求行数据
 * 					req.getHeader("键名");//返回指定的请求头信息
 * 					req.getHeaderNames();//返回请求头的键名的枚举集合
 * 			获取用户数据
 * 					req.getParameter("键名");//返回指定的用户数据
 * 					req.getParameterValues("键名");//返回同键不同值的请求数据(多选),返回的数组。
 * 					req.getParameterNames()//返回所有用户请求数据的枚举集合
 * 			注意:
 * 				如果要获取的请求数据不存在,不会报错,返回null。
 * 
 * 		注意:
 * 			request对象由tomcat服务器创建,并作为实参传递给处理请求的servlet的service方法。
 */

method.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
	<form action="RequestServlet" method="post">
		用户名:<input type="text" name="uname" value=""><br>
		密码:	<input type="text" name="pwd" value=""><br>
				<input type="submit" value="登录" >
		爱好:<br />
    	<input type="checkbox" name="fav" value="1"/>唱歌<br />
    	<input type="checkbox" name="fav" value="2"/>跳舞<br />
    	<input type="checkbox" name="fav" value="3"/>游泳<br />
	</form>
</body>
</html>

在这里插入图片描述
RequestServlet.java
package cn.hanquan.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;

/**

  • Servlet implementation class RequestServlet
    */
    public class RequestServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    // 获取请求头数据
    // 获取请求方式 // 输出
    String method = req.getMethod();
    System.out.println(method); // POST
    // 获取请求URL
    StringBuffer url = req.getRequestURL();
    System.out.println(url); // http://localhost:8080/01-MyServlet/RequestServlet
    // 获取URI
    String uri = req.getRequestURI();
    System.out.println(uri); // /01-MyServlet/RequestServlet
    // 获取协议
    String h = req.getScheme();
    System.out.println(h); // http

     // 获取请求行数据
     	// 获取指定请求行信息
     	String value = req.getHeader("User-Agent");
     	System.out.println(value);		// Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
     	// 获取所有请求行键枚举
     	Enumeration e = req.getHeaderNames();
     	while (e.hasMoreElements()) {
     		String name = (String) e.nextElement();
     		String value1 = req.getHeader(name);
     		System.out.println(name + ":" + value1);
     	}
     	//		输出:
     	//		host:localhost:8080
     	//		user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0
     	//		accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
     	//		accept-language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
     	//		accept-encoding:gzip, deflate
     	//		content-type:application/x-www-form-urlencoded
     	//		content-length:21
     	//		connection:keep-alive
     	//		referer:http://localhost:8080/01-MyServlet/method.jsp
     	//		cookie:JSESSIONID=0C3253D72B8F4F612E6500CB85FCAC46
     	//		upgrade-insecure-requests:1
    
     // 获取用户数据(用户提交的表单)
     	String name = req.getParameter("uname");
     	String pwd = req.getParameter("pwd");
     	System.out.println(name + ":" + pwd);// xiaoming:123456
    
     	String[] favs = req.getParameterValues("fav");
     	if (favs != null) {
     		for (String fav : favs) {
     			System.out.println(fav);
     		}
     	}
    

    }
    }

发布了14 篇原创文章 · 获赞 0 · 访问量 504

猜你喜欢

转载自blog.csdn.net/xiaobao1352/article/details/104234828