request对象[通俗易懂]

request对象[通俗易懂]request对象request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的

大家好,又见面了,我是你们的朋友全栈君。

request对象

request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。

1.访问请求参数

我们知道request对象用于处理HTTP请求中的各项参数。在这些参数中,最常用的就是获取访问请求参数。当我们通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问号“?”来实现。注意这个问号为英文半角的符号。

<a href="delete.jsp?id=1">删除</a>

如果要同时指定多个参数,各参数间使用与符号“&”分隔即可。

示例:delete.jsp页面中,可以通过request对象的getParameter()方法获取传递的参数值。

<%
    String id = request.getParameter("id");  //获取id参数的值
%>

 

2.在作用域中管理属性

在进行请求转发时,需要把一些数据传递到转发后的页面进行处理。这时,就需要使用request对象的setAttribute()方法将数据保存到request范围内的变量中。

语法格式:

request.setAttribute(String name,Object object);

在将数据保存到request范围内的变量中后,可以通过request对象的getAttribute()方法获取该变量的值,具体的语法格式如下:

request.getAttribute(String name)

 

3.获取cookie

在互联网中,cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器的。通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户等。浏览器将cookie以key/value的形式保存到客户机的某个指定目录中。

通过cookie的getCookies()方法即可获取到所有cookie对象的集合;通过cookie对象的getName()方法可以获取到指定名称的cookie;通过getValue()方法即可获取到cookie对象的值。另外将一个cookie对象发送到客户端使用了response对象的addCookie()方法。


 

4.解决中文乱码

如果将某些参数的值更改为中文,则在jsp就会发生大家都不愿意看到的问题——在显示参数值时中文内容变成了乱码。这是因为请求参数的文字编码方式与页面中的不一致所造成的,所有的request请求都是iso-8859-1的,而在此页面采用的是UTF-8的编码方式。要解决此问题,只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象即可正确地显示出中文信息。


 

5.获取客户端信息

通过request对象可以获取客户端的相关信息,如HTTP报头信息,客户信息提交方式、客户端主机IP地址、端口号等。

request获取客户端信息的常用方法

方     法 说     明
getHeader(String name) 获得HTTP协议定义的文件头信息
getHeaders(String name) 返回指定名字的request Header的所有值,其结果是一个枚举型的实例
getHeadersNames() 返回所有request Header的名字,其结果是一个枚举型的实例
getMethod() 获得客户端向服务器端传送数据的方法,如post、get、header、trace等
getProtocol() 获得客户端向服务器端传送数据所依赖的协议名称
getRequestURI() 获得发出请求字符串的客户端地址,不包括请求的参数
getRequestURL() 获得发出请求字符串的客户端地址
getRealPath() 返回当前请求文件的绝对路径
getRemoteAddr() 获取客户端的IP地址
getRemoteHost() 获取客户端的主机名
getServerName() 获取服务器的名字
getServerPath 获取客户端所请求的脚本文件的文件路径
getServerPort() 获取服务器的端口号

 

6.显示国际化信息

浏览器可以通过accept-language的HTTP报头向Web服务器指明它所使用的本地语言。request对象中的getLocale()和getLocales()方法允许JSP开发人员获取这一信息,获取的信息属于java.util.Local类型。java.util.Local类型的对象封装了一个国家和一种国家所使用的语言。使用这一信息,JSP开发者就可以使用语言所特有的信息作出响应。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155170.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Shiro框架详解[通俗易懂]

    Shiro框架详解[通俗易懂]1.Shiro框架详解一、Shiro能干什么&amp;nbsp;ApacheShiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:&amp;nbsp;认证-用户身份识别,常被称为用户“登录”;授权-访问控制;密码加密-保护或隐藏数据防止被偷窥;会话管理-每用户相关的时间敏感的状态。对于…

    2025年7月17日
    5
  • mysql自定义函数写法_mysql多实例部署

    mysql自定义函数写法_mysql多实例部署本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是函数函数的创建函数的调用函数的查看函数的修改函数的删除首发日期:2018-04-18什么是函数:函数存储着一系列sql语句,调用函数就是一次性执行这些语句。所以函数可以降低语句重复。【但注意的是函数注重返回值,不注重执行过程,所以一些语句无法执行。所以函数并不是单纯的sql语句集合。】mysql函数有自己…

    2025年10月4日
    3
  • pytorch visdom安装启动问题

    pytorch visdom安装启动问题visdom经过pip安装之后,启动时一直提醒:Checkingforscripts.Downloadingscripts,thismaytakealittlewhile然后即使挂了vpn也下载不下来。。。。网上搜了一堆教程,比较杂乱,记录以下自己简单粗暴的解决方案:C:\Users\zj1996\Anaconda3\envs\pytorch\Lib\site-p…

    2022年6月29日
    47
  • cnpm安装教程_安装命令提示符

    cnpm安装教程_安装命令提示符1、确认npm是否安装成功:win+R,输入cmd,打开命令窗口2、命令行窗口输入:node-v,显示有版本号,则安装成功3、安装cnpm:输入npminstall-gcnpm-registry=https://registry.npm.taobao.org4、安装完成后,输入cmpm-v,检查是否安装成功如果出现cnpm不是内部或者外部命令提示,请继续以下操作5、配置环境变量打开系统环境变量,增加如下配置,则修改成功回到命令行窗口输入cn..

    2022年10月16日
    4
  • javascript原生态ajax_ajax22

    javascript原生态ajax_ajax22(对低版本的ie不作兼容处理了,太过时,不知道谁还用) 本次演示采用原生javascript+php实现ajax的 post 和 get功能; 对php不了解的同学不用担心,就两三行代码,而且我会详细说明; 好了,下面开始: 第一步:如果想要运行起来,那么还是需要开启服务器的,这里推荐使用wampserver,        下载相应的

    2022年8月16日
    7
  • SSDP协议_mpp协议

    SSDP协议_mpp协议privatevoidsendDatagramPacket(finalStringip){newThread(newRunnable(){@Overridepublicvoidrun(){try{MulticastSocketmu

    2022年10月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号