request在当次的请求的url之间有效一次传参数,速度快,缺点是参数只能取一次

forward是转向,将现在的请求转交,他只能在同一个容器里使用同时保存客户的请求状态。

sendRedirect是重定向,可以在同一个容器里使用,也可以发送其他容器请求,但是会丢失请求信息。它等于重发一个请求。
request.setAttribute是在请求域里面加了一个请求的参数,所以在sendRedirect以后是无法取到request.setAttribute的请求的。

解决办法(两种):
1、如果你是在同一个服务器(容器)里做的转向工作。那么可以这样
把request.setAttribute(“cha”, cha);改成request.getSession().setAttribute(“cha”, cha);
然后<%Object a = (Object)request.getSession().getAttribute(“cha”);%>其他不变。
2、你在Servlet里面这样写:
把response.sendRedirect(“a.jsp”);改成response.sendRedirect(“a.jsp?a=cha”);
那么在a.jsp页面上直接<%=request.getParameter(“a”)%>
就可以了,不用写<%Object a = (Object)request.getAttribute(“cha”);%>.

requestgetAttribute()与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结合上面所说的用法来传递所需的数值。

request.setAttribute()的用法相关推荐

  1. request.setAttribute的用法

    request.getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为Object对象类型 . ...

  2. request.setAttribute()用法

    小问题: JSP1代码 String [] test=new String[2]; test[0]="1"; test[1]="2"; request.setA ...

  3. 总结:request.setAttribute()、session.setAttribute()和request.getParameter()的联系与区别

    1.session.setAttribute()和session.getAttribute()配对使用,作用域是整个会话期间,在所有的页面都使用这些数据的时候使用. 2.request.setAttr ...

  4. java中的setattribute_JSP request.setAttribute()详解及实例

    javascript request.setAttribute()详解 request.setAttribute()怎么用的? JSP1代码 String [] test=new String[2]; ...

  5. request.getSession.setAttribute和request.setAttribute区别

    [方法1]request.getSession.setAttribute [方法2]request.setAttribute 相信很多初学的小伙伴对方法1和方法2,也充满了疑问,因为他们俩的作用都是把 ...

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

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

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

    一.request.getParameter() 和request.getAttribute() 区别 (1)request.getParameter()取得是通过容器的实现来取得通过类似post,g ...

  8. 关于request.setAttribute多页传值,多页取值

    request的setAttribute方法确实能够多页传值和多页取值的,因为request完成的是服务器跳转,在这期间所有设置的内容会被保存下来.下面的例子包含4个页面,1page.jsp和2pag ...

  9. request.getParameter()与request.setAttribute()的区别

    request.getParameter(),request.setAttribute()区别如下: (1)request.getParameter()取得是通过容器的实现来取得通过类似post,ge ...

最新文章

  1. LINUX下UDP实现消息镜像通信,linux环境下基于udp socket简单聊天通信
  2. 在线判题系统hustoj的搭建
  3. mac共享单个磁盘_如何与您的所有设备共享酒店的单个Wi-Fi连接
  4. csv转为utf8编码_读取UTF8编码的CSV并转换为UTF-16
  5. ajax流式传输,直接流式传输JSON以响应Jackson
  6. bootstrap树节点如何设置默认不展开_我开源了一个基于Vue的组织架构树组件
  7. 区块链电子证据的司法应用现状与展望
  8. 打造爆款关键词选择10种方法
  9. kindle电子书格式转换
  10. IQ使命 Marrakech 马拉喀什(六边形图案)攻略
  11. 计算机课程设计-基于ssm+vue的物资管理系统(前后端分离)-物资出库入库管理系统java代码
  12. 南通大学教务管理微信公众号的用户体验
  13. 当往日悄然走远,只留下清澈的心
  14. 问卷分析之SPSS相关分析、相关系数矩阵(Pearson)
  15. C语言函数:错误信息打印函数,strerror()与perror()
  16. 【Dev c++编辑器代码颜色修改指南】
  17. 某资产管理公司部署贷前征信调查报表系统实录
  18. Elasticsearch7.X-IK分词器
  19. java 返回 json格式_java 如何返回json格式数据,需要技巧
  20. C++手机通讯录管理系统

热门文章

  1. 电磁场仿真试验【Matlab】电磁波极化仿真
  2. java提示结果集已耗尽,java 结果集已耗尽
  3. OpenCV图像旋转(cv::rotate)与镜像(cv::flip)
  4. 深度学习实战06-循环神经网络(RNN)实现股票预测
  5. 新冠状病毒死亡率问题
  6. 华为手机计算机怎么语音算术,只动口不动手!华为手机这个自带功能绝了,录音秒变文字!...
  7. 1.8.5 访问日志不记录静态文件
  8. 抖音招商团长怎么做?怎么入驻?
  9. 脚手架vue-cli系列一:安装与规范
  10. 【VSCode】yarn : 无法加载文件 A:\yuke\node\node_gobal\yarn.ps1,因为在此系统上禁止运行脚本。