spring+Hibernate+struts2的整合

第一步:spring+Hibernate

1:拷贝依赖的jar:注意在拷贝数据库连接池驱动,mysql驱动包

spring+Hibernate+struts2的整合_第1张图片spring+Hibernate+struts2的整合_第2张图片

2:拷贝db.properties文件,在application.xml中引入该文件,并配置数据库连接池对象DataSource

3:配置SessionFactory并引入DataSource

4:关联映射文件

5:配置dao

6:  配置事务管理器

具体配置下文章最后,更对看spring文档(ORM那一节)


1:拷贝依赖的jar包

2:

spring+Hibernate+struts2的整合_第3张图片spring+Hibernate+struts2的整合_第4张图片

ps :记得拷贝servlet-api-jar  注意javassist这个包有没有重复

3:配置前端控制器,编写action,然后把action配置到application.xml中,然后再struts.xml中引用



4;  部署项目到tomcat服务器 (在tomcat安装路径下的server.xml的host下 

5:web.xml中配置监听器(在这个源码中有个contextLoader中有个属性contextConfigLocation就是配置上下文配置的加载路径的)

6:配置从哪里加载上下文配置文件(application.xml),默认是在WEB-INF下寻找。

spring+Hibernate+struts2的整合_第5张图片

ps:再有两个的包时候要留下的是hibernate中的,不然会报错。

osiv模式的配置(解决no session的问题)

spring+Hibernate+struts2的整合_第6张图片

notice:OSIV必须配置在前端控制器的前面,不然不起作用,还会包Nosession的错误

这个与fiter的过滤器以及与struts2的dispatcher转向视图有关系,如果将openSessionInView配置在struts2的后面,那么根据先进后出的原则,openSessionInView会比struts2的filter先执行完,那么在struts2的filer(dispatcher)会根据相应的结果返回相应的视图,此时就出现了问题了,因为渲染页面的时候,session已经关闭了,会导致程序报错!!

前端控制器的作用;解析请求的url然后根据名字,去配置中找到相应的action执行并跳转到相应的视图。

最后附上几个配置文件:

application.xml




	
	
	
	
	
       
            
            
            
            
    
    
    
    
    
          
          
          
             hibernate.dialect=org.hibernate.dialect.MySQLDialect
             hibernate.show_sql=true
             hibernate.hbm2ddl.auto=update
          
          
          
          
          
          
     
     
     
     
     		
     
     
     
     
     	
     		
     		
     		
     		
     	
     
     
     
     
     	
     	   
     
     
     
	
	
		
	
	
	
	
		
	
	
	
	
		
	     

struts.xml






    
    

    
        
        	/WEB-INF/views/employee/list.jsp
        
    

web.xml



	
	
	
	
		contextConfigLocation
		classpath:applicationContext.xml
	
	
     
  	 
        OSIV
        org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
    

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

    
        struts2
        /*
    
    


你可能感兴趣的:(ssh)