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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webpack基础打包命令_逆向webpack打包后的js

    webpack基础打包命令_逆向webpack打包后的js没有配置文件的打包如果我们没有使用配置文件webpack.config.js,那么我们就需要通过命令来打包案例我们首先创建一个webpackTest文件夹,然后在文件夹中再创建2个子文件夹dis

    2022年7月29日
    7
  • CSS 下拉菜单_下拉菜单html

    CSS 下拉菜单_下拉菜单html使用CSS创建一个鼠标移动上去后显示下拉菜单的效果。

    2025年8月11日
    5
  • 【转载】这才是真正的分布式锁

    【转载】这才是真正的分布式锁

    2021年11月20日
    42
  • 如何开展云平台密评工作[通俗易懂]

    如何开展云平台密评工作[通俗易懂]1.背景云计算目前大家都很熟悉了,为了降低系统的成本或者打通数据的融合,许多企业事业单位的系统都选择部署在云上。云计算技术由于使用虚拟化等技术,其网络等边界相对而言是很模糊的,而部署在云平台上的系统,其安全风险也随之增加。实际测评中,我们经常会碰到云平台和云租户业务应用系统密码应用(以下称为“云上应用”)的密评。2.云平台测评的责任和范围我们可以依据《商用密码应用安全性评估FAQ》第19条的内容,当我们对运行在云平台上的云上应用进行测评时原则上要完成两部分测评工作:(1)当我们对云平台自身

    2025年8月1日
    4
  • linux中mysql忘记密码[通俗易懂]

    linux中mysql忘记密码[通俗易懂]第一种解决方案解决方法:1、利用“servicemysqlstop”命令关闭mysql服务;2、修改mysql的配置文件“my.conf”;3、用“servicemysqldstart”命令重启数据库;4、用“usemysql”语句修改密码。本教程操作环境:linux7.3系统、mysql8.0.22版本、DellG3电脑。linux中mysql忘记密码怎么解决解决方法:1、检查mysql服务是否启动,如果启动,关闭mysql服务 .

    2022年6月25日
    29
  • wd移动硬盘测试软件,西数硬盘修复工具(WD HDD Repair Tools)「建议收藏」

    WDHDDRepairTools是西部数据(WD)官方发布的一款西数硬盘检测修复工具,它可显示寄存器状态,支持WD-L/WD-ROYL板,能进行硬盘软复位,可识别硬盘,查看或清除SMART,起转电机及直接复位,加载瞬时及永久覆盖,操作磁道、FLASH及模块。改变内存中的磁头位置,编辑列表,设置最高容量及目标容量。格式化硬盘/保留区,校验伺服系统及磁头。清除异常中断代码及软件错误数。重新构…

    2022年4月16日
    896

发表回复

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

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