图解MyEclipse配置struts+hibernate+spring+FreeMarker
2006-11-23 10:37
这几天把hibernate和spring好好看了下,再想想struts的一些东西,决定把3个整合一下一起用,表现层用struts+freemarker,业务层用spring,hibernate处理持久层。在struts中,利用委托,将action的处理委托给spring进行,struts只负责页面逻辑。
前些日子下了Eclipse 3.2+MyEclipse5.0M2,感觉MyEclipse一些东西还是不错的,就用它来做个整合。 首先,建立一个web project: ![]() ![]() 然后,给新建立的项目附加上struts的一些文件: ![]() ![]() 完成后项目结构如下: ![]() 接着加入hibernate需要的文件: ![]() ![]() ![]() ![]() ![]() ![]() 完成后项目结构为: ![]() 再加入spring的文件: ![]() 注意下面的选择: ![]() ![]() ![]() 完成后可以看到: ![]() 打开那个applicationContext.xml,将 ![]() 改为: ![]() 现在还需要做一些修改,才能在运行的时候不报错,我以前也写过struts+hibernate的时候,会抛一个错,之所以是由于hibernate包含的那个xerces.jar,所以现在直接把它给删掉,没什么问题。 ![]() 在spring和hibernate那,有2个log4j.jar,老版本不好用,所以删除,换一个新版本。 删除 ![]() ![]() ![]() ![]() 内容如下: ![]() 这样log4j就配好了。 接下来是加入FreeMarker,jsp比不上,个人感觉。 先下一个freemarker.jar ![]() ![]() ![]() ![]() 下面来点实战演习。 切换到MyEclipse的hibernate视图。 ![]() 打开数据库连接: ![]() ![]() 然后,执行 ![]() ![]() 自动生成几个文件: ![]() 并且,spring的applicationContext.xml自动加入 ![]() 然后,建立ftl页面,根据前面web.xml配置的freemarker设置,需要建立如下目录 ![]() 先把页面逻辑处理下,打开struts-config.xml,然后进行如下操作 ![]() ![]() ![]() 继续加 ![]() ![]() ![]() ![]() 完成后效果如下: ![]() 下面是3个页面: ![]() ![]() ![]() ![]() 这里注意下前2行,在freemarker中用struts标签。 前面说过action委托给spring做,许要在struts那加入 ![]() 然后,action类需要修改下 ![]() 下面的setter是为spring准备的。 struts配置那的action声明需要修改一下,说明用代理: ![]() 然后在spring的applicationContext.xml加上: ![]() 注意是用name,不是id。 发布,运行,结果抛了个错 ![]() 还好,问题不大,找到 ![]() 开始测试 ![]() 成功的话: ![]() 否则: ![]() 然后去数据库一看,郁闷,数据没进来,试了N久,最后发现spring里要定义个dataSource。原来sessionFactory的定义变为如下: ![]() ok,一切正常。到这里,就写完了,只是为说明怎样用MyEclipse进行快速开发,毕竟平时做项目要的是进度,还要监管质量,有了MyEclipse,确实方便不少。 |