JAVA网站制作之一个基于JSF手艺的复杂示例(部分翻译)...
j2EE和asp比较,其实也没什么比的,原因和我上面说那些比较差不了多少,也是稳定性,安全性,J2EE比asp高,速度上比不过asp,asp也是延续着它的拖拽控件的方法,提高速度。js|示例JSF是基于MVC的收集开辟手艺,是一种基于事务驱动的开辟框架。在开辟收集使用的过程当中,我们必要将收集使用分为一些类,它们代表了事件数据和逻辑(theModel,包含搭客、飞机场、飞机、坐位等等),用户界面接口(theView,包含飞机腾飞输出字段地区、机场飞机列表等等),和将逻辑和用户界面绑定在一同的代码(theController)。上面先容一个最复杂的基于JSF使用的开辟,从中能够懂得到JSF开辟的基础历程。这个使用中包括一个表单,用户能够在这个表单里输出email地点,而且能够从一个列表目次当选择本人感乐趣的时势通信(我不晓得怎样贴图,方才试了一下不可,等我晓得了再把图贴下去),最初另有一个断定按钮。当用户确认本人在表单中输出的信息时,email地点和选择的时势通信项将被保留到数据库中,该使用的别的部分将利用这些信息来发送时势通信到用户的信箱,在这里我们其实不思索这些。
收集使用的开辟次要是背景程序的开辟,换句话说,就是把持事件逻辑和数据的类。关于时势通信预订表单这个使用而言,我们必要一个Subscriber类来保留subscriber信息。
packagecom.mycompany.newsservice.models;publicclassSubscriber{privateStringemailAddr;privateString[]subscriptionIds;publicStringgetEmailAddr(){returnemailAddr;}publicvoidsetEmailAddr(StringemailAddr){this.emailAddr=emailAddr;}publicString[]getSubscriptionIds(){returnsubscriptionIds;}publicvoidsetSubscriptionIds(String[]subscriptionIds){this.subscriptionIds=subscriptionIds;}publicvoidsave(){StringBuffersubscriptions=newStringBuffer();if(subscriptionIds!=null){for(inti=0;i<subscriptionIds.length;i++){subscriptions.append(subscriptionIds).append("");}}System.out.println("SubscriberEmailAddress:"+emailAddress+"
Subscriptions:"+subscriptions);}}
当预订被断定更新的时分,信息必要被保留到数据库,但在这里,我们并未将数据保留到数据库,而是利用System.out将保留的了局输入。当用户确认本人输出信息的时分,我们必要一个类来监听save举措,当save举措产生时就挪用该办法保留信息。
importcom.mycompany.newsservice.models.Subscriber;publicclassSubscriberHandler{privateSubscribersubscriber;publicvoidsetSubscriber(Subscribersubscriber){this.subscriber=subscriber;}publicStringsaveSubscriber(){subscriber.save();return"success";}}
除此以外,我们还要写进faces-config.xml设置文件,详细以下:
<faces-config>...<managed-bean><managed-bean-name>subscr</managed-bean-name><managed-bean-class>com.mycompany.newsservice.models.Subscriber</managed-bean-class><managed-bean-scope>session</managed-bean-scope></managed-bean><managed-bean><managed-bean-name>subscrHandler</managed-bean-name><managed-bean-class>com.mycompany.newsservice.handlers.SubscriberHandler</managed-bean-class><managed-bean-scope>request</managed-bean-scope><managed-property><property-name>subscriber</property-name><value>#{subscr}</value></managed-property></managed-bean>...</faces-config>
最初就是subscribe.jsp页面文件代码编写,即用户视图部分,当服务器运转起来后,在网页扫瞄器中能够看到网页界面。
<%@tagliburi="http://java.sun.com/jsf/html"prefix="h"%><%@tagliburi="http://java.sun.com/jsf/core"prefix="f"%><html><head><title>NewsletterSubscription</title></head><body><f:view><h:form><table><tr><td>EmailAddress:</td><td><h:inputTextvalue="#{subscr.emailAddr}"/></td></tr><td><td>NewsLetters:</td><td><h:selectManyCheckboxvalue="#{subscr.subscriptionIds}"><f:selectItemitemValue="1"itemLabel="JSFNews"/><f:selectItemitemValue="2"itemLabel="ITIndustryNews"/><f:selectItemitemValue="3"itemLabel="CompanyNews"/></h:selectManyCheckbox></td></tr></table><h:commandButtonvalue="Save"action="#{subscrHandler.saveSubscriber}"/></h:form></f:view></body></html>
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。 http://www.ckuyun.com/去下载,或到同济技术论坛的服务器ftp://www.ckuyun.com去下,安装上有什么问题,可以到论坛上去提问。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 是一种使用者不需花费很多时间学习的语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
页:
[1]