Request对象如何获取请求头数据

 更新时间:2024年07月08日 11:07:38   作者:xuebanub1  
这篇文章主要介绍了Request对象如何获取请求头数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Request对象获取请求头数据

getHeaderNames()

  • 作用:获取所有请求头的名字
  • 返回值类型:Enumeration< String>
  • Enumeration:是个迭代器,有两个方法 hasMoreElements(); nextElement();

getHeader(String name) (重点)

  • 作用:根据请求头的名字,获取其value值
  • 参数name即为请求头的名字
  • 返回值类型:String

测试代码

@WebServlet(name = "RequestDemo2", value = "/requestDemo2")
public class RequestDemo2 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取所有请求头的名称
        Enumeration<String> headerNames = request.getHeaderNames();
        //遍历
        while (headerNames.hasMoreElements()){
            String name = headerNames.nextElement();
            //根据请求头的名称获取请求头的值
            String value = request.getHeader(name);
            System.out.println(name+":"+value);
        }

    }
}

结果:

host:localhost
connection:keep-alive
cache-control:max-age=0
sec-ch-ua:"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"
sec-ch-ua-mobile:?0
sec-ch-ua-platform:"Windows"
upgrade-insecure-requests:1
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36
accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site:cross-site
sec-fetch-mode:navigate
sec-fetch-user:?1
sec-fetch-dest:document
accept-encoding:gzip, deflate, br
accept-language:zh-CN,zh;q=0.9
cookie:JSESSIONID=BACA32C62CC73505DD0178E34531D21C; _ga=GA1.1.1717905582.1633016465; JSESSIONID=E576986031221D734A3D7882557C867A

使用Request对象获取表单的信息

通过request对象可以获取表单中的输入信息,并将这些信息存入到指定的字符串中去

例如有下面一个表单

<form action="responseUserLogin.jsp" method="post">
    输入右面的认证码:<input type="text" name="verifyCodeDigit"/><br/>
    用户类型:<select name="type_User_Admin">
    <option value="1">前台用户</option>
    <option value="2">后台管理员</option>
      </select><br/>
    您的名称:<input type="text" name="userName"/><br/>
    您的密码:<input type="password" name="userPassword"/><br/>
    <input type="submit" value="提交" name="submitButton"/>
    <input type="reset" value="取消" />
 </form>
<body>
  <%! String verifyCodeDigit; %>
  <%! String type_User_Admin; %>
  <%! String userName; %>
  <%! String userPassword; %>
    <% request.setCharacterEncoding("UTF-8");
verifyCodeDigit = request.getParameter("paperTitle"); 
     if(request.getParameter("type_User_Admin").equals("1")) {
    type_User_Admin = "前台用户";
    }else{
            type_User_Admin = "后台管理员";
    }
    
      userName = request.getParameter("userName");
      userPassword = request.getParameter("userPassword");
     %>
 </body>

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 探讨:使用httpClient在客户端与服务器端传输对象参数的详解

    探讨:使用httpClient在客户端与服务器端传输对象参数的详解

    本篇文章是对使用httpClient在客户端与服务器端传输对象参数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值

    SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值

    这篇文章主要介绍了SpringBoot 使用 @Value 注解读取配置文件给静态变量赋值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Nacos 版本不一致报错Request nacos server failed解决

    Nacos 版本不一致报错Request nacos server failed解决

    这篇文章主要为大家介绍了Nacos 版本不一致报错Request nacos server failed的解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • idea将maven项目改成Spring boot项目的方法步骤

    idea将maven项目改成Spring boot项目的方法步骤

    这篇文章主要介绍了idea将maven项目改成Spring boot项目的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Spring循环依赖产生与解决

    Spring循环依赖产生与解决

    Spring的解决循环依赖是有前置条件的,要解决循环依赖我们首先要了解Spring Bean对象的创建过程和依赖注入的方式。依赖注入方式,我之前的博客有所分享,大家可以在看本篇文章之前进行一下小小的回顾
    2022-12-12
  • 有关ServletConfig与ServletContext的访问

    有关ServletConfig与ServletContext的访问

    下面小编就为大家带来一篇有关ServletConfig与ServletContext的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Java最长公共子序列示例源码

    Java最长公共子序列示例源码

    这篇文章主要介绍了Java最长公共子序列的定义及示例源代码,具有一定参考价值,需要的朋友可以看下。
    2017-09-09
  • Maven仓库加载顺序的实例解析

    Maven仓库加载顺序的实例解析

    Maven仓库一般分为本地仓库和远程仓库。那么在实际开发中,在配置了多个仓库的情况下,他们之间的加载访问顺序是怎么样的呢,本文就详细的来介绍一下
    2021-12-12
  • Java WindowBuilder 安装及基本使用的教程

    Java WindowBuilder 安装及基本使用的教程

    这篇文章主要介绍了Java WindowBuilder 安装及基本使用的教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java23种设计模式中的单例模式你了解吗

    Java23种设计模式中的单例模式你了解吗

    这篇文章主要为大家详细介绍了Java23种设计模式中的单例模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02

最新评论