一、首先介绍要添加框架环境:
JUnit
Struts2
Hibernate
Spring
(1)配置JUnit
/**-------------------------添加JUnit-------------------------------*/
右击Web项目--->Build Path--->Add Libraries--->在“Add Libraries窗口选择Junit”---
--->Next--->选择版本JUnit 4
/**-------------------------完成JUnit!------------------------------*/
(2)Struts2
添加Jar
struts.xml
web.xml
/**-------------------------添加Struts-------------------------------*/
1、添加Jar,将路径struts-2.3.16-all\struts-2.3.16\apps\struts2-blank\WEB-INF\lib下的所有Jar拷贝到项目 WEB-INF下的lib下。
2、拷贝并编辑web.xml,将路径struts-2.3.16-all\struts-2.3.16\apps\struts2-blank\WEB-INF下的web.xml中配置Struts2核心的过滤器的代码拷贝到项目WEB-INF的web.xml下:
编辑web.xml:
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
3、拷贝并编辑Struts.xml,首先在项目下新建一个命名为config的Source Folder包用来存放配置文件。
将路径struts-2.3.16-all\struts-2.3.16\apps\struts2-blank\WEB-INF\src\java下的struts.xml文件拷贝到config包下。
编辑如下:
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/**-------------------------完成Struts!-------------------------------*/
(3)Hibernate
添加Jar包
主配置文件Hibernate.cfg.xml
映射文件*.hbm.xml
/**-------------------------添加Hibernate-------------------------------*/
1、 添加jar包:
添加核心包:路径hibernate-distribution-3.6.0.Final下的hibernate3.jar.
添加必须包:路径hibernate-distribution-3.6.0.Final\lib\required下的所有jar
添加jpa包:路径hibernate-distribution-3.6.0.Final\lib\jpa下的所有jar
添加可选包:路径hibernate-distribution-3.6.0.Final\lib\optional\c3p0下的所有包:
添加JDBC驱动包:
2、拷贝并配置文件hibernate.cfg.xml
搜索并拷贝hibernate-distribution-3.6.0.Final下的hibernate.cfg.xml文件和log4j.properties文件,放到项目config包下,稍后进行编辑编辑。
/p>
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
org.hibernate.dialect.MySQL5InnoDBDialect
true
update
3、拷贝并配置映射文件*.hbm.xml
搜索并拷贝hibernate-distribution-3.6.0.Final下的某*.hbm.xml文件,放到domain包下,稍后进行编辑。
/**-------------------------完成Hibernate!-------------------------------*/
(4)Spring
添加jar包
配置文件applicationContext.xml
/**-------------------------添加Spring-------------------------------*/
1、添加jar:
拷贝核心jar包,路径spring-framework-2.5.6.SEC01\dist下的spring.jar。
路径spring-framework-2.5.6.SEC01\lib\aspectj下的所有jar包:
路径spring-framework-2.5.6.SEC01\lib\cglib下的jar包
路径spring-framework-2.5.6.SEC01\lib\jakarta-commons下的jar包
2、配置文件,稍后整合时再说。
/**-------------------------完成Spring!配置文件稍后说-------------------------------*/
最后展示OA项目需要的所有jar包:
光导入这些jar包还是不足够整合SSH的,下面通过Struts2和Spring的整合,Hibernate和Spring的整合来完成SSH环境的搭建。
上文说到搭建SSH环境所需三大框架的jar包,本篇博客将通过修改配置文件整合Struts和Spring,下篇博客整合Hibernate和Spring即可完成环境搭建。
1、声明bean,新建TestAction.java,需要给类添加注解:@Controller 和 @Scope("prototype");
“使用@Controller注解标识TestAction之后,就表示要把TestAction交给Spring容器管理,在Spring容器中会存在一个名字为"testAction"的action,这个名字是根据TestAction类名来取的。
注意:如果@Controller不指定其value【@Controller】,则默认的bean名字为这个类的类名首字母小写,如果指定value【@Controller(value="TestAction")】或者【@Controller("TestAction")】,则使用value作为bean的名字。
使用@Scope注解,@Scope("prototype")表示将Action的范围声明为原型,可以利用容器的scope="prototype"来保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。spring 默认scope 是单例模式(scope="singleton"),这样只会创建一个Action对象,每次访问都是同一Action对象,数据不安全,struts2 是要求每次次访问都对应不同的Action,scope="prototype" 可以保证当有请求的时候都创建一个Action对象。”
2、添加Struts.xml内容, 在下,添加如下配置
/test.jsp
3、在web.xml中配置Spring的监听器。
org.springframework.web.context.ContextLoaderListener
contextConfigLocation
classpath:applicationContext*.xml
4、加一个整合的jar包。
Spring与Struts2的整合成功了,只需要两步,一步是添加Spring的监听器,另一方面是添加整合的jar包。
需要注意的是:要用@Controller注解标记对应表现层的Bean,也就是Action,就可把他交给Spring容器来管理了。具体的注意点上面已经说过了,很轻松就完成二者的整合了。