实录Seam示例Booking学习过程
Seam的Booking示例程序 较为完整的展示了Seam构建Web应用的主要方面,以下将学习理解过程简单记录,以备查考。
我的运行环境是Tomcat6.0.14 + EmeddedJBoss,该环境的准备 请参考我的上一篇Blog《在tomcat中使用EmeddedJBoss
》。
以下我将以%tomcat%
指代tomcat的安装位置,以%
seam%
指代Seam发布包解压目录的位置,以%booking%
指代示例程序;
1、构建/部署
首先,在%seam%目录下build.properties文件中设置tomcat的安装位置,以下将用%tomcat%来指代;
第二,在%seam%\examples\booking目录下执行ant tomcat.deploy
(注意:Seam指南文档中说的是deploy.tomcat
,其实应该是 tomcat.deploy
),当然前提是你正确的配置了Ant;
第三,Ant任务执行成功后 会发布war文件到%tomcat%\webapps下。此时直接部署还缺少以下jar文件,需要手动copy:commons-digester-1.6.jar
、
richfaces-api-3.1.1-SNAPSHOT.jar
、richfaces-impl-3.1.1-SNAPSHOT.jar
、richfaces-ui-3.1.1-SNAPSHOT.jar
,这些文件都可以从%seam%\lib目录下找到,copy到%booking%\WEB_INF\lib目录下;
最后,至此 启动tomcat就会正确的部署该程序,通过http://localhost/booking/
就可以正确的访问所有功能。好,以下我们来解析booking程序中的各个方面。
2、配置解析
web.xml
:不用多说了,其中配置了RichFaces 支持、Seam启动监听器、Seam Resource Servlet、Seam Filter、JSF Servlet以及facelets支持;
components.xml
:内容如下,其中
其中各配置项的功能如注释所示,都非常明确,没有什么需要特别说明的。
-
-
<
core:init
jndi-pattern
=
"#{ejbName}/local"
debug
=
"true"
/>
-
-
<
core:manager
conversation-timeout
=
"120000"
-
concurrent-request-timeout
=
"500"
-
conversation-id-parameter
=
"cid"
/>
-
-
<
transaction:ejb-transaction
/>
-
-
<
security:identity
authenticate-method
=
"#{authenticator.authenticate}"
/>
booking-ds.xml
:JBoss的数据库连接池配置文件,该文件定义了数据源及其JNDI名称。数据库使用了hsqldb的进程内模式。EmbeddedJBoss扫描到该文件后自动部署,其中bookingDatasource名称将在persistence.xml中引用。
persistence.xml
:该文件是JPA的标准配置文件 其中引用前一文件配置的数据源声明持久化单元。JPA是EJB的一部分 所以JBoss会扫描到该文件 并完成部署。
ejb-jar.xml
:该文件是EJB的标准配置文件,在此其声明了EJB拦截,此处的拦截对Seam至为重要 因为就是在该拦截中完成了对EJB的“注射
”。
pages.xml
:该页面定义了页面导航规则 及 未登录异常捕获时的重定向。
OK,配置基本上就是这些,接下来将以功能使用为线索 查看所有源代码部分。
分享到:
相关推荐
Seam 是一个开源的 Java 框架,主要用于简化企业级 Java 应用程序的开发,特别是与 JBoss 服务器的集成。它提供了一个统一的框架来整合多种技术,包括 JavaServer Faces (JSF)、Java Persistence API (JPA) 和 Java ...
Seam自带了一系列示例程序来帮助开发者更好地理解其特性和功能。通常情况下,这些示例是通过集成开发环境(IDE)如JBoss IDE或Eclipse来部署和运行的。然而,使用IDE部署可能会带来一定的不便,例如部署速度较慢等问题...
在接下来的学习过程中,您可以利用这个环境来实践各种 JBoss Seam 示例项目,从而深入理解其特性和应用场景。同时,随着实践经验的积累,您还可以尝试使用 JFreeChart 和 Flex 等工具进一步丰富您的应用,提高用户...
本文提出的基于SeamCarving和深度学习的车标识别算法,不仅响应了智能交通系统对于高效准确车标识别技术的需求,还通过优化的图像预处理技术显著提升了识别过程的效率和准确性。该研究为智能交通领域中的车标识别...
JBoss Seam 是一个开源的应用程序框架,它整合了JavaServer Faces (JSF)、Enterprise JavaBeans (EJB)、Java Persistence API (JPA) 和其他Java EE技术,旨在简化开发过程,提高开发效率。本资料集合包括《Seam in ...
在过去的两周里,我深入学习了SeamTest,这是一个用于Java EE应用测试的强大...在实际使用过程中,遇到的问题和错误是学习过程的一部分,通过解决这些问题,我们可以更深入地理解SeamTest和Seam框架的内部工作原理。
8. **RESTful的Seam应用程序:Blog示例**:通过一个博客系统,演示了如何使用Seam构建RESTful风格的服务。 - **使用“拉”风格的MVC**:解释了如何通过Seam实现客户端发起请求、服务器响应数据的经典MVC模式。 - *...
标题中的“Geronimo服务器下部署Seam程序”是指在Apache Geronimo应用服务器上安装和运行JBoss Seam应用程序的过程。Apache Geronimo是一个开源的应用服务器,它支持Java EE规范,而JBoss Seam是一个用于Java EE平台...
JBoss Seam 是一款基于 Java 的企业级应用开发框架,它简化了应用程序的开发过程,特别是那些涉及复杂的用户交互、业务逻辑以及数据处理的应用。Seam 结合了 JavaServer Faces (JSF)、Java Persistence API (JPA)、...
examples, 演示两个或者更多Seam模块的集成示例 Seam 3集成示例集成了面向对象的Seam示例,演示了多个模块提供的功能。安全示例authorizationidmconsoleopenid-opopenid-rpsimple运行功能测试设置 JBOSS_HOM
Seam是一个用于构建企业级Java应用的强大框架,它提供了丰富的组件和工具来简化开发过程,并增强应用程序的功能性和可维护性。该框架由Gavin King、Pete Muir等多位知名开发者共同贡献而成,版本号为2.2.1.Final。 ...
- **SEAM**:SEAM 是一个基于 Java EE 的企业级应用框架,它简化了复杂的应用程序开发过程,并且提供了丰富的功能来支持业务逻辑的实现。 - **版本信息**:本文档介绍了 SEAM 2.0 GA 版本的功能特性及其使用方法。 ...
Seam Security是针对Java Web应用程序的安全框架,它是JBoss Seam项目的一部分,提供了全面的安全解决方案,包括身份验证、授权和身份管理等功能。Seam Security以易于配置和使用为特点,允许开发者快速设置应用程序...
Seam框架旨在简化企业级Java应用程序的开发过程,通过提供一系列高级功能,如上下文感知组件(Contextual Components)、会话管理(Conversations)、页面流(Page Flow)等,帮助开发者构建更为灵活、高效的应用...
通过这个示例,开发者可以学习如何在Eclipse中配置和运行一个包含Seam、EJB和JSF的完整应用。这包括设置项目结构、编写和配置EJB组件、设计JSF界面、集成Seam框架、以及部署和测试整个应用。这些技能对于从事Java...
- **酒店预订示例**(A complete Seam application: the Hotel Booking example):这是一个更复杂的示例,旨在展示Seam如何用于构建完整的应用。它包括了预订流程的各个方面,比如房间选择、客户信息录入、支付等...
例如,在"Hello World"示例中,用户输入的名字会被保存到数据库,并显示已问候过Seam的所有用户。这个过程由Seam自动处理,包括表单解析、数据持久化以及UI更新。 为了运行Seam应用,你需要一个兼容的JBoss ...
- **本教程**:主要介绍了JBoss Seam的基本概念、核心组件以及通过一系列示例项目来学习Seam的实际应用。 #### 二、Seam基础知识与实例分析 ##### 2.1 第一个Seam应用:注册示例 - **实体类**:`User.java`定义了...
根据提供的信息,我们可以推断出这是一本...通过对本书的学习,开发者可以掌握如何利用 Seam 快速构建高性能的企业级 Web 应用程序。此外,本书还提供了大量实用案例和最佳实践,帮助读者更好地理解和应用 Seam 框架。
Seam是一个强大的Java EE框架,它简化了企业级应用程序的开发过程。该框架通过整合现有的技术如JSF、EJB 3、JPA等来提供更为简洁和高效的开发模式。Seam提供了丰富的功能集合,包括会话管理、页面流、工作流集成以及...