【Java】|SSH框架搭建整合

SSH框架在半年前开始接触、学习。学习过程都是从懵到不是很懵到最后终于局的自己明白了。框架的学习都是从开始能够搭建起来,然后就开始想研究这个框架时怎么跑的,本篇博客主要记搭建流程和基本的原理。
三大框架的搭建——
Struts2 jar包: 【Java】|SSH框架搭建整合
文章图片

配置文件: struts.xml,web.xml
配置内容:
web.xml中配置内容:struts2的核心过滤器

struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*



struts.xml中配置的内容:在代码实现中配置action的相关信息,主要是控制页面访问的。也就是说在框架搭建阶段可以没有内容。


为方便管理可以建立其他的struts-*.xml的配置文件将不同模块的action配置到不同的文件中,将这些配置文件include到struts.xml中。 Hibernate jar包: 核心包, 必须包, jpa, c3p0, jdbc
【Java】|SSH框架搭建整合
文章图片

配置文件: hibernate.cfg.xml, *.hbm.xml,(一般还包括log4j.properties)
配置内容:
hibernate.cfg.xml中的内容:
1,数据库连接信息
2,导入映射文件
3,其他配置
org.hibernate.dialect.MySQL5InnoDBDialectjdbc:mysql:///itcastoa com.jdbc.mysql.Driver 【【Java】|SSH框架搭建整合】root **** true update


Spring jar包: 核心包,依赖包(aspect下,cglib下),日志common-logging.jar
【Java】|SSH框架搭建整合
文章图片

配置文件: appicationContext.xml(配置文件可以根据不同的模块建立application*.xml,然后将他们import到application.xml文件中。)
配置内容:
未整合之前可以将spring要管理的bean先配置进来


整合—— 1、在web.xml中配置Spring的监听器 整合作用:
在启动Web容器时,自动装配Spring applicationContext.xml的配置信息。(Web容器就是我们常用的tomcat、Jboss等服务器)
具体配置:
org.springframework.web.context.ContextLoaderListener contextConfigLocationclasspath:applicationContext*.xml



原理:
tomcat启动时,ContextLoaderListener调用类中的contextInitialized方法
【Java】|SSH框架搭建整合
文章图片



2、spring和struts:在web.xml中配置Struts2 整合作用:
struts2的action被spring的IOC容器管理
具体配置:
加一个jar包:struts2-spring-plugin.jar,以过滤器的形式整合struts2容器
struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*



原理:
1、tomcat启动时会在上面的配置的StrutsPrepareAndExecuteFilter类中执行init()方法,init方法初始化配置文件这样可以注入配置文件中的bean。
2、在请求action时——
先找struts的配置文件,会找根据struts2的相关配置查找action的创建方式;
一般查找的配置文件顺序为struts-default.xml,struts-plugin.xml,struts.xml
根据配置会调用类StrutsSpringObjectFactory(在引入的jar包中)创建action,该类继承SpringObjectFactory
3、spring和hibernate:在application.xml中配置 整合作用:
1,管理SessionFactory实例(只需要一个)
2,声明式事务管理(hibernate本身的事务时手动控制的)
具体配置:
1、application.xml中配置sessionFactory
classpath:hibernate/hibernate.cfg.xml



2、配置声明式事务


3、可以配置数据库连接池的信息,原先配置在Hibernate.cfg.xml中的数据库连接可以舍弃。
日志配置 SLF4j:
JDK logging--> logging.properties
Log4j--> log4j.properties
。。。
SLF4j:
1,提供一个jar包,包含日志的标准接口:slf4j-api-1.6.1.jar
2,根据引入的另一个jar包确定使用那个日志,包括:
slf4j-log4j12-1.5.0.jar、slf4j-jdk14-1.5.0.jar等


日志打印级别——
debug调试信息
info一般信息
warn警告
error错误
fatal严重错误


整合完毕后使用 1、编写dao、service、controller
2、配置——整合完毕后就可以使用spring管理bean,可以在spring的配置文件(applicationContext)中通过配置的方法将bean注入到spring的AOP容器中,配置文件如下示例——(从dao层开始),如果配置了spring的注解可以直接在代码中使用注解,可省去以下配置。


3、编写action调用controller
4、在struts配置文件配置action
/WEB-INF/jsp/roleAction/list.jsp /WEB-INF/jsp/roleAction/saveUI.jsp /WEB-INF/jsp/roleAction/setPrivilegeUI.jsp role_list

小结: SSH框架搭建弄清楚各个框架的实现原理和大致流程整合起来思路就会很清晰了。

    推荐阅读