JSP内置对象request中的getParameter()和getAttribute()方法的区别

JSP简答题 1. 概述MVC体系结构,各个部分都有那些技术来实现?    MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。     MVC模式的目的就是实现Web系统的职能分工。     Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。     View层用于与用户的交互,通常用JSP来实现。     Controlle 阅读详情

request.getParameter()方法和request.getAttribute()方法之间的区别

一、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容器内部(Web容器内部,可以理解为Web服务器内部)还有一点就是,HttpServletRequest类有setAttribute()方法,而没有setParameter()方法。拿一个例子来说一下吧,假如两个WEB页面间为链接关系时,就是说要从1.JSP链接到2.JSP时,被链接的是2.JSP可以通过getParameter()方法来获得请求参数.

假如1.JSP里有

<span style="font-size:18px;"><form name="form1" method="post" action="2.jsp"> 
     请输入用户姓名:<input type="text" name="username"> 
     <input type="submit" name="Submit" value="提交"> 
</form> </span>
的话在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()方法:

<span style="font-size:18px;"><%  
    String username=request.getParameter("username");  
    request.setAttribute("username",username);  
%> 
<jsp:forward page="2.jsp" /> 
<!--在2.jsp中通过getAttribute()方法获得用户名字: -->
<%
    String username=(String)request.getAttribute("username");
%></span>
二、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结合上面所说的用法来传递所需的数值。

jsp基础精华详解 四种会话跟踪方式: 1.Session HttpSession session = request.getSession(); session.setAttribute("name", "zhangsan"); session.setAttribute("pwd", "aaa"); String name = (String) session.getAttribute("name"); 2.cookie: //创建Cookie Cookie cookie = new Cookie("name", "zhangsan"); //设置Cookie的超时时间 cookie.setMaxAge(24 * 60 * 60 *60); //把Cookie发送到客户端 response.addCookie(cookie); //得到客户端发送的Cookie Cookie [] cookies = request.getCookies(); for(int i=0; i<cookies.length; i++) { Cookie temp = cookies[i]; String key = temp.getName(); String value = temp.getValue(); } 3.隐藏表单域 <input type="hidden" name="name" value="zhangsan" /> request.getParameter("name"); 4.Url重写 问号传参 LoginServlet?username=zhangsan&pwd=123 String name = request.getParameter("username"); String pwd =request.getPareameter("pwd"); 内部跳转: LoginServlet request.getRequestDispatcher("index.jsp").forward(request, resposne); 外部跳转: response.sendRedirect("index.jsp"); 内部跳转是一次请求和一次响应 外部跳转是两次请求和两次响应 ServletContext:Servlet上下文对象 它是一个公共区域,可以被所有的客户端共享 setAttribute():向公共区域里放入数据 getAttribute():从公共区域里取数据 立即下载

相关推荐

4G LTE 与 5G 无线网络规划对比:从 BBU/RRU 到 CU/DU/AAU 的架构演进解析

本文深度解析4G LTE与5G无线网络架构的演进差异,从BBU/RRU分立式架构到CU/DU/AAU三级重构,揭示移动通信代际跃迁的技术本质。重点对比了网络规划中的覆盖能力、容量规划、传输网络等九大维度,为通信工程师提供实用的技术对照手册,助力5G网络高效部署。

weixin_32821533的博客 287

JSP内置对象request——setAttribute/getAttribute的使用

setAttribute和getAttribute是页面传值的一种方法。

m0_61160520的博客 4171

用友BIP培训资料-设计采购订单新增API接口开发

14.在子实体的String pkMeas = order_hhrSlave0VOJson.getString("pk_meas");Openapi路径:nccloud/api/pu/order_hhrmanage/order_hhrMaster/addAggOrder_hhrMasterVO。实现接口的开发部署,通过openAPI的test类,实现一条数据的插入。16.进入自己的Idea打开老师发的TestOpenApi并且编译完成后如下。12.编写检测是否字段中是否含有中文的方法。

m0_68497879的博客 1545

jsp页面使用request.getAttribute来获取值

一开始的写法: System.out.println("-------"+request.getAttribute("wordPath")); String doc_word_path=request.getAttribute("wordPath"); 第一行bubaocuo

Jonia的Castle 8951

信创迁移实战:在银河麒麟V10-SP1上为Milvus离线部署Docker(附SP1专属避坑指南)

本文详细介绍了在银河麒麟V10-SP1 x86_64环境下离线部署Docker的全流程,特别针对该版本特有的自定义目录安装失败问题提供深度分析和解决方案。通过实战验证的步骤和避坑指南,帮助用户在信创项目中顺利完成Milvus等应用的容器化部署。

weixin_30687051的博客 532

CUDA-GDB(11)——调试示例演练

本博客包含三个CUDA-GDB的演练示例: ​​​​▶ Example: bitreverse ▶ Example: autostep ▶ Example: MPI CUDA Application

AI-安全-功耗 1512

JSP内置对象:getattribute()方法获得数据

一共有四个页面:getattribute1,2,3。 getattribute为输入数字页面,2为结果页。3计算出和,4计算乘积。int value=(Integer)request.getAttribute(“mynum”);getattribute可以直接强制转换得到整形数。而getparameter得到的是字符串,必须转换。<%@ page language="java" contentTy

qq_37387363的博客 1万+

图解电动汽车:电动汽车的分类

前面《电动汽车简介》中简单介绍了电动汽车的分类,主要包括混合动力电动汽车(HEV)和纯电动汽车(BEV)两大类。其中,混合动力汽车又可分为非插电式混合动力汽车、插电式混合动力汽车(PHEV)以及增程式电动汽车(REEV)。 主要分类 简单来说,各类电动汽车的特点如下。 纯电动汽车(BEV)就是指动力来源完全由电能提供,由电动机驱动的汽车,并且电能储存在电池中。 混合动力汽车(HEV)则是指动力来源可以是化石燃料,也可以是电能,并且电能除了可以存储在电池中,还可以由化石能源转化而来。 非插电式混合动力汽车

程序员「阿基米东」的编程之旅 3089

jsp的内置对象

jsp的内置对象

m0_72466001的博客 503

Open3D 点云变换【2025最新版】

点云平移、旋转、缩放、欧式变换的python代码实现。博客长期更新,本文最近更新时间为:2025年1月16日。

点云侠的博客 37万+

Python3实现基于ARIMA模型来预测茅台股票价格趋势

ARIMA(Autoregressive Integrated Moving Average)模型是一种广泛使用的时间序列分析方法,它可以用于对未来的数据进行预测。ARIMA模型由自回归模型(AR模型)、差分整合模型(I模型)和移动平均模型(MA模型)组成,因此也被称为ARIMA(p,d,q)模型。其中,p表示自回归阶数,d表示差分阶数,q表示移动平均阶数。具体来说,ARIMA模型可以通过以下步骤进行建模:数据预处理:对时间序列进行平稳性检验,如果不满足平稳性,则进行差分操作。

m0_64336780的博客 2万+

getAttribute()用法

一份文档就是一棵节点树。 ●节点分为不同的类型:元素节点、属性节点和文本节点等。 ●getElementById()方法将返回一个对象,该对象对应着文档里的一个特定的元素节点。 ●getElementsByTagName()方法将返回一个对象数组,它们分别对应着文档里的一个特定的元素节点。 ●这些节点中的每个都是一个对象。 接下来,我们将向大家介绍

tianmo2010的专栏 2万+

OSG第三方库编译之二十一:minizip编译(Windows、Linux、Macos环境下编译)

OSG编译;第三方库;跨平台编译;minizip编译(Windows、Linux、Macos环境下编译)

LuckyHanMo的博客 2621

jsp内置对象的简单几个小题。

1.JSP的内置对象中,常用的有哪几个? ==================== 答: (1)out对象, (2)request对象 (3)response对象 (4)session对象 (5)application对象 共五个常用内置对象 ----------2.request对象的主要作用是什么?getParameter()方法和getAttribute()方法有什么不同? ========...

过道 634

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JSP&Servlet jsp(2)

写在前面:         get​Attribute()与getParameter()的区别:         ​get​Attribute()获取的是放在request域对象中的一个属性,parameter是request请求的一个参数,可以获取url地址/username=zhangsan中的值,而get​Attribute()不能。 forward动作:         语法  

花开不合阳春暮 335

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

JAVA WEB部分易混淆问题总结

前言        最近在看了一些java基础问题,顺便将这段时间看到的容易混淆和已忘记的问题进行整理总结一下. 接下来会再写一些数据库方面易混淆或者不常用易忘记的问题梳理     上一篇是java基础方面易混淆问题总结:  https://my.oschi...

java_龙 334

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

赢在面试之JavaWeb篇(6)

返回目录列表:https://blog.youkuaiyun.com/liming1016/article/details/103232959 51、说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。 ...

江湖行骗老中医 175

2021.1.14Java面试题总结

Java基础: 1.Java语言如何进行异常处理,try,catch,finally,throw,throws分别代表什么意义?(45) Java处理异常的机制有两种:一种是直接使用try,catch语句进行捕获,另一种是使用throws进行抛出。 try:表示可能会出现异常的代码块; catch:用来捕获指定类型的异常; finally:不管发生什么异常都会执行的代码块; throw:用来明确的抛出一个异常; throws:声明一个方法可能抛出的各种异常。 2.多线程有哪几种实现方法?同步有哪几种实现方法

staywith_you的博客 327

JSP技术

一小部分关于JSP的基础知识

gmgm201024的博客 295

关于JSP技术

1.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口 的init(),service()和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 web容器加...

km_1790的博客 188

Java面试题-javaweb篇六

51、说一说Servlet的生命周期?         Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。         Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自

宣传栏 495

每日十个面试题--(java基础篇)-(51-60)

51、说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括【加载】和【实例化】、【初始化】、【处理请求】以及【服务结束】。这个生存期由 javax.servlet.Servlet接口的init(),service()和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 web容

lyh1023812的博客 143

JAVA面试题

1.Servlet的生命周期?    Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.servlet接口中的init、service、destroy方法表达。2.Servlet的基本架构  public class ServletName extends HttpServlet{     //初始化方法     publi...

ZXH357的博客 432
上一篇: 21分钟MySQL入门教程
下一篇: html隐藏域的作用
xtfdc2
博客等级 码龄18年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值