仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 524|回复: 10
打印 上一主题 下一主题

[学习教程] JAVA编程:JSP由浅进深(10)Beans and Forms处置

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。js表单(Forms)是在网站交互的一个很一般的办法。JSP使表单处置加倍复杂。在JSP中处置表单的尺度办法是界说一个“bean”。这个“bean”不是一个完整的Javabean。你只需在界说一个类使它有个地区,这个地区跟表单中的每个地区绝对应。这个类地区必需有“setters”来婚配表单地区的名字。举个例子,让我们修正一下后面教程的GetName.html而且搜集Email地点和用户的岁数。详细代码修正以下:

<HTML>


<BODY>



<FORMMETHOD=POSTACTION="SaveName.jsp">



Whatsyourname?<INPUTTYPE=TEXTNAME=usernameSIZE=20><BR>



Whatsyoure-mailaddress?<INPUTTYPE=TEXTNAME=emailSIZE=20><BR>



Whatsyourage?<INPUTTYPE=TEXTNAME=ageSIZE=4>



<P><INPUTTYPE=SUBMIT>



</FORM>



</BODY>



</HTML>

为了搜集数据,我们要界说一个Java类,使它有“username”、“email”、“age”的地区,而且我们要供应“setter”办法“setUsername”、“setEmail”和“setAge”。这个“setter”办法只是一个以“set”入手下手厥后是地区名的一种办法。地区名字的第一个字母要用年夜写的。以是假如地区为“email”,它的“setter”办法就为“setEmail”。一样的,“Getter”办法也相似界说,它只不外是用“get”来取代“set”罢了。而且要使得setters和getters必需为大众的(public)。比方:

publicclassUserData{

Stringusername;

Stringemail;

intage;

publicvoidsetUsername(Stringvalue)

{

username=value;

}

publicvoidsetEmail(Stringvalue)

{

email=value;

}

publicvoidsetAge(intvalue)

{

age=value;

}

publicStringgetUsername(){returnusername;}

publicStringgetEmail(){returnemail;}

publicintgetAge(){returnage;}

}


一旦你界说了这个类,再编译它,而且将它安排于收集服务器的类路径中。这个服务器一样要界说一个特别的目次来安排bean类。假如你是利用Blazix你能够将它们安排到“classes”目次中。假如你必需改动类路径而且服务器正在运转,那末收集服务器就必需中断偏重新启动。

上面我们来修正一下“SaveName.jsp”以利用bean来搜集数据:

<jsp:useBeanid="user"class="UserData"scope="session"/>


<jsp:setPropertyname="user"property="*"/>



<HTML>



<BODY>



<AHREF="NextPage.jsp">Continue</A>



</BODY>



</HTML>



这里一切我们必要作的事变是增添一个jsp:useBean标记和jsp:setProperty标记。这个useBean标记是在session中查找“UserData”的实例。假如实例被找到了,它就将更新旧的实例;假如实例没有被找到,它就将创立一个UserData新的实例(UserData的实例被称为bean),然后将它安排于session中。而setProperty标记会主动搜集输出的数据,并婚配bean办法的名字,在将数据安排于bean中。

上面修正NextPage.jsp以从bean掏出数据:

<jsp:useBeanid="user"class="UserData"scope="session"/>

<HTML>



<BODY>



Youentered<BR>



Name:<%=user.getUsername()%><BR>



Email:<%=user.getEmail()%><BR>



Age:<%=user.getAge()%><BR>



</BODY>



</HTML>



这里要注重useBean标签被反复利用了。这个bean是作为类“UserData”的变量的。由用户键进的数据都被搜集在bean中。我们能够不必要“SaveName.jsp”,“GetName.html”的方针就是“NextPage.jsp”,而且只需我们增添一个jsp:setProperty标记数据一样无效。鄙人一个教程中,我们要利用SaveName.jsp作为一个毛病处置并主动毗连到NextPage.jsp上,换句话说,它叫用户校订毛病的数据。

本节教程的帮助实习为:A)编写一个JSP/HTML使得用户能够键进体系属性的名字并将显现有System.getProperty前往数值。B)回到我们方才手动修正的boolean变量,这时候我们不必boolean变量,而是未来自HIDDEN表单地区的变量设置为true大概false。
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-21 08:37:16 | 只看该作者
是一种为 Internet发展的计算机语言
小妖女 该用户已被删除
板凳
发表于 2015-1-30 12:37:46 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
只想知道 该用户已被删除
地板
发表于 2015-1-30 22:17:03 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
蒙在股里 该用户已被删除
5#
发表于 2015-2-6 16:18:36 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
再现理想 该用户已被删除
6#
发表于 2015-2-17 03:56:11 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
乐观 该用户已被删除
7#
发表于 2015-3-5 15:42:02 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
分手快乐 该用户已被删除
8#
发表于 2015-3-11 18:10:28 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
简单生活 该用户已被删除
9#
发表于 2015-3-12 03:24:54 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小女巫 该用户已被删除
10#
发表于 2015-3-19 17:48:03 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
莫相离 该用户已被删除
11#
 楼主| 发表于 2015-3-29 16:48:32 | 只看该作者
是一种突破用户端机器环境和CPU
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 18:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表