• 图解MyEclipse配置struts+hibernate+spring+FreeMarker【原创】


      这几天把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,老版本不好用,所以删除,换一个新版本。
      删除,换上,然后,在src下加入一个log4j.properties:
      
      内容如下:
      
      这样log4j就配好了。
      接下来是加入FreeMarker,jsp比不上,个人感觉。
      先下一个freemarker.jar,加到WEB-INF下的lib目录,然后,打开web.xml,加入如下内容:
      
      
      
      下面来点实战演习。
      切换到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。
      发布,运行,结果抛了个错
      
      还好,问题不大,找到加到WEB-INF/lib下就可以了。
      开始测试
      
      成功的话:
      
      否则:
      
      然后去数据库一看,郁闷,数据没进来,试了N久,最后发现spring里要定义个dataSource。原来sessionFactory的定义变为如下:
      
      ok,一切正常。到这里,就写完了,只是为说明怎样用MyEclipse进行快速开发,毕竟平时做项目要的是进度,还要监管质量,有了MyEclipse,确实方便不少。

  • 相关阅读:
    垃圾收集器
    垃圾回收机制算法分析
    【kinetic】操作系统探索总结(六)使用smartcar进行仿真
    【kinetic】操作系统探索总结(五)创建简单的机器人模型smartcar
    VS2015配置环境支持opencv3库(网络方法总结)
    【超级经典】程序员装B指南(转)
    shell编程-bash教程入门
    GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)
    GraduateDesign-初试APP编写(去除虚拟按键和禁止状态栏下拉)
    device_create为何可以在/sys/class/具体类/属性文件?怎么实现的
  • 原文地址:https://www.cnblogs.com/zxub/p/466682.html
Copyright © 2020-2023  润新知