MyEclipse构建SSH框架浅析

开发 后端
MyEclipse构建SSH框架是如何操作的呢?我们将会在这篇文章中向你介绍MyEclipse构建SSH框架的步骤。

MyEclipse构建SSH框架,用的是MyEclipse6.6,如果是不同版本的话,导入的Sturts或其他包的时候有一些不同。

1 、打开MyEcclipse,建立一个web Project。

2、 在工程名下点右键MyEclipse--﹥Add Sturts;添加完成后在WEB-INF文件夹下会多出一个struts-config.xml文件。知道操作Struts的人一定不会对它陌生。

3、 继续添加Spring, 同样是在工程下右键MyEclipse——﹥Add Spring... (哎呀! 现在还不晓得怎么在这里贴图片,以后研究好了再找机会补上吧)。配这个的时候有些麻烦,User Libraries要勾上,下面的框框里面的最前面四个要勾上,还有一个J2EE的,Web的,和***面Hibernate的3个要勾上。大家要看清楚了啊,一共要勾上9个勾。然后选择Copy ... 的那个单选按钮。点Next,把applicationContext.xml放在工程的web-inf文件夹下面。然后Finish。Spring也就添加完成了。

4 、添加Hibernate,这个最麻烦不过了。在添加Hibernate之前,首先要在MyEclipse里面配置数据库。点击MyEclipse右上角的MyEclipse DataBase ... 新建一个数据库连接,选好数据库种类(我用的是MySQL),配好地址和数据库名字,添上登陆名和密码,加上Jar包,才能算是配好。这是属于Hibernate里面应该讲的东西,这里就不多说了。同样MyEclipse --﹥ Hibernate...  该勾的全都勾上,Next, 这里注意要选择Spring configuration file。Next,选择Exsting Spring configuration, 在SessionFactory Id里写上 sf (这是我的习惯,你可以改成别的,只要到时候出现的时候你认得就行).Next,在BeanId里填Bean(同样是我的习惯),在下面选择你配好的数据库。Next,去掉Create SessionFactory勾,就不用写什么东西了,Finish。

5 、注意了!!!, 添加Spring一定要在添加Hibernate之前,Struts可以在任何顺序下添加。

MyEclipse的工作做完后,我们自己也要做一些工作。他毕竟不是全能。

(1)我们要手动添加commons-collections.jar commons-pool.jar,还要手动删除asm-2.2.3.jar包。写完这篇Blog之后我会上传一个实例到CSDN的下载里面,需要添加的包可以在那里面找到。至于为什么要添包删包,老师给过我们解释,我只是模糊记得好像是在用到某个方法的时候会报错。毕竟三种框架在整合的时候肯定是需要一些改动的,而且在MyEclipse6.0版本是不能同时使用SSH框架的,包会相冲突的。还好在MyEclipse6.0.1以后的版本改过来了。

(2)在web.xml文件里面添加

  1. ﹤context-param﹥  
  2.  
  3.    ﹤param-name﹥contextConfigLocation﹤/param-name﹥  
  4.  
  5.    ﹤param-value﹥/WEB-INF/applicationContext.xml﹤/param-value﹥  
  6.  
  7.   ﹤/context-param﹥  
  8.  
  9.   ﹤listener﹥  
  10.  
  11.    ﹤listener-class﹥org.springframework.web.context.ContextLoaderListener﹤/listener-class﹥  
  12.  
  13.   ﹤/listener﹥ 

(3)在struts-config.xml里面添加

  1. ﹤plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"﹥  
  2.  
  3.    ﹤set-property property="contextConfigLocation" value="/WEB-INF/bean.xml" /﹥  
  4.  
  5. ﹤/plug-in﹥ 

6、现在为止,只是基本的包和配置文件弄好了而已。其实也可以说是完成了大部分,SSH三个框架的所有功能都可以在这个工程下面使用了。是不是很爽!

7、然后开始建包吧。这里的包是指在src下面建立的类包的名字。每个人做项目可能会有不同的建包习惯,老师给过我们一种‘习惯’,个人觉得庞大了一点,虽然分工很明确,逻辑性很强,可移植性也很好,但是操作起来太麻烦。我只给我自己做项目时习惯建的包吧。

hbm(hibernate数据库方向工程时导入的地方),

iface(接口类放的地方),

impl(实现类放的地方),

servlet(虽然有Struts的Action,但是有时候还是可以用到自己写的Servelt的)

struts,struts.action,struts.form(Struts自己生成的包)

page(写分页类的地方)

还有其他包就看各自的需求了。

8、开始正式写代码。这个工作就不能由我提大家完成了。

!!!写代码时候要特别注意的地方:

(1)在Struts的配置文件struts-config.xml里,每添加一个Action都要把type修改为org.springframework.web.struts.DelegatingActionProxy

(2)每一个Action都要在Spring的配置文件applicationContext.xml对应有一个Bean。

Bean的名字不能用Id,要用name属性代替而且值必须是Action的路径,一定要加上斜杠。例如name="/myAction".

这两点要多看几变,刚开始熟悉SSH框架的时候经常会忘记这一步(我就是这样)。

(3)在涉及关系表的查询的时候(都用到SSH框架了,怎么可能没有多表查询)还要一些优化。

在通过某个表查找另外一个表的时候,Hibernate不会查找出来。我们可以通过修改Hibernate某个表的延迟加载去掉,Lazy="false";这样Hibernate就可以查到了。但是如果有很多级关联的表,它也会一并查出来,不管你有没有用到。这样的性能会很低下,这是最简单的方法,也是老师最抵制的一种方法。Spring有一个类可以使Hibernate的多表查询变得更优化。当你需要查到某个表时它就帮你查出来,否则它就不查(难道这就是传说中的人工智能!!!)。具体做法:

1)在web.xml里面加上

  1. ﹤filter﹥  
  2.  
  3.   ﹤filter-name﹥hibernateFilter﹤/filter-name﹥  
  4.  
  5.   ﹤filter-class﹥org.springframework.orm.hibernate3.support.OpenSessionInViewFilter﹤/filter-class﹥  
  6.  
  7.  ﹤/filter﹥  
  8.  
  9.  ﹤filter-mapping﹥  
  10.  
  11.   ﹤filter-name﹥hibernateFilter﹤/filter-name﹥  
  12.  
  13.   ﹤url-pattern﹥*.do﹤/url-pattern﹥  
  14.  
  15.  ﹤/filter-mapping﹥ 

2)不需要开始在Struts配置文件struts-config.xml里的那段了,删了它

  1. xx﹤plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"﹥  
  2.  
  3. xx ﹤set-property property="contextConfigLocation" value="/WEB-INF/bean.xml" /﹥  
  4.  
  5. xx﹤/plug-in﹥ 

3)在Spring的配置文件applicationContext.xml里面添加事物注

开头的地方添加

  1. xmlns="http://www.springframework.org/schema/beans" 
  2.  
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  4.  
  5. xmlns:aop="http://www.springframework.org/schema/aop"   
  6.  
  7. xmlns:tx="http://www.springframework.org/schema/tx" 
  8.  
  9. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd   
  10. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd   
  11. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"﹥ 

再在后面添加

  1. ﹤bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"﹥  
  2.  
  3. ﹤property name="sessionFactory" ref="sessionFactory"﹥﹤/property﹥  
  4.  
  5. ﹤/bean﹥  
  6.  
  7. ﹤tx:annotation-driven transaction-manager="txManager"/﹥ 

这样就可以查找了,但添加的时候会报错。

要在所有的增加、删除、修改的方法里面加上@Transactional(readOnly=false)

如果有父类,那么就在父类BaseImpl的增加、删除、修改的方法里面加上@Transactional(readOnly=false)

呼~,终于完工了。希望没有遗漏什么东西。这是我***篇技术文章,如果有什么错误希望能有所指正。如果对各位有帮助,也希望大家多多鼓励。

我会上传一个SSH框架的HelloWorld的例子。如果有什么不明白的地方可以在CSDN上下载了参考。

PS. 例子已经上传到http://download.csdn.net/source/1176598

注意:这个里面只有代码,没有jar包。整个例子有三十多M,csdn只能上传15M的东西,所以我把lib文件夹的.jar包全部删了再传上去的。需要添加的commons-collections.jar和 commons-pool.jar包我也打包在一起了。数据库的文件也在。是从MySQL导出来的.sql文件。大家可以自己导入自己的数据库。如果是不同的数据库,代码和需要需要导入的JDBC驱动包有所不同。

MyEclipse构建SSH框架就向你介绍到这里,希望对你有帮助。

【编辑推荐】

  1. MyEclipse+Flex+Blzeds入门浅谈
  2. MyEclipse Flex环境配置详解
  3. MyEclipse下CVS应用浅析
  4. MyEclipse CVS配置详解
  5. MyEclipse Tomcat配置详解
责任编辑:仲衡 来源: 百度空间
相关推荐

2009-07-14 13:14:13

2009-07-09 18:16:33

MyEclipse优化

2009-07-10 17:47:47

MyEclipse打包

2009-07-14 10:47:47

MyEclipse J

2009-07-14 11:34:42

MyEclipse断点JavaScript

2009-07-14 14:28:31

MyEclipse E

2009-07-15 10:43:37

MyEclipse D

2009-07-15 13:08:25

MyEclipse C

2009-07-14 10:13:38

MyEclipse优化

2009-07-14 17:31:34

MyEclipse提示

2009-07-14 13:55:24

MyEclipse S

2009-07-10 18:02:05

MyEclipseMySQL

2009-06-02 14:09:37

myeclipse smyeclipse开发myeclipse

2009-07-09 18:36:50

MyEclipse 6

2009-07-14 14:18:41

Myeclipse E代码提示

2009-07-10 16:27:29

Eclipse和MyE

2009-07-14 15:42:38

MyEclipse开发

2009-07-10 16:20:06

MyEclipse D

2009-07-14 14:48:37

MyEclipse开发

2009-07-10 10:38:00

SVN插件Myeclipse7.
点赞
收藏

51CTO技术栈公众号