网络系统设计.docx
《网络系统设计.docx》由会员分享,可在线阅读,更多相关《网络系统设计.docx(13页珍藏版)》请在冰点文库上搜索。
网络系统设计
传统的Web应用程序
以简单高效交换文档为目的的Web技术,例如超文本传输协议(HTTP)和超文本标记语言(HTML),都来源于单页性(page-based)和无状态(stateless-communication)的模式。
在这种模式中,一个页面是自给自足(self-contained)的,并且是沟通客户端与服务器端的最小单位
ZK:
它是什么——填空题
ZK是一个事件驱动(event-driven)的,基于组件(component-based)的,用以丰富网络程序中用户界面的框架。
ZK包括一个基于AJAX事件驱动的引擎(engine),一套丰富的XUL和XHTML,以及一种被称为ZUML(ZKUserInterfaceMarkupLanguage,ZK用户界面标记语言)的标记语言。
有了ZK,您可以利用XUL和XHTML的丰富特性来呈现您的Web应用,操纵它们来处理因用户活动而引发的事件,就像在桌面应用程序中那样。
不同于大多数其它框架,就ZK而言,AJAX是一种幕后(behind-the-scene)技术,组件内容的同步和流水线事件(pipeliningofevents)都由ZK引擎自动完成。
除了简单的模型和丰富的组件,ZK也支持一种文本标记语言,称为ZUML。
ZUML,如同HTML,可以让开发人员设计界面而无需编程。
通过XML的命名空间,ZUML无缝的集成了一套不同的标签到同一页面。
目前,ZUML支持两套标签,即XUL和HTML。
为了方便快速模型开发(prototyping)和定制,ZK允许开发人员嵌入EL表达式,以及您喜欢的脚本语言,包括但不限于Java,JavaScript,RubyandGroovy.开发人员可以选择不嵌入任何脚本语言,如果他们喜欢更严格的要求(discipline)。
不同于JavaScript嵌入在HTML,ZK在服务器端执行所有的嵌入脚本。
ZK:
局限
ZK不适合在客户端运行多任务的应用程序,例如3D动作游戏,除非你写编写一个特殊的组件。
ZK也不适合需要大量使用客户端计算能力的应用程序。
AJAX应用
经过数十年的演变,Web应用已经从静态HTML发展到DHTML,applets,Flash,最后发展到了AJAX(AsynchronousJavaScriptandXML,非同步的JavaScript和XML)。
AJAX技术通过提供与桌面应用程序同等水平的互动性和反应能力给Web应用带来了新生命。
不同于applets或Flash,AJAX基于标准的浏览器和JavaScript,并且不需要专门的插件。
AJAX是新一代的DHTML,就像DHTML,它在很大程度上依赖于JavaScript监听用户活动产生的事件,然后动态的操纵浏览器中一个页面(亦称DOM)的视觉表现。
此外,它更近一步,能够使与服务器的沟通异步进行,即不需要离开或提交整个页面。
它通过引入客户与服务器间轻量级的通信(light-weightcommunication)打破了基于页面的模式。
妥善设计,AJAX可以给Web应用带来丰富的桌面通用组件,而且在Web应用程序的活动周期内可以动态更新这些组件并通过应用程序获得对组件的更多控制。
(AJAX特点)
ZK:
它不是什么
ZK并没有关注持久化(persistence)或伺服务器之间的沟通(inter-servercommunication)。
ZK被设计的尽可能的简单,它只针对表示层(presentationtier)。
他并不要求和暗示任何后端技术,所有你喜欢的中间件就像以前一样工作,如JDBC,Hibernate,JavaMail,EJB或JMS。
ZK并没有为开发人员提供(tunnel),RMI<远程对象调用>或其他的API用来在客户端与服务器端通信,因为所有的代码都运行在同一服务器的同一Java虚拟机(JVM)上。
3.ZK并没有强迫开发人员使用MVC<模型视图控制器>或其他设计模式。
是否使用它们由开发人员选择。
4.ZK并不是旨在把XUL带入Web应用的框架。
它的目标是把桌面编程模式引入Web应用。
目前,它只支持XUL和XHTML。
将来它或许会支持XAML,Xquery及其它。
5.ZK将AJAX嵌入到了现今的应用中(implementation),但它并没有止步于AJAX结束的地方。
在ZKMobile中,您的应用程序可以到达支持J2ME的任何设备,例如PDA,手机和游戏平台。
此外,您根本不用修改您的应用程序。
一.ZK开发环境的搭建
1.JDK环境变量的配置:
在桌面上计算机点右键选属性,或是开始菜单计算机上点右键选属性,左边点高级系统设置,点下边的环境变量。
a.点击“新建”按钮,JAVA_HOME,变量值填JDK安装的最终路径,我这里装的地址是D:
\ProgramFiles\Java\jdk1.7.0_51,所以填D:
\ProgramFiles\Java\jdk1.7.0_51,点确定完成。
b.点击“设置”按钮,Path,在原本基本上添加JDK相关的,找到Path变量双击编辑,由于每个值之间用;符号间断,所以先在末尾加上;(注意是英文格式的,不要输其他符号空格等),加上;符号后在末尾加入%JAVA_HOME%\bin,点确定完成。
c.点击“新建”按钮,CLASSPATH,变量值%JAVA_HOME%lib,首尾不带空格的,点确定完成。
2.Postgeres是加州大学伯克利分校计算机系开发的,是一个对象关系数据库,是世界上最先进的开源的数据库库系统。
3.解压TOMCAT和ECLIPSE压缩文件,并运行eclipse。
然后进行TOMCAT的初始设置:
点击file/new/other,在弹出的对话框中选择server,在servertype中选择tomcatv7.0server,在“serverruntimeenviroment”一项中把tomcat的安装目录定位进来,再把JRE改为“JDK1.7.0_11”点击“finish”完成即可。
在菜单栏中选择点击Help/EclipseMarketplace,弹出的对话框中等加载完后,在search下面find后面的搜寻框中输入zk,然后点击查找。
找到ZKStudio插件,点击install安装好即可,这样ZK开发环境就搭建好了。
二.数据库连接池(四个文件)
1.META-INF中context.xml
2.WEB-INF中web.xml添加如下内容:
3.连接数据库控制器DBConPool.java
4.jar文件postgresql-9[1].1-902.jdbc4.jar
将这一文件复制到Eclipse中的lib文件夹下和TOMACAT所在路径下的lib文件夹下。
关闭数据库连接池
三.MVC在ZK中是如何实现的
1.在ZK中有三个类可以使ZK实现MVC(Model-View-Controllerpattern)模式。
MVC模式就是指模型视图控制器。
2.用ZK组件中的属性apply来实现页面文件和控制器的连接。
四.页面组件属性:
1.valueid和type
2.label和sort(用于对结果进行排序)
name
widthheightsclassplaceholder和src
titleborder和apply
hflexvflexpackalign和sclass
href
collapsiblesplittable和autoscroll
self
style
orient和autodrop
image
emptyMessagemoldpageSize(指定每次可见的行数)和rows
14.maxlength
15.spacing
16.closable
17.constraint
18.visible
五.常见组件
1.window
2.gridcolumnscolumnrowsrowcellckeditor
3.fileupload
4.image
5.button
6.label
7.textbox
8.listboxlistheadlistheadertemplatelistitemlistcell
9.divabw.captcha
10.include
11.dateboxintbox
12.flash
13.hboxvbox
14.borderlayoutnorthdivincludewestcentereastsouth
15.vlayout
16.stylemenubar
17.treetreecolstreecoltreechildren
18.groupboxcaption
19.hlayoutvlayout
20.tabboxtabstabtabpanelstabpanel
六.Tomcat的安装、启动和关闭
1.安装将Tomcat下载解压即可
2.启动在Tomcat的目录下的bin中,双击startup.bat文件即可
3.关闭在Tomcat的目录下的bin中,双击shutdown.bat文件即可
七.在组件旁弹出提示信息(显示在什么组件的什么位置上)
八.Java控制器本身时SelectorComposer的派生类
九.添加子组件
gridrowappendChild
十.控制器初始化方法
方法名:
doAfterCompose
十一.监听事件
1.监听提交按钮事件
2.监听上传按钮事件
3.当光标移走时提示用户名已存在
4.点击查询按钮清除前面已经查询的内容
5.点击按钮查询或是敲回车键查询
6.鼠标经过,图片放大
鼠标离开,图片恢复
7.从数据库中搜索结果集后显示成列表
或
或
十二:
数据库安装时配置密码,密码是给Postgres用的。
十三:
数据库允许其他IP地址访问,在工具--服务器配置--pg_hba.conf中填写IP地址0.0.0.0/0
十四:
如何运行zk运行项目:
在zul页面视图视图中,右键,RunAs---Runonserver
左侧zul标题上,右键RunAs---Runonserver
工具栏中的运行箭头(停于zul页面)
说明:
MVC增删查改,多角色用户登录,用户注册的代码没有写,是老师要求的代码,好好看看,还有布局的设置代码也没有写,参照老师讲的最后一个index界面。