SSH整合

maven项目web3.0配置



	org.apache.maven.plugins
	maven-compiler-plugin
	3.7.0
	
		1.8
		1.8
		UTF-8
	





右键项目--》buildpath--》

SSH整合_第1张图片

注意:先修改成3.1apply后再把√√上,再apply一次

1、SSH导入所需要的jar依赖

pom.xml(注意版本兼容)


	4.0.0
	com.zking
	1106_ssh
	war
	0.0.1-SNAPSHOT
	1106_ssh Maven Webapp
	http://maven.apache.org
	
		5.2.12.Final
		5.1.44
		5.0.1.RELEASE
		2.5.13
		1.7.7
		2.9.1
		3.2.0
		4.12
		4.0.0
		1.2
		1.1.2
		8.0.47
	
	
		
		
			org.hibernate
			hibernate-core
			${hibernate.version}
		

		
			org.hibernate
			hibernate-c3p0
			${hibernate.version}
		

	
		org.hibernate
		hibernate-ehcache
		${hibernate.version}
	

	
		mysql
		mysql-connector-java
		${mysql.version}
	

	
	
		org.springframework
		spring-context
		${spring.version}
	

	
		org.springframework
		spring-orm
		${spring.version}
	

	
		org.springframework
		spring-web
		${spring.version}
	

	
		org.springframework
		spring-aspects
		${spring.version}
	

	
	
		org.apache.struts
		struts2-core
		${struts2.version}
	

	
		org.apache.struts
		struts2-spring-plugin
		${struts2.version}
	

	
	
	
	
		org.slf4j
		slf4j-api
		${slf4j.version}
	
	
		org.slf4j
		jcl-over-slf4j
		${slf4j.version}
		runtime
	

	
	
		org.apache.logging.log4j
		log4j-slf4j-impl
		${log4j.version}
	

	
	
		org.apache.logging.log4j
		log4j-api
		${log4j.version}
	
	
		org.apache.logging.log4j
		log4j-core
		${log4j.version}
	

	
	
		org.apache.logging.log4j
		log4j-web
		${log4j.version}
		runtime
	
	
	
		com.lmax
		disruptor
		${disruptor.version}
	

	
	
		junit
		junit
		${junit.version}
		test
	

	
		javax.servlet
		javax.servlet-api
		${servlet.version}
		provided
	

	
		jstl
		jstl
		${jstl.version}
	
	
		taglibs
		standard
		${standard.version}
	

	
		org.apache.tomcat
		tomcat-jsp-api
		${tomcat-jsp-api.version}
	



	1106_ssh
	
		
			org.apache.maven.plugins
			maven-compiler-plugin
			3.7.0
			
				1.8
				1.8
				UTF-8
			
		
	



2、spring和hibernate整合

2.1 导入ehcache.xml
2.2 导入log4j2.xml
2.3 集成hibernate
spring.hibernate.xml中








	
	
	
	

	
	
	
	
	
	
	
	

	
	

	
	

	
	

	
	

	
	

	
	



	
	
	
		
	
	
	
		
			org.hibernate.dialect.MySQLDialect
            
			true
			true
		
	
	
	
		
			com/zking/book/entity/Book.hbm.xml
		
	





	
	





	




	
		
		
		

		
		

		
		

		
		
		
		

		
	




	
	
	
	
	
	





	





	






spring-context.xml中




	
	


注:baseDao继承HibernateDaoSupport是为了拿到hibernatetemplate
拿到hibernatetemplate是为了操作数据库,比如调用save、update、load方法等

biz的用途:service:专门用来处理业务
execution(* …Biz.(…))
–>代表了针对于以biz结尾的接口或者实现类,切入事务控制
分析:action的转账方法中,调用了biz的transfer转账方法。
biz的transfer转账方法->张三转账的delete操作,李四账户执行add操作
action层的代码如下
Transaction tx = session.beginTransaction();
account.transfer();
–>等价于
accountdao.delete();
accountdao.add();
tx.commit();
vs
Dao的用途:
execution( *…Dao.(…))
–>代表了针对于以biz结尾的接口或者实现类,切入事务控制

张三向李四转账为例,意味着:
分析:action的转账方法中,张三账户的delete操作,李四的账户执行add操作
Dao的切入方式会产生如下代码
Transaction tx = session.beginTransaction();
account.delete();
tx.commit();
Transaction tx2 = session.beginTransaction();
account.add();
tx2.commit();

1、耗性能(开了两次事务)
2、不能保持事务的一致性

web整合struts、spring

web.xm


	Archetype Created Web Application
	
	
		contextConfigLocation
		classpath:spring-context.xml
	

	
		
			org.springframework.web.context.ContextLoaderListener
		
	

	
	
		struts2
		
			org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
		
	
	
		struts2
		*.action
	

	
	
		encodingFilter
		
			org.springframework.web.filter.CharacterEncodingFilter
		
		true
		
			encoding
			UTF-8
		
	
	
		encodingFilter
		/*
	



在spring-book.xml中


	

	
	
		
	
	
		
	

--------------------- 

你可能感兴趣的:(SSH整合)