`
fangzhouxing
  • 浏览: 211857 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JBoss Seam (POJO without EJB) 后台 + ExtJS 前台完整例子(一)

阅读更多

JBoss Seam (POJO without EJB) 后台 + ExtJS 前台完整例子(一)


    1. 引言

  
  JBoss Seam 2.0 发行包中有一个例子程序,叫"Hotel Booking example"。这个例子在参考手册
   (位于doc\reference目录)中有较详细的介绍(1.6 A complete Seam application: the
   Hotel Booking example)。

   转到发行包的“examples\hibernate2”子目录,可以找到用Hibernate POJO实现的版本。
   我把这个例子进行了改造,并把改造后的项目源代码放到了Google Code上。

    本文将主要介绍在Tomcat 5.x下安装并运行本项目的具体操作方法。

    2.对原例子的改造要点

    在原例子的基础上,主要做了下列改动:
   (1)客户端取消JSF,改用ExtJS 2.0。
   (2)客户端和服务器端通讯采用JSON和Seam Remoting两种方式。
   (3)服务器端采用Seam的组件编程模式,实现了外观-服务-数据访问分层架构。
   (4)提供了对服务层完整的单元测试程序。

     保留并重新实现了原例子的全部功能。

     3. 快速浏览

     通过下面的链接,你可以查看本项目运行时的界面效果图:
     http://code.google.com/p/seamextsample/downloads/list

    4. 下载

    项目文件以 war 形式存放在Google Code站点,你可以从这里下载。

     下载后的文件,请改名为 seamextsample.war。

    5. 安装到Tomcat 5.x

     将 seamextsample.war 拷贝到 Tomcat 5.x 的子目录 webapps 中,即安装完毕。

    6. 运行

   启动 Tomcat,然后在浏览器地址栏输入:

   http://localhost:8080/seamextsample

   即可看到本项目的登录界面。

   输入登录名 demo 和密码 demo,然后按回车键。你也可以自己注册新用户,然后登录。

   7. 尚待解决的问题

   在FireFox下运行本项目,会看到中文乱码,在IE下能正常显示中文。

   8. 结语

   通过这个项目的开发,对JBoss Seam 2.0有了真实的感受,将继续以此为基础打造新一代
   J2EE开发平台。
  
   本人有机会将陆续写文章介绍本项目中的一些设计思路。由于本人水平有限,项目中所用的一些
   设计方法,肯定有不太合理之处,欢迎有兴趣的朋友,一起研究探讨,并提出宝贵意见。

附:下面是本系列所有文章的完整列表:
(1)下载示例项目并安装运行
(2)建立Eclipse开发环境
(3)熟悉项目中与JSF相关内容
(4)重新认识JS
(5)ExtJS之表单(Form)
(6)ExtJS之布局(Layout)
(7)ExtJS之网格(Grid)
(8)Java后台和前台的通讯机制
(9)Seam框架简化Java开发
(10)分层架构设计
(11)安全性
(12)单元测试
分享到:
评论
16 楼 terryworld 2008-06-26  
删掉el-api.jar,

包里带的这个文件与tomcat6自带的冲突

我在tomcat6下可以运行
15 楼 xzs 2008-06-06  
tomcat6.0直接报404错误!在jboss里面顺利运行

如果我的后台模型对象存在继承,聚合,关联,用json还能平滑顺利的在界面上显示我的模型对象吗?
14 楼 dingtao 2008-06-05  
我用的就是 TOMCAT 5.5  JDK 1.5  的环境
13 楼 dingtao 2008-06-05  
老大 ,根本就运行不了。 出一堆错误
exception

javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exception
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:595)


root cause

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory
javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)
javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
java.lang.Thread.run(Thread.java:595)

12 楼 kaki 2008-02-16  
看楼楼主很多文章,还有在EXTJS.COM上的,获益匪浅。

11 楼 fangzhouxing 2008-02-01  
只有json部分通讯是我自己写的,其他还是使用Seam Remoting.
10 楼 zjumty 2008-02-01  
刚刚看了你的这个例子, 正好现在也在调查Seam和ExtJS整合的问题, 你的例子对我帮助很大. 但是Seam和ExtJS通讯的部分, 你好像是自己写的, 没有利用Seam的Remoting. 那么如果直接利用Seam的Remoting是不是更好一些呢, 在这方面你有没有什么经验呢?
9 楼 webgame 2008-01-25  
换成 5 就没问题了 看来是配置问题
8 楼 webgame 2008-01-25  
就是奇怪 web.xml 都没有配置 怎么回出现这个问题
我的环境是 tomcat6 会不会和这个有关系
7 楼 fangzhouxing 2008-01-25  
HSQLDB Timer 错误我没有遇到过,所以也不知道如何解决。
6 楼 webgame 2008-01-25  
在google 搜了HSQLDB Timer 并没有找到解决方案 能大概说说吗
5 楼 fangzhouxing 2008-01-25  
请用Google搜索“HSQLDB Timer”。
4 楼 webgame 2008-01-25  
Exception in thread "HSQLDB Timer @c26ede" java.lang.NullPointerException
3 楼 fangzhouxing 2007-11-29  
上载的文件不小心后缀搞错了,请把后缀.rar改为.war。
2 楼 liubaojun 2007-11-29  
下载之后发布进不了页面,提示错误
1 楼 庄严 2007-11-29  
很好,不过我点"logout"时出错脚本错误,在IE中:

行: 57

字符: 4

错误: 'Ext.get(...)' 为空或不是对象

相关推荐

Global site tag (gtag.js) - Google Analytics