javaEE HttpServletRequest, 获取请求地址/请求头/Web应用名/IP地址, 获取请求参数, getParameter(),getContextPath()



RequestDemoServlet:

package com.xxx.line;

import java.io.IOException;
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 RequestDemoServlet extends HttpServlet {

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
		//1、获得请求方式
		String method = request.getMethod();
		//2、获得请求的资源相关的内容
		String requestURI = request.getRequestURI();
		StringBuffer requestURL = request.getRequestURL();
		//3、获得web应用的名称
		String contextPath = request.getContextPath();
		//4、获取GET参数
		String queryString = request.getQueryString(); // name=zhangsan&age=20
		//5、获得客户端IP地址
		String remoteAddr = request.getRemoteAddr(); // 127.0.0.1
		
		//*****************************************************
		// 获取请求头
		//1、获得指定的请求头(常用)
		String header = request.getHeader("User-Agent");
		System.out.println(header);
		//2、获得所有请求头的名称
		Enumeration<String> headerNames = request.getHeaderNames();
		while(headerNames.hasMoreElements()){
			String headerName = headerNames.nextElement();
			String headerValue = request.getHeader(headerName);
			System.out.println(headerName+":"+headerValue);
		}
		
		//************************************************************
		//1、获取单个参数值  (GET、POST传的参数都可以获取)
		String username = request.getParameter("username");
		System.out.println(username);
		//2、获取多个复选框的值(复选框的name属性值相同)
		String[] hobbys = request.getParameterValues("hobby");
		//3、获取所有请求参数的名称 (不常用)
		Enumeration<String> parameterNames = request.getParameterNames();
		while(parameterNames.hasMoreElements()){
			System.out.println(parameterNames.nextElement());
		}
		
		//4、获得所有参数;返回Map<String,String[]>,因为复选框可能传多个值,所以泛型用String[]数组
		Map<String, String[]> parameterMap = request.getParameterMap();
		for(Map.Entry<String, String[]> entry:parameterMap.entrySet()){
			System.out.println(entry.getKey());
			for(String str:entry.getValue()){  // 复选框的值有多个,需要遍历
				System.out.println(str);
			}
			System.out.println("---------------------------");
		}
		
	}

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


猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/80864811