SSH整合的基本步骤
1、 Spring向下整合Hibernate(DAO层)
1.1使用Spring的IoC容器创建sessionFactory
1.2使用Spring的IoC容器创建DAO
2、 Spring中间管理业务层
2.1使用Spring的IoC容器创建Biz Bean
2.2使用Spring的AOP配置业务层事务
3、 Spring向上整合Struts2(控制层)
3.1配置监听器和上下文参数
3.2使用Spring的IoC容器来管理Action
4、 其他
4.1使用Spring提供的过滤器解决中文乱码问题
4.2使用Spring提供的OpenSessionInViewFilter解决懒加载问题
4.3使用Spring的IoC容器管理数据源
16.并行操作下数据库事务出现的问题及含义;事务的隔离级别和四大属性
1、并行操作下数据库事务出现的问题:
脏读(Dirty read):脏读发生在一个事务读取了被另一个事务改写但还未提交的数据时.如果这些改变在稍后被回滚,那么第一个事务读取的数据就是无效的.
不可重复读(Nonrepeatable read):不可重复读发生在一个事务执行相同的查询两次或两次以上,但每一次查询结果都不相同.这通常是由于另一个并发事务在两次查询之间更新了数据.
幻读(Phantom read):幻读和不可重复读相似.当一个事务(T1)读取几行纪录后,另一个并发事务(T2)插入一些数据,幻读就发生了.在后来的查询中,第一个事务(T1)就会发现一些原来没有的额外纪录.
2、事务的隔离级别
READ_UNCOMMITTED允许你读取还未提交的改变了的数据.可能导致脏读,幻读或不可重复读.
READ_COMMITTED允许在并发事务已经提交后读取,可防止脏读,但幻读和不可重复读仍可能发生.
REPEATABLE_READ对相同字段的多次读取结果是一致的,除非数据被事务本身改变.可防止脏读和不可重复读,但幻读仍可能发生.
SERIALIZABLE完全服从ACID的隔离级别,确保不发生脏读,不可重复读和幻读.这在所有隔离级别中也是最慢的,因为它是通过完全锁定在事务中涉及的数据表来完成的.
3、事务的四大属性设置
事务的传播特性PROPAGATION:
v REQUIRED: 如果存在一个事务,则支持当前事务。如果没有事务则开启。
v SUPPORTS: 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。
只读特性readonly=”true”
v 只读事务。如果一个事务只对数据库执行读操作,设为只读事务可以提高效率
隔离级别特性isolation="DEFAULT"
v 事务的隔离级别。并行情况下保证事务的完整性。
超时特性timeout="-1"
v 事务的超时时间。超时则事务回滚。
17.手动搭建Web项目,手动搭建SSH环境
1、安装Tomcat
安装版:只适用Windows,会自动安装Window服务
解压版:适合于其他操作系统,安装完毕后需要配置环境变量,并可以添加成Window服务
建议安装解压版,了解Tomcat的启动过程
2、配置Tomcat
JAVA_HOME D:\java\jdk1.6.0_18
CATALINA_HOME: D:\java\tomcat60
3、启动和关闭Tomcat
startup.bat shutdown.bat
4.安装Eclipse
解压即可
5、手动创建Web项目
1、classes
2、lib
3、jsp
4、java
5、web.xml
6、servlet
6、手动部署Web项目
方式1:在WebApps下创建一个文件夹,并把WebRoot下所有内容复制到该目录下
方式2:在server.xml的host标签中配置如下内容<Context path="/jbm"
docBase="D:\java\Workspaces\jbmessage_java\WebRoot"reloadable="true"></Context>
7、搭建Hibernate环境并测试
1.添加jar
2.添加hibernate.cfg.xml
3.添加HibernateUtil.java
4.创建实体类和映射文件
5.在hibernate.cfm.xml中添加映射文件路径
6.编写测试类测试hibernate(需要添加slf-logging.jar)
8、搭建Struts2环境并测试
1.添加jar
2.在web.xml中配置总控制器
3.添加struts.xml
4.创建Action和JSP
5.配置struts.xml
6.测试Struts2
9、搭建Spring环境并测试
1.添加jar
2.创建applicationContext.xml
3.测试IoC
转载于:https://blog.51cto.com/suyanzhu/1561378