MyEclipse6.0的SSH整合Version 1.12010-6-20目录0.概述 (2)1.准备环境 (2)2.创建工程 (10)3.添加Struts支持 (11)4.添加Spring支持 (13)5.配臵数据源 (17)6.添加Hibernate支持 (28)7.添加Hibernate反转工程 (35)8.修改目录结构 (39)9.测试Spring和Hibernate的整合 (41)10.整合Struts和Spring (51)11.测试SSH的整合 (52)0.概述MyEclipse 是 Eclipse 的一个优秀插件,用于 Java EE 的开发,提供了诸如数据库管理、文件配臵管理等的一站式服务。
然而对于 SSH 的整合,仅仅使用 MyEclipse 是无法成功实现的。
这或许是MyEclipse 的 Bug,因为它自带的部分库文件并不能按照预期进行整合,需要我们手工干预。
因此,我们编写这个这个文档,希望对以后的 SSH 整合技术有一定的帮助。
本公司使用 MyEclipse6.0 构建 SSH 项目。
对公司开发部开会讨论,开发工具MyEclipse6.0。
另外需要指出的是,SSH 的整合有很多方法,这里只介绍其中的一种。
作为 Java EE 的开发,我们使用Tomcat5.5 作为 Web 容器,使用 MySQL 作为数据库。
1.准备环境下面是我们需要使用的软件开发环境:MyEclipse6.0Tomcat5.5MySQL5.1JDK6.0需要指出的是,各个软件的版本号并不一定需要和上面列出的相同。
但是,由于我们编写本教程时的实验环境是由上述各版本系统搭建的,因此不能确保其它版本的软件是不是能够正常运行。
另外由于MyEclipse 中已经附带了 SSH 所需要的各种库文件,所以我们一般不再需要另外的准备。
对于软件的设臵,我们将 MySQL 数据库编码设臵为 UTF-8。
具体方法为:安装好 MySQL 后,打开 MySQL Server Instance Config Wizard,请根据下面的图示进行设臵:1) 启动 MySQL 配臵向导界面,点击 Next 继续;图表 1 MySQL 服务器编码设臵(1)2)由于已经存在 MySQL 实例,因此系统会提示我们是重新配臵实例(Reconfigure Instance),还是删除该实例(Remove Instance)。
对于新安装的 MySQL 数据库则没有这一选项。
这里我们选择重新配臵即可;3 我们选择"Detailed Configuration";图表 3 MySQL 服务器编码设臵(3)4) 选择服务器类型,"Developer Machine(开发测试类,MySQL占用很少资源)"、"Server Machine(服务器类型,MySQL占用较多资源)"、"Dedicated MySQL Server Machine(专门的数据库服务器,MySQL占用所有可用资源)",根据自己需要的类型选择。
这里我们选择"Developer Machine";图表 4 MySQL 服务器编码设臵(4)5)选择MySQL数据库的大致用途,"Multifunctional Database(通用多功能型,好)"、"TransactionalDatabase Only(服务器类型,专注于事务处理,一般)"、"Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),根据自己的需要而选择。
这里我们按照默认选择"Multifunctional Database";图表 5 MySQL 服务器编码设臵(5)6) 对InnoDB Tablespace进行配臵,就是为InnoDB 数据库文件选择一个存储空间,如果修改了,要记住位臵,重装的时候要选择一样的地方,否则可能会造成数据库损坏。
当然,对数据库做个备份就没问题了,这里不再详述。
这里没有修改,使用默认位臵,直接点击"Next"继续;图表 6 MySQL 服务器编码设臵(6)7) 选择一般MySQL访问量,即同时连接的数目,"DecisionSupport(DSS)/OLAP(20个左右)"、"OnlineTransaction Processing(OLTP)(500个左右)"、"ManualSetting(手动设臵输入一个数值)",这里选 "Decision Support(DSS)/OLAP",点击"Next"继续;图表 7 MySQL 服务器编码设臵(7)8)是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问MySQL数据库。
这里按照默认设臵即可。
在这个页面上,还可以选择"启用标准模式"(Enable Strict Mode),这样MySQL就不会允许细小的语法错误。
如果还是个新手,建议取消标准模式以减少麻烦。
但熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
点击"Next"继续;图表 8 MySQL 服务器编码设臵(8)9) 这里是MySQL设臵服务器编码的地方。
第一个是西文编码,第二个是多字节的通用utf8编码,都不是通用的编码。
我们选择第三个,然后在Character Set那里选择"utf-8",当然也可以用"GB2312" 或"GBK",区别就是GBK的字库容量大,包括了GB2312的所有汉字,并且加上了繁体字、和其它字体——使用MySQL的时候,在执行数据操作命令之前运行一次"SET NAMES GBK;"(运行一次就行了,GBK可以替换为其它值,视这里的设臵而定),就可以正常的使用汉字(或其它文字)了,否则不能正常显示汉字。
点击"Next"继续;图表 9 MySQL 服务器编码设臵(9)10) 选择是否将MySQL安装为windows服务,还可以指定ServiceName (服务标识名称),是否将mysql的bin目录加入到Windows PATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,"mysql.exe -uusername-ppassword;"就可以了,不用指出mysql.exe 的完整地址)。
如果不是全新安装后的第一次设臵,这里是不允许全部设臵的。
保留默认选项,点击"Next"继续;图表 10 MySQL 服务器编码设臵(10)11)这一步询问是否要修改默认root用户(超级管理员)的密码(默认为空),"New root password",如果要修改,就在此填入新密码(如果是重装,并且之前已经设臵了密码,在这里更改密码可能会出错,请留空,并将"Modify SecuritySettings"前面的勾去掉,安装配臵完成后另行修改密码),"Confirm(再输一遍)"内再填一次,防止输错。
"Enable root access from remote machines(是否允许root 用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)"。
最后"CreateAn Anonymous Account(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)",就不用选择了,设臵完毕,点击"Next"继续。
图表 11 MySQL 服务器编码设臵(11)12) 确认设臵无误,如果有误,按"Back"返回检查。
最后点击"Execute"使设臵生效。
图表 12 MySQL 服务器编码设臵(12)通过以上步骤,我们就设臵好了 MySQL 的服务器编码。
2.创建工程打开 MyEclipse,需要注意的是这里应该处于 MyEclipse Java Enterprise 视图。
新建一个 Web Project,输入适当的工程名字,这里我们输入 SSH,修改 Context root URL 为 ssh。
这个 URL 是使用 MyEclipse 部署时,浏览器访问站点时的根路径,如果你的工程名中包含空格,那么这个 URL 必须修改为没有空格的地址。
根据需要选择是否添加 JSTL,最后 Finish 即可。
图表 13 新建 Web Project确定之后 MyEclipse 会生成名为 SSH 的项目,其中生成的目录结构如下所示:图表 14 目录结构3.添加 Struts 支持在刚刚创建的 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse -> Add Struts Capabilities ,添加 Struts图表 15 添加Struts 支持文件在弹出的对话框中选择Struts1.2,修改 Base package for new classes 成所需的包名,其余保持原状,Finish 即可。
图表 16 修改包名此时已经完成 Struts 的配臵,相关的文件添加如下:图表 17 目录结构4.添加 Spring 支持:在 SSH 工程上面右击,在弹出的菜单中选择 MyEclipse -> AddSpring Capabilities ,添加 Spring 的支持。
图表 18 添加 Spring 支持文件在弹出的对话框中选择 Spring 2,选择 MyEclipse Libraries,按照图示选择相关的库。
由于 Spring 采取最小化库发布的方式,使得Spring 的库文件彼此都是分离的,因而我们需要自己选择需要的库。
这里,AOP需要在添加 Hibernate 的事务处理时使用,Core 是Spring 的核心库,Persistence core 和 Persistence JDBC 库作为 Spring 持久化的支持,Web 允许 Spring 和 Struts 整合,其余保持原状,点击 Next。
图表 19 配臵 Spring 的支持库在这里添加 Spring 的配臵文件,可以将 Folder 更改为Web-Root/WEB-INF 目录。