文档章节

HttpServletRequest.getParameter(String)和getAttribu

Oscarfff
 Oscarfff
发布于 2016/02/16 14:20
字数 370
阅读 52
收藏 0

getParameter(String)和getAttribute()这两个方法都是从request对象中获得参数的方法。但实际上他们之间有着本质的区别。

 

1. getParameter()是指客户端和server端之间的数据传递。我们在从浏览器端发出一个请求到server端时(无论是GET和POST方式),所有的参数都是被包装成了String的形式之后才被传递到server端的。所以,我们在server端的代码中就可以通过request.getPapameter(String)的方式来取得。

 

2. getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而且必须在同一个request对象中使用才有效。

何谓同一个request呢?例如,在同一个servelet中,同一个Action中(Struts),同一个JSP中等等;或者是同一个request被forward了多次,那么每一个处理这个request对象的web组件都是使用的同一个request对象;或者include的方式也是一样的。

 

从以上分析,这两者之间的区别就很明确了。getParameter()是在数据从客户端到server端之后才有效的,而getAttribute()则是server端内部的事情,只有在server端调用了setAttribute()之后,并且没有redirect,没有到客户端之前,getAttribute()才有效。

 

同理,getParameterNames()和getParameterValues(String)跟getParameter(String)是一样的道理。


本文转载自:http://blog.csdn.net/superbeck/article/details/4501301

共有 人打赏支持
Oscarfff
粉丝 73
博文 815
码字总数 96913
作品 0
崇明
后端工程师
私信 提问
spring表单控制器SimpleFormController

如果每次传入参数都使用HttpServletRequest获取页面元素的值,假如要获取的页面元素值很少时,可以这样做,如果页面元素很多,就要使用很多的HttpServletRequest.getParameter(),显得很繁琐...

五大三粗
2015/11/23
103
4
Jfinal study note

1、extends JFinalConfig 实现 configConstant(Constants me) : 开发模式常量 devMode 的配置,默认视 图类型 ViewType 的配置, me.setDevMode(true); me.setViewType(ViewType.JSP); 2、c......

haojiao
2014/03/11
0
0
Javascript端加密java服务端解密

Javascript端加密java服务端解密 通常我们会通过htts来保证传输安全,但如果我们不用https,如何通过javascript来保证浏览器端发送的参数进行加密,并且通过RSA算法来处理。 这里我们可以利用...

linugb118
2014/05/09
0
0
getParameter 与 getAttribute的区别

HttpServletRequest.getParameter("modelName"); 能取到想要的modelObject吗?显然是不能的,原因:当两个Web组件之间为转发关系时,转发源会将要共享 request范围内的数据先用setAttribute将...

follitude
2015/12/10
87
0
Ajax专题:异步交互局部刷新初步

从一个用户名校验的例子来认识Ajax的基础应用 首先创建html事件触发端的代码 <!--ajax方式下不需要使用表单来进行数据提交,因此不用写表单标签--> <!--ajax方式不需要name属性,需要一个id的...

MiniBu
2014/06/26
0
1

没有更多内容

加载失败,请刷新页面

加载更多

详解css BEM书写规范

BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由Block、Element、Modifier组成。选择器里...

前端小攻略
7分钟前
1
0
一个centos初始化脚本

概述 就是自己无聊写的一个脚本,欢迎使用,star,fork顺便关注我一波 https://github.com/bboysoulcn/centos 使用方法 这个是给最小化安装的centos使用的,在centos 7.5上测试过,当然其他的...

bboysoulcn
11分钟前
0
0
mybatis 自动维护 createdAt, updatedAt

SpringBoot Mybatis Plus公共字段自动填充功能

youngjdong
14分钟前
1
0
Docker之nginx容器中部署静态文件

注: Docker版本如下: Client: Version:17.12.0-ce API version:1.35 Go version:go1.9.2 Git commit:c97c6d6 Built:Wed Dec 27 20:11:19 2017 OS/Arch:linux/amd64Ser......

克虏伯
15分钟前
0
0
搭建git服务器————gitlab

github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器 找一台服务器,首先要...

chencheng-linux
22分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部