h架构个人总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“ssh框架总结”。
(转载)看过了两三个SSH搭建的视频(浪曦风中叶老师、尚学堂李勇老师的两个视频),也跟着视频把这个框架搭了两遍,有点迷迷糊糊的,为了加深印象,我决定不依靠视频再来搭一遍,经过一天的调试与处理,终于能够独立自主地把SSH框架给搭建起来了,不容易啊。
其中出现的错误以及各种各样的BUG不计其数,通过查阅文档以及Google得到了解决。这里,我就来做一个总结:
SSH框架的基本配置:
1.相关jar包的引入,这里我采用的是spring2 + struts2 + hibernate3的组合,搭完了之后才发现Spring已经到3了,不知道在Spring3上面的配置是否相同,有待尝试。
Code:
1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.-----核心jar包-----# spring.jar# struts2-core.jar# xwork-core.jar# mysql-connector-java.jar# hibernate3.jar# struts2-spring-plugin.jar-----在默认配置下核心jar所依赖的jar包---# commons-collections.jar---|# commons-fileupload.jar-----|------------这三个jar包是在jakarta-commons项目中一些# commons-logging.jar--------|基于JDK上扩展的工具包。# freemarker.jar# log4j.jar# ognl.jar# dom4j.jar# jta.jar# cglib-nodep.jar# antlr.jar------------这个jar包是spring AOP 采用 动态代理 时需要的jar包。
2.相关的配置
i)/WEB-INF/web.xml
a.需要配置一个Struts2的Filter:
Code:
1.2.3.struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
4.5.6.struts2
8.b.由于从struts2.1.3之后的版本不再建议采用
org.apache.struts2.dispatcher.FilterDispatcher,所以,我们最好
配置成StrutsPrepareAndExecuteFilter或者StrutsExecuteFilter以及StrutsPrepareFilter,需要注意的是:如果配置
成StrutsExecuteFilter需要将StrutsPrepareFilter也配置上,否则将会报错。所以建议就只直接采用StrutsPrepareAndExecuteFilter。c.此外还需要配置一个ContextListener:
Code:
1.2.3.4.5.org.springframework.web.context.ContextLoaderListener
如果你的applicationContext.xml没有配置在/WEB-INF/目录或者采用的不是默认的文件名,则还需要配置context-param,让Spring找到对应的配置文件,如下(注意:param-name的内容一定是
contextConfigLocation,Spring将根据该名称注入到相应的对象中):
Code:
1.2.3.4.
contextConfigLocation
clapath*:application-Context.xml
ii)applicationContext.xml,这个文件是比较核心的文件:
a)配置seionFactory,有两种配置方式:
(1)采用传统的Hibernate配置文件,将其映射到seionFactory中:
Code:
1.
“>
2.3.4.5. clapath:hibernate.cfg.xml 采用这种方式时,需要在hibernate.cfg.xml文件中配置数据连接相关信息,这里与一般的hibernate配置文件一样: Code: 1.3.4.5. com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/h_test 6.7.8.9.10.11.12.13.14.15. root orange org.hibernate.dialect.MySQLDialect true(2)采用seionFactory属性的方式配置数据源相关信息,如下: Code: 1.2. ”> 3.4.5.6.7.8.9.10.11.12.13.14. “> 15.16.17.18.19.20.21.22.23.24.25. org.hibernate.dialect.MySQLDialect true com/test/bean/User.hbm.xml 27.b)配置完seionFactory后,还可以根据需要配置以下三方面的内容,也可以不配置选择采用默认的方式: Code: 1.2. nManager”> 3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22. 这样就基本完成了我们的h的相关配置。 3.SSH的基本使用: 具体分工: # 在applicationContext.xml中配置相关的bean信息 Code: 1.2.3.4.5.6. 7.这里的property属性中name值对应的是相应处理类生成时需要IoC容器注入的属性,比如说id为loginAction的处 理类为com.h.action.LoginAction(它其中应当设置一个 setService(UserService service)方法),这样在需要使 用该bean时,IoC容器会调用这个setService方法来将生成的userService对象传入。 需要注意的是,如果想让IoC容器注入相应属性,则必须要实现相应属性的set方法。 # 在struts.xml中配置action的相关信息 相关注意事项: 由于所有的bean都由Spring来管理,那么在struts.xml中一个action的cla属性就不能写成具体的类,而是要使用该类在applicationContext.xml文件中配置的Bean的id,如: Code: 1.2.3.4./result.jsp/index.jsp 这个loginAction对应的就是上面的id为loginAction的bean,而这个bean的cla属性中设置的才是真正的对应的Action的处理类。 # 对于每个模型,都要有一*.hbm.xml 3.其它一些注意点: Spring中一些的概念很重要:AOP,IOC。