欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

例解JavaWeb页面传参方法_参数传递

时间:2012-10-17  作者:常祖政

论文导读::图1用户注册页面regUser.html。表单传参是最常用的参数传递方法:利用表单收集用户键入的信息。
论文关键词:JavaWeb,页面,参数传递
 

1.表单传参

表单传参是最常用的参数传递方法:利用表单收集用户键入的信息,传递到服务器进行处理。“用户注册”的例子。

参数传递参数传递参数传递

图 1 用户注册页面regUser.html

1) 注册新用户页面regUser.html代码:

<form id='regUserForm'name='regUserForm' method='post' action='saveRegUser.jsp'>

……

<input name='userName'type='text' id='userName'onclick='dispPrompt(0,true)' onblur='dispPrompt(0,false)'/>

……

</form>

name属性:用户名文本框名称,也是参数名称;method属性:表单传参的方法;action属性:接收页面名称。

接收参数用request对象,request对象是javax.servlet.HttpServletRequest的实例。客户端请求一个JSP页面时,JSP服务器将客户端的请求信息封装在request对象中。

接收方法为request.getParameter(“参数名”)。

2) saveRegUser.jsp代码:

<%

……

//接收用户输入的信息(账号、密码)

StringuserName=request.getParameter('userName');

//参数名用引号(')括起来

……

%>

表单隐藏域传参,例如:

<input type=”hidden” name=”action” value=”deleStud”/>

hidden:<input>标签为隐藏域标签参数传递,参数action,值为“deleStud”。接收方法相同。

表单传参常用于用户登录、用户注册等信息提交的场合。

2.URL传递参数

URL传参就是在传递地址的尾部加上? 后面跟参数的名字和其值,在URL所指向的页面中就可以用request.getParameter('参数名字')获取的参数值。

用法:URL?参数名=参数值,例:

http://localhost:8080/news/DispNews.jsp?newId=34

DispNews.jsp页面中接收方法:

request.getParameter(“newId”)免费论文

优点:灵活。

缺点:传参数据量不能太大,且参数信息显示在地址栏中,对用户来说是透明的,不安全。可以将传递的字符进行加密,达到隐藏数据的目的。

一般在超级链接传递参数时使用方法。

3.session传参

session对象通常用来实现状态维持,可在多个页面间的共享信息,是JSP的内置对象,javax.servlet.http.HttpSession类的实例,指的是客户端与服务器的一次会话,会话从客户端链接到服务器开始参数传递,直到与服务器断开连接为止。

存取session中对象的常用方法的有setAttribute()、getAttribute()。setAttribute()方法有两个参数,第一个为标识名,第二个为值,形式('key','value'),采用键值对的形式。

例,把用户名为userName,值为“admin123”的信息保存到session对象中,写法:

session.setAttribute('userName','admin123');

取出方法:

String userName=(String)(session.getAttribute('userName'));

注意:session对象中对象需要强制类型转换。

优点:不管什么数据类型,都可以放到session中,以对象的形式存储于散列表中。在会话结束之前有效。持续时间与request相比要长。

缺点:session中把所有数据当成对象来存取,使用时需强制类型转换。占用服务器的资源大。

与seesion对象相似的另一个内置对象application,有效期更长。只用系统开始运行,直到系统结束为止参数传递,application对象一直有效。常用于系统的公共变量,如访问次数的实现等。

4.jsp:para标签传参

jsp:para标签参数传递一般与jsp:forword标签结合使用。语法格式:

<jsp:forword page=”URL”>

<jsp:para name='参数名1' value='参数1的值'/>

……

<jsp:para name='参数名n' value='参数n的值'/>

</jsp:forword>

说明:page属性的值是转向的文件名,若是动态网页如JSP文件,则可以传递参数。

例:

1)para0.jsp代码:

<body>

<jsp:forwardpage='/para1.jsp'>

<jsp:paramname='role' value='admin'/>

<jsp:param name='userName' value='czz'/>

</jsp:forward>

</body>

2)para1.jsp

<body>

<% Stringrole=request.getParameter('role');

StringuserName=request.getParameter('userName');%>

密码:<%=role%>

用户名:<%= userName%>

</body>

特点:地址栏显示的地址不变。

5.jsp:useBean动作指令传参

1)jsp:useBean指令

用于创建JavaBean对象。语法格式:

<jsp:useBean id='JavaBean的名称' scope='有效范围' class='包名.类名'>

</jsp:useBean>

id属性:JavaBean实例的名字。

scope属性:JavaBean实例(对象)的有效范围,取值有四种:page、request、session、application免费论文。默认值为page——当前页面及当前页面所包含的静态文件中有效;request——request期间有效;session——会话期间有效;application——所有客户端共享这个JavaBean对象,直至服务器关闭。

class属性:javaBean的类名。

2)setProperty动作指令

用来设置bean对象的属性值,基本语法格式有4种:

<jsp:setProperty name='JavaBean的名称'property='*'/>

<jsp:setProperty name='JavaBean的名称' property='属性名称'/>

<jsp:setProperty name='JavaBean的名称' property='属性名称' param='参数名称'/>

<jsp:setProperty name='JavaBean的名称' property='属性名称' value='属性值'/>

第一种格式:property=“*”,应用这种格式要求bean属性的名字与类型要和request对象中参数名称与类型一致,以此用bean中的属性来接收客户输入的数据,系统会根据名称来自动匹配。第二种格式:只设置其中匹配的一个bean的属性。第三种格式:根据指定的request对象中的参数与属性匹配。

该指令可以在useBean动作指令中使用,也可在声明了useBean后使用,但不能在声明之前使用。

提示:在同一个setProperty动作指令中不能同时存在param和value参数。

3)geProperty动作指令

用来获得bean的属性并将其转换为字符串,再在JSP页面中输出。使用的语法格式如下:

<jsp:getProperty name='bean的名称' property='属性名称'/>

例子:

<%@ page language='java'import='java.util.*' pageEncoding='gb2312'%>

<jsp:useBean id='stud'class='com.czz.Stud'scope='session'></jsp:useBean>

<jsp:setPropertyproperty='sid' value='200901001' name='stud'/>

<jsp:setPropertyproperty='sname' value='张平' name='stud'/>

学号:<jsp:getPropertyname='stud' property='sid' />

姓名:<jsp:getPropertyname='stud' property='sname' />

6.其他传参方法

页面传参的方法还有很多参数传递,如JSTL中的<c:redirect>和<c:param>标签、 <c:url>标签,Struts、JSF等框架中,也定义了各自标签满足页面传参的需要,在此不做讲述。

在实战开发中,Java Web中页面传参方法很多,各自的特点和使用范围各不相同,但是方法和原理基本一致。(代码经过严格测试,测试环境:WindowsXP+tomcat6+jdk1.6。)


参考文献:
【1】http://zhidao.baidu.com/question/157909128.html
【2】http://www.51cto.com/art/200709/55099.htm
【3】http://bbs.365master.com/thread-23036-1-1.html
【4】http://baike.baidu.com/view/1109992.htm
【5】http://jonsion.javaeye.com/blog/460822
【6】邓子云张赐.JSP网络编程——从基础到实践.电子工业出版社.2006
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:基于交互路径的构件组装测试方法研究_模型组合
下一篇论文:供电企业数据备份与恢复系统研究_SAN网络
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
    无相关信息
最新计算机论文
读者推荐的计算机论文