`
fangang
  • 浏览: 876420 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
311c4c32-b171-3767-b974-d26acf661fb2
谈谈用例模型的那些事儿
浏览量:38614
767c50c5-189c-3525-a93f-5884d146ee78
一次迭代式开发的研究
浏览量:68792
03a3e133-6080-3bc8-a960-9d915ed9eabc
我们应当怎样做需求分析
浏览量:409820
753f3c56-c831-3add-ba41-b3b70d6d913f
重构,是这样干的
浏览量:91338
社区版块
存档分类
最新评论

一个dwr+spring+hibernate的示例

    博客分类:
  • dwr
阅读更多

这是一个运用dwr+spring+hibernate这样一个框架编写的示例。它展示了一下内容:

1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。

2、在dwr中如何与spring兼容,调用bus中的方法;在dwr中如何与hibernate兼容,在页面端操作值对象,以及处理值对象间的各种关系。

3、如何在spring中实现单dao,使这个单dao既可以与hibernate隔离,使其低耦合高内聚,提高可维护性,又能满足各个bus的业务需要,简化开发的过程。

不是美工,界面比较外行,见谅了:)

示例在MyEclipse中安装部署的步骤:

1、创建一个新的web项目并拷贝示例中的文件到项目中。注意web.xml文件应当是将原文件覆盖。

2、添加spring和hibernate。点击项目树中的项目名按Alt+Enter键,弹出项目属性对话框。选择“Java Build Path”中的“Libraries”标签,然后点击“Add Library”按钮,选择“MyEclipse Libraries”,点击“Next”,选择“Hibernate 3.0 Core Libraries”、“Spring 1.2 AOP Libraries”、“Spring 1.2 Core Libraries”、“Spring 1.2 ORM/DAO/Hibernate Libraries”、“Spring 1.2 Web Libraries”,点击“Finish”按钮。

3、点击“Add External JARs”按钮,添加dwr.jar、daosupport.jar、hxtg.jar、hibernate3(必须将hibernate3升级到3.2以上)以及其它数据库相关的jar包到项目中。添加完成以后记得重新部署应用服务器。

4、创建数据库实例,如果是oracle,在pl/sql中运行示例中的employee.sql创建数据库对象。

5、修改ApplicationContext-hibernate.xml中datasource的连接属性为你的数据库。部署完成!

部署完成后运行可能会在部分功能中出错。这些问题的解决我会在《DWR帮助说明-dwr的bug及其解决方法》中详细讨论。

重要提示:部署完成以后需要打开Department.hbm.xml和Employee.hbm.xml,修改schema="TEST"为你自己的用户名。

相关文档:

如何在struts+spring+hibernate的框架下构建低耦合高内聚的软件

DWR帮助文档-dwr.xml文件的配置

DWR帮助说明-如何编写通用的列表显示框

DWR帮助说明-如何编写通用的单行编辑框

DWR帮助说明-服务器端程序的编写

DWR帮助说明-dwr的bug及其解决方法

  • employee.rar (2.6 MB)
  • 描述: 重新修订了一下
  • 下载次数: 8896
分享到:
评论
54 楼 fangang 2012-05-09  
lwqenter 写道
楼主,有两个问题想请教你:
1.现团队采用jquery+spring+hibernate框架,但团队里的开发人员做出来的页面都很丑,而且开发效率很低,他们反映说要用jquery对js要很熟练,能帮忙分析一下是什么原因吗,因为这个项目是一个社区网站项目,对页面的用户体验设计,布局美观等要求都挺高的,
2.采用单DAO,将DAO层完全封装,这句没看明白

另外,楼主的设计模式大作什么时候出啊,现在团队的设计较差,等着跟你学习啊,后回去改造提高团队的设计能力,呵。

1.确实需要相当的功底,建议你们不要什么都自己开发,多在网上找找别人写好的东西改改。另外,最好项目组里找个大牛,搭建开发平台解决大部分问题,这样可以降低其它开发人员的技术门槛。
2.看看我的示例dwr+spring+hibernate,这个示例比较早了,用的是jdk1.4,但其中的思想同样可以应用到jdk5,jdk6,只是其中一些代码得改改

写东西不容易,写点儿好的东西实在不容易,这个得慢慢来,
53 楼 lwqenter 2012-05-09  
采用单DAO,将DAO层完全封装
fangang 写道
lwqenter 写道
楼主,我们项目现在采用的框架是jquery+spring+hibernate,从项目实施来看,这个框架不适合我们现在这个项目,你们现在用的是哪个框架,优点和缺点是什么,

jquery+dwr+spring+hibernate,jquery在页面展现方面非常突出,但前后台交互方面还弱了一些,使用dwr正好弥补了它的缺陷。

dwr简直就是自动化的mvc,它将这一层的所有操作都自动化了,你什么都不需要做,完成配置就可以了:值对象的配置、spring的配置。

采用单DAO,将DAO层完全封装,你不需要再关心数据持久的问题了。整个框架中,开发人员只需要关心2个东西,页面端的js和BUS。

----
楼主,有两个问题想请教你:
1.现团队采用jquery+spring+hibernate框架,但团队里的开发人员做出来的页面都很丑,而且开发效率很低,他们反映说要用jquery对js要很熟练,能帮忙分析一下是什么原因吗,因为这个项目是一个社区网站项目,对页面的用户体验设计,布局美观等要求都挺高的,
2.采用单DAO,将DAO层完全封装,这句没看明白

另外,楼主的设计模式大作什么时候出啊,现在团队的设计较差,等着跟你学习啊,后回去改造提高团队的设计能力,呵。
52 楼 fangang 2012-05-08  
lwqenter 写道
楼主,我们项目现在采用的框架是jquery+spring+hibernate,从项目实施来看,这个框架不适合我们现在这个项目,你们现在用的是哪个框架,优点和缺点是什么,

jquery+dwr+spring+hibernate,jquery在页面展现方面非常突出,但前后台交互方面还弱了一些,使用dwr正好弥补了它的缺陷。

dwr简直就是自动化的mvc,它将这一层的所有操作都自动化了,你什么都不需要做,完成配置就可以了:值对象的配置、spring的配置。

采用单DAO,将DAO层完全封装,你不需要再关心数据持久的问题了。整个框架中,开发人员只需要关心2个东西,页面端的js和BUS。
51 楼 lwqenter 2012-05-05  
楼主,我们项目现在采用的框架是jquery+spring+hibernate,从项目实施来看,这个框架不适合我们现在这个项目,你们现在用的是哪个框架,优点和缺点是什么,
50 楼 xiaoqiang01 2008-08-28  
楼主啊,看到您发表的好多好文章,无私的奉献,感谢您
49 楼 qing520shan 2008-07-23  
你好 我根据你的指示 咋报错啦 请帮忙解答一下 谢谢
[main] INFO  org.springframework.web.context.support.XmlWebApplicationContext  - Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [departmentBus,employeeBus,springContext,daoSupport,genericDao,dataSource,sessionFactory,transactionManager,transactionManagerJDBC,transactionInterceptor,defaultTxAttributes,InvoiceTxAttributes,beanNameAutoProxyCreator]; root of BeanFactory hierarchy
77   [main] INFO  org.springframework.web.context.support.XmlWebApplicationContext  - 13 beans defined in application context [Root WebApplicationContext]
822  [main] INFO  org.springframework.web.context.support.XmlWebApplicationContext  - Bean 'beanNameAutoProxyCreator' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2265 [main] ERROR org.springframework.web.context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'departmentBus' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-bus.xml]: Cannot resolve reference to bean 'genericDao' while setting bean property 'dao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericDao' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'daoSupport' while setting bean property 'daoSupport'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericDao' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'daoSupport' while setting bean property 'daoSupport'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:707)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:400)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-7-23 16:46:36 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'departmentBus' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-bus.xml]: Cannot resolve reference to bean 'genericDao' while setting bean property 'dao'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericDao' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'daoSupport' while setting bean property 'daoSupport'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'genericDao' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'daoSupport' while setting bean property 'daoSupport'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'daoSupport' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in file [E:\javaprogram\apache-tomcat-6.0.16\webapps\employee\WEB-INF\classes\ApplicationContext-hibernate.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/htxx/demo/model/Department.hbm.xml]] does not denote a directory
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:707)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:400)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:182)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1054)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:863)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:382)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:283)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:252)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:190)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2008-7-23 16:46:36 org.apache.catalina.core.StandardContext start
48 楼 jiaweidong_2008 2008-07-22  
为什么按您的修改后还是不能分页,func是个什么函数,源代码在那里可以看到?
现在只是显示了第一页的数据12条,点击下一页,跳到首页跳到尾页都弹出提示框,显示“ERROR”!
47 楼 lengyue 2008-05-21  
正在整理dwr的东西,有时间与lz交流
46 楼 fangang 2008-05-14  
shim 写道
员工页面老提示'sex'为空或不是对象的,但数据库表sex字段是有值的

在emplpyee.jsp的edit()里加一段调试函数:alertValue(vo);看看传过来的vo中是否有sex属性
45 楼 shim 2008-05-14  
fangang 写道
shim 写道
谢谢分享,学习一下
不过我添加了21个部门都还没分页
没找到分页设置的地方哦

还有,holly-x.gif图标貌似显示隐藏用的。
但没效果啊

抱歉,有个小小的BUS所以分页失效,在/WebRoot/department/index.jsp中47行,把if(condition){condition=iniCondition;}改为if(!condition){condition=iniCondition;}就可以了。员工列表是正确的,你也可以参照它。
这里我添加了个默认设置iniCondition,它的定义在../hxtg/public/dwr/util.js中。如果要为每个页面单独设置,可以这样写:
if(!condition){condition={properties:[],operators:[],values:[],page:1,size:12};}
其它都照写,把size改为你需要的每页行数就可以了


还有问题哦,condition=iniCondition应该是condition=iniConditions吧,

还有

员工页面老提示'sex'为空或不是对象的,但数据库表sex字段是有值的
44 楼 guo_david_wei 2008-05-13  
做的很不错啊...
我也正在用这写技术做项目...
谢过
43 楼 simu100 2008-05-12  
太好了
学习中
42 楼 fangang 2008-05-12  
shim 写道
谢谢分享,学习一下
不过我添加了21个部门都还没分页
没找到分页设置的地方哦

还有,holly-x.gif图标貌似显示隐藏用的。
但没效果啊

抱歉,有个小小的BUS所以分页失效,在/WebRoot/department/index.jsp中47行,把if(condition){condition=iniConditions;}改为if(!condition){condition=iniConditions;}就可以了。员工列表是正确的,你也可以参照它。
这里我添加了个默认设置iniConditions,它的定义在../hxtg/public/dwr/util.js中。如果要为每个页面单独设置,可以这样写:
if(!condition){condition={properties:[],operators:[],values:[],page:1,size:12};}
其它都照写,把size改为你需要的每页行数就可以了
41 楼 shim 2008-05-09  
谢谢分享,学习一下
不过我添加了21个部门都还没分页
没找到分页设置的地方哦

还有,holly-x.gif图标貌似显示隐藏用的。
但没效果啊
40 楼 fangang 2008-05-08  
xk84123 写道
问题的原因是,dwr调用方法后,如果返回的POJO中包含延迟加载的属性,那么系统就会抛出session closed的异常。转换器我使用的是Hibernate3,如果用bean转换器的话,就失去延迟加载的意义了。

然后我在web.xml中配置了OpenSessionInViewFilter,虽然不会抛出异常了。但是我无法get设置了延迟加载的属性,返回的都是null。

一些朋友说,在return POJO之前,先把需要的属性添加到集合中或者使用Hibernate.initliz。但是这些解决方案都不够灵活,您有更好的方法吗?

如果有描述不清楚的地方还请见谅,麻烦您了。


你的问题可能是:hibernate的延迟加载只能在应用服务器端有效,但dwr往往要到浏览器端才会去读取值对象的属性,因此再也不可能延迟加载了。我认为解决这个问题的办法就是提前加载,也就是在应用服务器端加载,因为作为开发人员肯定知道随后的程序需要读取哪些属性。因此,我在daoSupport.jar中提供了一个方案,你可以看看com.htxx.service.dao.PreloadProps,具体的使用见我的示例中EmployeeBusImp中的这一段:
public ResultSet findEmployee(Condition condition) {
		return new PreloadProps(this.getDao().query(Employee.class, condition),
				new PreloadProxy(){
					public Object[] PreloadProperty(Object vo) {
						Employee emp = (Employee)vo;
						return new Object[]{emp.getDepartment()};
					}}
		);
	}
39 楼 fangang 2008-05-08  
bbwang8088 写道
你好,对你发表dwr演示程序很感兴趣,但是我按照你所写步骤不能运行,我的运行环境是tomcat5.5、jdk1.5。能否把你的web容器内的dwr演示程序直接给我看看,可以的话发我邮箱bbwang8088@126.com,谢谢。

这个示例是在jdk1.4下编写的,但一些朋友告诉我他们在jdk1.5下也可以运行。不知道你是什么问题,可以把错误信息挑关键的发上来。
38 楼 aguai0 2008-04-21  
希望快点回复我啊 谢谢
37 楼 aguai0 2008-04-21  
快帮帮忙 我运行你这个项目的时候 出现了<hxtg:head></hxtg:head>这个标签不能识别的 错误 是什么原因呢
我是把httx-tag.tld放在 WEB-INF下的啊
org.apache.jasper.JasperException: An exception occurred processing JSP page /department/index.jsp at line 7

4: <html>
5:   <head>
6:     <title>部门信息</title>
7:     <hxtg:head></hxtg:head>
8:    
9:     <script type='text/javascript' src='../dwr/engine.js'></script>
10:     <script type='text/javascript' src='../dwr/util.js'></script>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:515)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.servlet.ServletException: java.lang.NoClassDefFoundError
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:855)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:784)
org.apache.jsp.department.index_jsp._jspService(index_jsp.java:187)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

java.lang.NoClassDefFoundError
com.htxx.service.taglib.tags.HeadTag.doStartTag(HeadTag.java:26)
org.apache.jsp.department.index_jsp._jspx_meth_hxtg_005fhead_005f0(index_jsp.java:202)
org.apache.jsp.department.index_jsp._jspService(index_jsp.java:108)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

36 楼 beyondqinghua 2008-04-17  
LZ的DAO好象没共享吧,这才是我想看到的东西!
35 楼 echodevil 2008-03-28  
兄弟 太谢谢你了,看了你的列子 终于把我的问题解决了,郁闷了2天了

相关推荐

    Spring 2.0 + Struts 1.2 + Hibernate 3.2 + DWR 2.0 的JavaEE应用示例

    该示例使用MyEclipse 5.5 IDE用来整合四个技术(Struts 1.2, Spring 2.0, Hibernate 3.2和Ajax技术)的轻量级的JavaEE。 操作步骤如下: 1. 下载并解压之后,使用MyEclipse导入工程 2. 找到demo目录中的.sql数据库...

    DWR+EXT+SPRING+HIBERNATE较为完整的一个例子

    《DWR+EXT+SPRING+HIBERNATE:一个综合示例解析》 DWR (Direct Web Remoting)、EXT、Spring 和 Hibernate 是 Java Web 开发中的四大核心技术,它们各自在不同的领域发挥着关键作用。DWR 提供了一种在浏览器与服务器...

    dwr+spring+hibernate的示例

    1、在dwr中尝试编写的一些通用的代码,包括如何编写一个通用的列表显示框并实现分页、如何编写一个通用的单行编辑框、如何编辑一个通用的存盘和删除程序等等。 &lt;br&gt;2、在dwr中如何与spring兼容,调用bus中的方法...

    ext+json+dwr+spring+hibernate整合项目实例与相关资源

    本项目实例是关于"ext+json+dwr+spring+hibernate"的整合,这是一个常见的技术栈组合,用于创建功能丰富的Web应用程序。下面将详细解释这些技术及其整合方式。 1. **EXT**:EXT是一个基于JavaScript的富客户端框架...

    Ajax(DWR) + Spring + Hibernate + Struts整合登陆注册

    总之,这个示例是一个很好的学习资源,帮助开发者了解如何在Java Web环境中将Ajax、Spring、Hibernate和Struts结合使用,实现复杂的业务流程。通过这个案例,你可以深入理解这些框架的核心功能,以及它们在实际开发...

    hibernate+dwr+spring+jstl的demo

    【标题】"hibernate+dwr+spring+jstl的demo"揭示了这是一个结合了四个关键技术的示例项目,主要用于展示如何在Web开发中整合这些技术。这些技术分别是Hibernate(对象关系映射框架)、Direct Web Remoting (DWR)(一...

    ext2.0+Hibernate+dwr+spring列子

    综上所述,"ext2.0+Hibernate+dwr+spring列子"是一个综合性的Web开发示例,它演示了如何利用EXT2.0创建用户友好的界面,借助Hibernate处理数据库操作,通过DWR实现前后端交互,以及使用Spring框架来组织和管理整个...

    DWR+hibernate+spring未完成例子

    【标题】:“DWR+Hibernate+Spring未完成例子”揭示了这个压缩包中包含的是一个未完成的示例项目,该示例项目整合了Direct Web Remoting (DWR)、Hibernate ORM框架和Spring框架。这三者都是Java Web开发中的重要组件...

    Ext+dwr+spring做的例子程序

    【标题】"Ext+dwr+spring做的例子程序"是一个整合了三个关键技术的示例应用,主要展示了如何在Java Web开发中结合使用EXTJS(Ext)前端框架、Direct Web Remoting (DWR) 和Spring框架。这三个技术在现代企业级应用...

    struts2+spring+hibernate+dwr

    Struts2、Spring、Hibernate和DWR是Java Web开发中常用的四大框架,它们各自负责不同的功能,协同工作能构建出高效、灵活的企业级应用。在这个小实例中,开发者结合这四个框架来展示了一个完整的后端架构。 Struts2...

    Struts+Spring+Hibernate+Ajax的Demo

    在这个"Struts+Spring+Hibernate+Ajax的Demo"中,开发者使用了这些技术来创建一个功能丰富的示例应用。下面将详细阐述这四种技术以及DWR和Dojo在其中的作用。 **Struts** 是一个开源的MVC(Model-View-Controller)...

    新版SSH+DWR配置(Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6).doc

    这个配置示例是基于目前最新的技术栈,旨在提供一个高效、稳定的开发环境。 首先,我们需要了解SSH框架。SSH是Struts2、Spring和Hibernate的缩写,分别代表了MVC模式中的Action层、Service层和持久化层。Struts2是...

    Ajax(DWR) + Spring + Hibernate + Struts整合登录注册

    在Web开发领域,Java技术栈中的Ajax(DWR)、Spring、Hibernate和Struts是四个非常重要的组件,它们各自承担着不同的职责,共同构建了一个高效、灵活的Web应用程序。本项目结合了这四者,实现了一个登录注册系统,为...

    ext2+spring+hibernate+dwr.rar_dwr MenuManage.js_ext2 ja

    标题 "ext2+spring+hibernate+dwr.rar_dwr MenuManage.js_ext2 ja" 提示我们这是一个关于集成技术的项目,其中包含了ext2、Spring、Hibernate和DWR(Direct Web Remoting)四个主要组件。这个项目的具体实现是通过...

    spring+struts+hibernate+dwr+jstl_example.rar_JSTL example_dwr_dw

    标题中的"spring+struts+hibernate+dwr+jstl_example.rar"表明这是一个使用了Spring、Struts、Hibernate、Direct Web Remoting (DWR) 和JSP Standard Tag Library (JSTL)技术的示例项目。这个组合是Java Web开发中...

    struts1.2+hibernate3.2+spring2.5+dwr

    Struts1.2、Hibernate3.2、Spring2.5 和 DWR2.0 是一组经典的Java企业级开发框架组合,它们在Web应用程序开发中扮演着重要的角色。这些框架的集成为开发人员提供了强大的功能,使得后端数据管理、业务逻辑处理以及...

    sturts2+spring+hibernate+dwr2

    结合上述四个框架,"sturts2+spring+hibernate+dwr2例子"很可能是展示如何在实际项目中整合这些技术的一个示例应用。"springch01"这个文件名可能代表了关于Spring的初步章节或者配置文件,包含了Spring容器的配置,...

    Struts2+spring依赖注入+Hibernate+Dwr

    这个“Struts2+spring依赖注入+Hibernate+Dwr”的例子,是一个综合性的Web应用程序示例,旨在展示这四个技术如何协同工作。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP请求,调度控制流程,并将...

    高效率的dw+spring+hibernate分页演示例子

    这个"高效率的dw+spring+hibernate分页演示例子"提供了一个实用的示例,展示了如何将这三个框架整合起来,以实现高效的数据分页功能。 首先,让我们来逐一了解这三个技术: 1. **DWR (Direct Web Remoting)**:DWR...

    Struts2.1.6+Struts2.0+Hibernate3.1整合示例

    开发环境:Windows XP sp3、SQL Server 2005、JDK 1.6、Struts2.1.6、Spring 2.0、Hibernate...至于声明式事务部分,你可以参见另外一个资源“Spring 2.0 + Struts 1.2 + Hibernate 3.2 + DWR 2.0 的JavaEE应用示例”

Global site tag (gtag.js) - Google Analytics