一、request.getParameter() 和request.getAttribute() 区别

(1)request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。

(2)request.getParameter()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据。request.getParameter()方法返回String类型的数据。

request.setAttribute()和getAttribute()方法传递的数据只会存在于Web容器内部

还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。

拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.jsp链接到2.jsp时,被链接的是2.jsp可以通过getParameter()方法来获得请求参数.

假如1.jsp里有

请输入用户姓名:

的话在2.jsp中通过request.getParameter("username")方法来获得请求参数username:

< % String username=request.getParameter("username"); %>

但是如果两个WEB间为转发关系时,转发目的WEB可以用getAttribute()方法来和转发源WEB共享request范围内的数据,也还是说一个例子吧。

有1.jsp和2.jsp

1.jsp希望向2.jsp传递当前的用户名字,如何传递这一数据呢?先在1.jsp中调用如下setAttribute()方法:

String username=request.getParameter("username");

request.setAttribute("username",username);

%>

在2.jsp中通过getAttribute()方法获得用户名字:

二、request.getAttribute()与request.setAttribute()

request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。

而不同页面间传值使用request.setAttribute(position, nameOfObj)时,只会从a.jsp到b.jsp一次传递,之后这个request就会失去它的作用范围,再传就要再设一个 request.setAttribute()。而使用session.setAttribute()会在一个过程中始终保有这个值。

P.S.:JavaScript与JSP中不能相互传值,因为JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间可以相互传递参数,可以在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。

来源:考试大-Java认证

责编:冷客  评论 纠错

JAVA中的request用法_新手入门:介绍JSP中request属性的用法相关推荐

  1. java基础代码怎么学_新手入门Java,如何能学好

    原标题:新手入门Java,如何能学好 零基础学生只要方法得当,完全可以掌握Java编程.下面总结出来的几点学习Java的方法,仅供大家参考. 01.理解Java思想 Java是一门面向对象编程语言.向 ...

  2. java语言c语言基础_新手入门选什么:有些人说C语言要比Java更难!你应该怎么办?...

    从学习角度上说,很多人认为C语言单纯简单,其实比Java要容易. 我认为,如果要把本质学懂,确实如此,而且在学懂C语言的基础上再学Java的人往往会获得很好的效果. Java中由于隐藏了内存分配的处理 ...

  3. python中的logging记录日志_[ Python入门教程 ] Python中日志记录模块logging使用实例...

    python中的logging模块用于记录日志.用户可以根据程序实现需要自定义日志输出位置.日志级别以及日志格式. 将日志内容输出到屏幕 一个最简单的logging模块使用样例,直接打印显示日志内容到 ...

  4. 新手入门:介绍JSP中request属性的用法

    新手入门:介绍JSP中request属性的用法 一.request.getParameter() 和request.getAttribute() 区别 (1)request.getParameter( ...

  5. java scp 传文件乱码_转-linux 打开移动硬盘中的文本文件显示为乱码

    我最近发现很奇怪的问题,为什么我的Linux 明明可以显示中文,也可以保存中文文本文件,但是打开移动硬盘中保存的文本文件还是乱码.最后搜索了半天才找到了答案. 编码不同, 点击(此处)折叠或打开 vi ...

  6. 初学者怎样看懂python代码_新手入门必看,最常用的Python代码片段

    对于编程开发人员来讲,Python语法一开始可能看起来很奇怪.如果我们看到Python使用其他编程语言(例如Java)完成常见的工作,那会不会很意思?我们常见的代码片段称为"代码惯用法&qu ...

  7. java文件替换一行数据_用Golang替换文件中的一行

    我是Golang的新手,从一些例子开始 . 目前,我要做的是逐行读取文件,并在满足特定条件时将其替换为另一个字符串 . 该文件用于测试目的包含四行: one two three four 处理该文件的 ...

  8. 软件需求说明书谁负责写_新手入门软件测试需要掌握哪些知识点?

    新手入门软件测试小知识点 这些软件测试常识你必须牢记:01软件测试(软件测试存在的意义) 1.发现程序中的错误而执行程序的过程 2.检验产品是否符合用户需求 3.提高用户体验 02软件测试原则(常识) ...

  9. 一分钟学会看k线图_新手入门:资深炒股高手教你一分钟学会看k线图

    原标题:新手入门:资深炒股高手教你一分钟学会看k线图 新手入门:资深炒股高手教你一分钟学会看k线图 在技术分析中,强调量是价的先行指标,没有量的配合,价格的变动是虚的.不真实的.有一个专门描述成交的指 ...

最新文章

  1. Python3.5源码分析-内存管理
  2. 香港金管局批出首批五张支付工具牌照,支付宝、微信支付等“合法”上岗
  3. IPv6系列(一)—快速入门
  4. 前端必知必会--JSON.stringify()犀利的第三个参数
  5. 设计模式之美 - 64状态模式
  6. 拿来就用:11款不容错过的 Node.js 框架
  7. HTML5移动Web开发(六)——定义一个内容策略
  8. 二十一天学通C++之使用try/catch捕获异常
  9. python实现创建数据表并写入数据
  10. beoplay耳机序列号查询_怎么鉴别 BO E8耳机真伪?【转】
  11. Sentinel-2数据下载方法
  12. 南京互联网IT公司推荐
  13. Flutter 实现整个App变为灰色
  14. IOS使用Charts
  15. python 获取搜狗输入法里面所有的表情图片
  16. html怎么调整成苹方,CSS 苹方字体
  17. 【Mathtype】安装Mathtype后,word无法粘贴的问题
  18. 动态SQL的 if 条件判断
  19. 如何用计算机产生随机数,如何在计算器产生随机数
  20. 电脑上怎样下载喜马拉雅里的 Mp3

热门文章

  1. 16位位图格式及对16位位图的一点个人总结
  2. 电影《生存回圈》观后感
  3. 使用 Lisp 递归函数实现 斐波那契数列 Fibonacci
  4. LinuxKernel中文版
  5. Body的定义及其用法
  6. Oracle rman备份级别,RMAN备份等级详解
  7. MongoDB3.x中用户权限
  8. js面向对象(萤火虫效果)
  9. Android高新面试题2017汇总(带答案)
  10. Centos 7安装unbound