request获取请求头和请求数据

 1 package cn.itcast.request;
 2
 3 import java.io.IOException;
 4 import java.io.InputStream;
 5 import java.io.PrintWriter;
 6 import java.lang.reflect.InvocationTargetException;
 7 import java.util.Enumeration;
 8 import java.util.Map;
 9
10 import javax.servlet.ServletException;
11 import javax.servlet.http.HttpServlet;
12 import javax.servlet.http.HttpServletRequest;
13 import javax.servlet.http.HttpServletResponse;
14
15 import org.apache.commons.beanutils.BeanUtils;
16
17 import cn.itcast.User;
18
19 //获取请求头和请求数据
20 //获取请求数据(获取请求数据时一般来说都要先检查再使用)
21 public class RequestDemo extends HttpServlet {
22
23     public void doGet(HttpServletRequest request, HttpServletResponse response)
24             throws ServletException, IOException {
25
26         System.out.println("--------------获取方法1----------------");
27         String value = request.getParameter("username");
28         if (value != null && !value.trim().equals("")) {
29             System.out.println(value);
30         }
31
32         System.out.println("--------------获取方法2----------------");
33         Enumeration e = request.getParameterNames();
34         while (e.hasMoreElements()) {
35             String name = (String) e.nextElement();
36             value = request.getParameter(name);
37             System.out.println(name + "=" + value);
38         }
39
40         System.out.println("--------------获取方法3----------------");
41         String[] values = request.getParameterValues("username");
42         for (int i = 0; values != null && i < values.length; i++) {
43             System.out.println(values);
44         }
45
46         System.out.println("--------------获取方法4----------------");
47         Map map = request.getParameterMap();
48         User user = new User();
49
50         try {
51             BeanUtils.populate(user, map);
52         } catch (Exception e1) {
53             e1.printStackTrace();
54         }
55         System.out.println(map);
56
57     }
58
59     // 获取头相关方法
60     private void test1(HttpServletRequest request) throws IOException {
61         String headValue = request.getHeader("Accept-Encoding");
62         System.out.println(headValue);
63         System.out.println("-------------------------------");
64
65         Enumeration e = request.getHeaders("Accept-Encoding");
66         while (e.hasMoreElements()) {
67             String value = (String) e.nextElement();
68             System.out.println(value);
69         }
70
71         System.out.println("-------------------------------");
72         e = request.getHeaderNames();
73         while (e.hasMoreElements()) {
74             String name = (String) e.nextElement();
75             String value = request.getHeader(name);
76             System.out.println(name + "=" + value);
77
78         }
79
80         System.out.println("--------------获取方法5----------------");
81
82         InputStream in = request.getInputStream();
83         int len = 0;
84         byte buffer[] = new byte[1024];
85         while ((len = in.read(buffer)) > 0) {
86             System.out.println(len);
87             System.out.println(new String(buffer, 0, len));
88         }
89     }
90
91     public void doPost(HttpServletRequest request, HttpServletResponse response)
92             throws ServletException, IOException {
93
94     }
95
96 }

 1 package cn.itcast;
 2
 3 public class User {
 4     private String username[];
 5     private String password;
 6
 7     public String[] getUsername() {
 8         return username;
 9     }
10
11     public void setUsername(String[] username) {
12         this.username = username;
13     }
14
15     public String getPassword() {
16         return password;
17     }
18
19     public void setPassword(String password) {
20         this.password = password;
21     }
22
23 }

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 2 <html>
 3     <head>
 4         <title>test.html</title>
 5
 6         <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 7         <meta http-equiv="description" content="this is my page">
 8         <meta http-equiv="content-type" content="text/html; charset=UTF-8">
 9
10         <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
11
12     </head>
13
14     <body>
15         <a href="/ServletDemo/servlet/RequestDemo?username=xxxx">点击看看</a>
16
17         <form action="/ServletDemo/servlet/RequestDemo" method="post">
18             用户名1:
19             <input type="text" name="username" />
20             用户名2:
21             <input type="text" name="username" />
22             密码:<input type="password" name="password"/>
23             <input type="submit" value="提交" />
24
25         </form>
26     </body>
27 </html>

request获取请求头和请求数据,布布扣,bubuko.com

时间: 2024-12-19 11:23:56

request获取请求头和请求数据的相关文章

HTTP 请求头与请求体 - 某熊的全栈之路 - SegmentFault

本文从属于笔者的HTTP 理解与实践系列文章,对于HTTP的学习主要包含HTTP 基础.HTTP 请求头与请求体.HTTP 响应头与状态码.HTTP 缓存这四个部分,而对于HTTP相关的扩展与引申,我们还需要了解HTTPS 理解与实践.HTTP/2 基础.WebSocket 基础这些部分.本部分知识点同时也归纳于笔者的我的校招准备之路:从Web前端到服务端应用架构这篇综述. HTTP Request HTTP 的请求报文分为三个部分 请求行.请求头和请求体,格式如图:一个典型的请求消息头域,如下

Django中获取参数(路径,查询,请求头,请求体)

一.通常HTTP协议向服务器传参有几种途径 : 提取URL的特定部分,如/weather/shanghai/2018,可以在服务器端的路由中用正则表达式截取: 查询字符串(query string),形如key1=value1&key2=value2: 请求体(body)中发送的数据,比如表单数据.json.xml: 在http报文的头(header)中. 1.URL中参数的获取 在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图

HTTP请求行、请求头、请求体以及响应行、响应头、响应体

HTTP请求报文解剖 HTTP Request :HTTP请求 Request Line:请求行 Header:请求头 Request Body:请求体 HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ①是请求方法,HTTP/1.1 定义的请求方法有8种:GET.POST.PUT.DELETE.PATCH.HEAD.OPTIONS.TRACE,最常的两种GET和POST,如果是RESTful接口的话一般会用到GET.POST.DELETE.PUT. ②为请求

第五阶段:JAVAEE 和项目开发(第三课:HTTP的请求头和请求方式)

4. HTTP 协议之请求格式 请求格式的结构:请求行:请求方式.请求的地址和 HTTP 协议版本 请求头:消息报头,一般用来说明客户端要使用的一些附加信息 空行: 位于请求行和请求数据之间,空行是必须的. 请求数据:非必须. 注意: 一张网页的内容是极其丰富的,浏览器会遵循 HTTP 请求的格式将有效数据发送给服务器. 示例(get 请求方式): 示例(post 请求方式): 5. HTTP 协议之请求方式 根据 HTTP 标准,HTTP 请求可以使用多种请求方法. HTTP1.0 定义了三种

前端怎么在响应头和请求头里面拿数据?

今天碰到一个比较困难的问题,对于前端小白来说一脸懵逼.问题就是怎么在响应头里面获取token,对于token想必大家都不陌生,但是到响应头里面获取token还是头一次.之前token都是后端返回给前端,听到这个需求之后,心中万马奔腾.接下来就是vue中的axios怎么从响应头里面拿token: axios.interceptors.response.use( response => { //axios拦截器 if (response.status === 200) { //响应成功后 if(re

WebAPi获取请求头中对应键值

/// <summary> /// 依据键获取请求头中值数据 /// </summary> /// <param name="request"></param> /// <param name="key"></param> /// <returns></returns> public static string GetHeader(this HttpRequestMess

捕获异常、存sd卡、封装请求头体、加密map值、网络工具类、生成Json、Https协议、传log日志到服务器、app崩溃友好重启

点击打开链接,免积分下载 在集成了统计SDK(友盟统计,百度统计等)之后,有一个非常有利于测试的功能:错误分析!此功能能够将程序在运行中碰到的崩溃(runtimeException)问题反馈到服务器,帮助开发者改善产品,多适配机器.然而在公司android开发中不集成这些SDK,那应该怎么实现这样的功能呢?下面让我们来看下如何使用UncaughtExceptionHandler来捕获异常. 在Android开发中,常常会出现uncheched Exception 导致程序的crash,为了提供良

Android系列之网络(二)----HTTP请求头与响应头

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4005034.html 联系方式:[email protected] [正文] 国庆佳节,习惯并享受着一个人独霸整个教研室的感觉. 在上一篇文章中,我们学习到了如何使用HttpClient发送HTTP请求.博文链接: Android系列之网络(一)----使用HttpClient发送HTTP请求

IOS - 网络(HTTP请求、同步请求、异步请求、JSON解析数据)

1 // 2 // ViewController.m 3 // IOS_0129_HTTP请求 4 // 5 // Created by ma c on 16/1/29. 6 // Copyright © 2016年 博文科技. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 #import "MBProgressHUD+MJ.h" 11 12 @interface ViewController