【JSP开发】Attribute 和 Parameter 的区别

Attribute 和 Parameter 的区别

(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法

(2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数,

(3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。

一般通过表单和链接传递的参数使用getParameter

通过request.setAttribute("name","jerry")的方式赋值的使用request.getAttribute("name")

这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。

一般可以用getParameter得到页面参数。。。字符串。。。

getAttribute()可以得到对象。。。

getParameter可以得到页面传来的参数如?id=123之类的。

getAttribute()常用于servlet页面传递参数给jsp

个人见解:

当用户把值作为链接参数传递给下个页面或serve时,用getParameter()获取.如aa.jsp?id=1;还有表单的提交.

当用户把值放在了request中的一个属性时(request.setAttribute("aa","tt"),"aa"这个属性名可以任意取的),用getAttribute(属性名)获取.

request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作, request.getParameter()就是从上一个页面中的url、form中获取参数。但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。

而session可以跨越很多页面。范围大于request。

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里有 
<form name="form1" method="post" action="2.jsp">  
请输入用户姓名:<input type="text" name="username">  
<input type="submit" name="Submit" value="提交">  
</form>的话在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);  
%>  
<jsp:forward page="2.jsp" />  
在2.jsp中通过getAttribute()方法获得用户名字:  
<% String username=(String)request.getAttribute("username"); %>

时间: 2024-10-31 07:00:56

【JSP开发】Attribute 和 Parameter 的区别的相关文章

JSP开发工具的选择

js JSP引擎搭建起来后就可以着手使用开发工具进行JSP的编程了,现下流行的JSP开发工具主要有IBM VisualAge,JBuilder,NetBeans,JRun,Urledit,dreamweaver,editplus等,这里我们主要介绍IBM VisualAge,JBuilder, Jrun三种工具的一些基本情况,大家可以参照其各自的特点,结合自身开发环境进行开发工具的选择. IBM VisualAge for Java IBM的Web开发产品可谓同类之中的庞然大物:体积庞大,功能众

Servlets和JSP开发原则

js|servlet Servlet和JSP技术是用Java开发服务器端应用的主要技术,是开发商务应用表示端的标准.Java开发者喜欢使用它有多种原因,其一是对于已经熟悉Java语言的开发者来说这个技术容易学习:其二是Java把"一次编写,到处运行"的理念带入到Web应用中,实现了"一次编写,到处实现".而且更为重要的是,如果遵循一些良好的设计原则的话,就可以把表示和内容相分离,创造出高质量的.可以复用的.易于维护和修改的应用程序.比方说,在HTML文档中如果嵌入过

想入门JSP开发,请各位老师给点意见。

问题描述 纠结了10多天了,才把环境整体搭好,但是现在最主要的一个问题就是JSP怎么学?我用GOOGLE找了N多教材,全是些我估计连写书的人自己都不知道在写什么的教材,跑去新华书店也看了,JSP开发书籍的数量数都能数清,就那么几本,根本没有适合自己的,或许是自己太笨了吧.其实我对教材的要求不高,之前有过ASP.PHP的开发经验,HTML.CSS也非常熟悉,这些全是我自学的.但是奇怪的是,我看着JSP的那些书和教材,我真心没搞懂他们想讲个啥?举个例,<% %> <%! %> <

请问在jsp开发中使用的mysql server数据库服务器

问题描述 请问在jsp开发中使用的mysql server数据库服务器 请问在jsp开发中使用的mysql server数据库服务器,在Visual C++ 6.0中也可以使用么?如果可以,请问如何使用? 解决方案 到底你说的是mysql还是sql server?不过这两者都可以在VC中访问,具体你google下 解决方案二: 可以吧,但是6.0都是多少年前的版本了,连sql server会出现各种未知的问题,具体google,楼上正解 解决方案三: 应该是可以的,直接都连接同一个数据库不就可以

jsp开发的网页在微信公众平台上显示的内容全在左边,右边是空的

问题描述 jsp开发的网页在微信公众平台上显示的内容全在左边,右边是空的 用myeclipse开发的微网页,其实也就是网页,使用jsp编写的页面,在内部是 这些元素:因为这个项目是要放在手机里访问的,所以在电脑上很正常,但是一放到手机上,打开网页链接,所有的内容都在手机屏幕的左侧,右边是空的,但是像 这些标题元素却能正常显示,求大神解答啊~~~ 解决方案 手机里面的商户html5,控件是js控制,自适应的

新手指南:Jsp开发环境配置全过程

js|过程 在配置Jsp开发环境的过程中会碰到不少问题,感谢许多前辈经验总结性的文章对我来说简直是雪中送碳,为了帮助像我一样的初学者,在此总结了不少作者的经验,非常感谢他们的无私奉献精神,也希望更多的人把这种精神发扬光大. 以下软件下载连接地址无法显示的话,请直接到官方网站下载即可! 软件下载 Mysql 下载版本:mysql-4.1.13-win32.zip(Windows downloads) http://dev.mysql.com/downloads/mysql/4.1.html JDB

Jsp开发环境配置全过程

js|过程 在配置Jsp开发环境的过程中会碰到不少问题,感谢许多前辈经验总结性的文章对我来说简直是雪中送碳,为了帮助像我一样的初学者,在此总结了不少作者的经验,非常感谢他们的无私奉献精神,也希望更多的人把这种精神发扬光大. 以下软件下载连接地址无法显示的话,请直接到官方网站下载即可! 软件下载 Mysql 下载版本:mysql-4.1.13-win32.zip(Windows downloads) http://dev.mysql.com/downloads/mysql/4.1.html JDB

如何设置JSP开发及运行环境

js 要学习Servlet和JSP开发,首先你必须准备一个符合Java Servlet 2.1/2.2和JavaServer Pages1.0/1.1规范的开发环境.Sun提供免费的JavaServer Web Development Kit(JSWDK),可以从http://java.sun.com/products/servlet/ 下载. 安装好JSWDK之后,你还要告诉javac,在编译文件的时候到哪里去寻找Servlet和JSP类.JSWDK安装指南对此有详细说明,但主要就是把serv

设置JSP开发、运行环境

js 2.1 安装Servlet和JSP开发工具 要学习Servlet和JSP开发,首先你必须准备一个符合Java Servlet 2.1/2.2和JavaServer Pages1.0/1.1规范的开发环境.Sun提供免费的JavaServer Web Development Kit(JSWDK),可以从http://java.sun.com/products/servlet/下载. 安装好JSWDK之后,你还要告诉javac,在编译文件的时候到哪里去寻找Servlet和JSP类.JSWDK安