`
djsl6071
  • 浏览: 575631 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

图解MyEclipse配置struts+hibernate+spring+FreeMarker

阅读更多
图解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,老版本不好用,所以删除,换一个新版本。
  删除,换上,然后,在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,确实方便不少。
 
分享到:
评论
1 楼 cffljx2238 2009-02-25  
         真的感谢帖主

相关推荐

    图解MyEclipse配置struts+hibernate+spring+FreeMarker.rar

    图解MyEclipse配置struts+hibernate+spring+FreeMarker.rar

    asp代码ASP基于WEB个人博客网页设计(源代码+论文+答辩)

    asp代码ASP基于WEB个人博客网页设计(源代码+论文+答辩)本资源系百度网盘分享地址

    三菱PLC例程源码打包机

    三菱PLC例程源码打包机本资源系百度网盘分享地址

    asp代码ASP基于USBKEY文件加密工具-USBkey管理系统(源代码+论文)

    asp代码ASP基于USB KEY文件加密工具——USB key管理系统(源代码+论文)本资源系百度网盘分享地址

    Android开发编码规范

    该文档是《阿里巴巴Java开发手册》的规约条目的延伸信息; 其中包含了对内容的适当扩展和解释。它提供了编码和实现方式的正例,以及需要提防的雷区和错误案例的反例。该文档面向Android开发所有成员,旨在规范化代码风格和编程习惯,并提出了针对软件调优的建议。其中包括Android资源文件命名与使用、Android基本组件、UI与布局、进程、线程与消息等方面的内容

    网络安全-逆向学习路线

    红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线红队蓝军逆向学习路线

    which-2.20.tar.gz

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    asp代码ASP基于bs在线花店系统设计(源代码+论文)

    asp代码ASP基于bs在线花店系统设计(源代码+论文)本资源系百度网盘分享地址

    基于深度学习的轨道交通客流实时分析预测系统 第二版(前端).zip

    人工智能毕业设计&课程设计

    解决端口占用netstat -ano

    解决端口占用netstat -ano

    tensorflow_onmttok_ops-0.1.1-cp35-cp35m-manylinux2014_x86_64.whl

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于深度学习框架的图像识别:手势识别。使用到:CaffeTensorFlowCNNopenCVcpppythondesign

    人工智能-深度学习-tensorflow

    Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码)

    Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目源码 驴友社交系统 客户端+ 服务器端 (源码) Andorid项目

    JAVA的GUI实现可视化学生管理系统

    JAVA的GUI实现可视化学生管理系统

    WeRoBot-1.5.0-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于ssm小区物业管理系统.zip

    基于ssm小区物业管理系统.zip

    RStudio的15个经典高效快捷操作.pdf

    RStudio的15个经典高效快捷操作

    scratch 0.3 2D我的世界

    鼠标左键:破坏攻击 鼠标右键:放置方块/使用物品 W:前进连按两下W:奔跑 S:后退 A:左移 D:右移 空格键:跳跃 左Shift:潜行 Q:丢弃物品 E:打开背包【Beta1.3版本之前打开背包键为I】 F:调整可视范围【1.8以前版本可用】 T:聊天【多人游戏可用】 双击空格:上升并飞行【创造模式可用】 创造模式飞行中左Shift:下降【创造模式可用】 F1:隐藏界面 F2:截图 F3:查看游戏信息(坐标,帧数,游戏时间,游戏占用内存,等等详细信息) F3+S:游戏无声音时切换出声音 F3+F:调整可视范围【1.8以后版本可用】 F5:第三人称模式 F8:鼠标平滑移动 F11:全屏/窗口切换 1、用石剑攻击三次苦力怕,可以使苦力怕的血量降到最低(建议前期使用,因为前期材料不多,推荐此方法)。 2、用满力(拉满力)的弓攻击苦力怕(两次),此方法简单可靠,你可以在你的屋顶实现,简单高效(建议中期使用,初期的话没有弓与箭,初期建议使用方法一)。 3、用铁剑攻击,这个方法苦力怕的残血值会比方法1高一些,可能骷髅一箭射不死,你的功劳就白费了

    tensorflow_ranking-0.2.3-py2.py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics