Seam之初体验
转自:http://www.evget.com/zh-CN/info/catalog/10220.html
为什么要使用Seam
?这个问题Seam的官方文档以经做了很好的回答。为了方便不喜欢看文档的朋友(不过,可以负责任地告诉你“这不是一种好习惯!” :-),如果你希望完整地了解一门技术,反复阅读文档是必不可少的。甚至可能需要查看源代码,当然这是对开源的技术而言),我将其中一些要点抽取出来:
只有一种“工具” Seam中的表现层组件和业务逻辑组件之间并没有区别。 你可以根据你设计的任何架构给应用程序进行分层,而不是强制将你的应用程序逻辑硬塞进一个由你目前在使用的任何框架组合所强加给你的不适当的分层配置中。
将JSF与EJB 3.0整合 Seam将JSF和EJB3的组件模型合二为一,消除了胶合代码,使得开发者专注于业务问题。
集成AJAX Seam支持两个最好的、开源的基于JSF的AJAX解决方案:JBoss RichFaces和ICEfaces。
?将业务流程作为首要的基础建筑 Seam可以选择通过jBPM提供透明的业务流程管理。
声明式状态管理 声明式应用程序状态管理通过Seam定义的丰富的context model(上下文模型)而成为可能。Bijection(双向注入) Bijection(双向注入)和IoC的不同之处在于它是动态的、语境相关的以及双向的。
?工作区(Workspace )管理和多窗口浏览 Seam应用程序让用户自由地在多个浏览器窗口中切换,每个窗口都与一个不同的、安全隔离的对话关联。
多些注解(Annotation),少些XML 这让你摆脱了对繁琐的JSF managed bean(JSF受管bean)的配置,减少了所需的XML,只剩下那些真正属于XML的信息(JSF导航规则)。
?
点击“Add”,在出现的“New Seam Runtime”的对话框中,点击“Browse”,选择Seam的解压路径如:D:SeamDevjboss-seam-2.1.1.GA,在“Version”下拉菜单中选择“2.1”,点击“Finish”。
点击“Perferences”对话框中的"OK",关闭对话框。
点击菜单“File->New->Project”,在输入框中输入“Seam”,点击“Seam Web Project”,点击“Next”,如下图所示:
在出现的对话框中,点击“Browse”,选择JBoss解压的路径,点击“Finish”。
回到“New Seam Project”对话框,点击“Target Server”中的“New”。
在出现的对话框中,选择“JBoss AS 5.0”,点击“Finish”。如图所示:
再次回到“New Seam Project”,在“Configuration”中的下拉菜单中选择“Dynamic Web Project with Seam 2.0(technical preview)”,点击“Next”,如下图所示:
?
在“Web Module”对话框,再点击“Next”。
。在出现的对话框中,选择“HSQLDB JDBC Driver”,如下图所示:
?
点击“Jar List”,选择“hsqldb.jar”,点击“Remove JAR/Zip”。
点击“Add JAR/Zip”,在文件选择对话框中选择Seam文件夹下的“lib”下的“hsqldb.jar”,路径如:d:SeamDevjboss-seam-2.1.1.GAlibhsqldb.jar,点击“OK”。
在“Database”输入框中输入“HelloDB”,选择“DB Location”,路径如:“F:WorkspaceBlogJavaHSQLDBHelloDB”,可以点击“Test Connection”,如果设置正确应该会出现“Success”对话框,点击“OK”,再点击“Finish”。
回到“New Web Project”对话框,如进行下图所示设置后,点击“Finish”。
?
在可能出现的切换对话框中,点击“OK”。
通过上述步骤,我们已经新建一个Seam工程。在Eclipse的“Project Explorer”窗口中,你可能见到有红色的交叉提示错误,点击屏幕下方的“Problems”窗口,双击错误提示,打开pages.xml文件,如下图所示:
?
点击垂直滚动条右边的红色错误提示,定位到出错内容,如下图所示:
?
将出错的“log-level”改为“logLevel”,即可消除错误,保存文件。
点击屏幕下方的“JBoss Server View”,开启JBoss服务器,如下图所示:
打开浏览器,键入http://localhost:8080/hello/,你将会看到如下图所示页面:
?
点击“Login”,在“Username”键入“admin”,再点击“Login”,可以成功登陆。
小结
?通过上述的步骤,我们已经创建了一个简单Seam应用。这个应用正所谓是“麻雀必小五脏俱全”,包括WEB的常用的布局、图片,样式表和简单的登陆实现、错误处理等。