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

一个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+spring+hibernate的示例

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

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

    新版SSH+DWR配置(Struts2.1.8+Spring3.0+Hibernate3.3.2+DWR2.0.6) 很好的整合示例 目前最新框架整合

    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应用示例”

    一个Struts+Hibernate+Spring+DWR的小示例 [SSH+DWR]

    本示例用的是MyEclipse5.0+Sql2000+Tomcat5.0; 工程中的没有(SSH)框架所需所有JAR包,需要自己导入; db.txt为创建表语句,用的是pubs数据库 博文链接:https://yqq.iteye.com/blog/157558

    OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar

    OA办公自动化管理系统是一个基于Struts1.2、Hibernate3.0、Spring2和DWR技术栈的计算机专业JSP源码资料包。这个资料包为开发者提供了一个全面的、易于使用的、高效的办公自动化解决方案,旨在帮助企业实现信息化建设...

    SSH+URLWriter+AJAX+CKEditor+CKFinder配置示例

    其中使用了Struts2+Spring3+Hibernate3+DWR3+CKeditor3+CKFinder2等技术。 本资料主要是框架的配置文件示例。在系统中已经运行成功。 有疑问的请联系QQ四九八三5七七七九 或邮件:microsoftsun@163.com

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00 方便学生使用的工具文档 里面有比较全的经典配置文件示例 更多请见我博客 http://blog.csdn.net/shadowkiss

    AJAX 入门视频之 Ext 2.0.1 & DWR 1表格实时编辑器实例

    带用DWR 1 (不用DWR 2 是因为2个头太大了)开发的后台服务器端,没有整合Spring,JPA啊,Struts,Hibernate等等的流感框架, 这样总的代码非常的小,省得当大家接触到了一些大量的自己不熟悉的框架的时候会产生发晕的感觉,...

    Tudu Lists (a Spring application)-开源

    Tudu Lists是用于管理待办事项列表的J2EE应用程序。 它基于Spring 2.5,JPA / Hibernate和AJAX(使用DWR框架)。 它是一个简单而有效的项目管理工具,也经常用作示例Spring应用程序。

Global site tag (gtag.js) - Google Analytics