欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HttpServletRequest获取请求行/头/体

程序员文章站 2024-02-04 20:05:46
...
                        //解决参数中文乱码 仅适用于Post提交数据 对GET无效
			request.setCharacterEncoding("UTF-8");
		
			/**        1-获取请求行           **/
		
			//1.1 获取URL
			StringBuffer strUrl=request.getRequestURL();
			//1.2 获取URI
			String strUri=request.getRequestURI();
			//1.3 获取GET请求参数
			String strGet=request.getQueryString();
			//1.4 获取请求方式
			String method=request.getMethod();
			//1.5 获取请求WEB应用名称
			String str=request.getContextPath();
			
			/**        2-获取请求头           **/
			
			//2.1 获取请求头名称集合
			Enumeration<String> headNames = request.getHeaderNames();
			//获取所有请求头
			while(headNames.hasMoreElements()) {
				System.out.println(headNames.nextElement());
			}
			//2.2 根据请求头名称获取指定的值
			request.getHeader("");
			
			Enumeration<String> headNames2 = request.getHeaderNames();
			//获取所有请求头以及对应的值
			while(headNames2.hasMoreElements()) {
				String val=headNames2.nextElement();
				System.out.println(val+"==="+request.getHeader(val));
			}
			// referer:告诉服务器是从哪个页面链接过来的 用于防盗链  
			System.out.println("referer="+request.getHeader("referer"));
			
			/**        3-获取请求体           **/
			
			//1.获取一个值
			String val=request.getParameter("");
			//2.获取多个值
			String []vals=request.getParameterValues("aihao");
			System.out.println(Arrays.toString(vals));
			//3.获取所有请求参数的名称
			Enumeration<String> pNames=request.getParameterNames();
			while(pNames.hasMoreElements()) {
				System.out.println(pNames.nextElement());
			}
			//4.获取所有请求参数
			Map<String, String[]> map= request.getParameterMap();
			Set<Entry<String, String[]>> set=map.entrySet();
			Iterator<Entry<String, String[]>> iter=set.iterator();
			while(iter.hasNext()) {
				Entry<String, String[]> entry=iter.next();
				System.out.println(entry.getKey()+"=="+Arrays.toString(entry.getValue()));
			}
/**通过BeanUtil将请求获取的Map对象转换为一个Bean对象**/

BeanUtils.populate(Objcet, request.getparameterMap);