博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSH整合
阅读量:5280 次
发布时间:2019-06-14

本文共 4705 字,大约阅读时间需要 15 分钟。

软件152 彭梦月

 

先是struts2和hibernate的配置

web.xml:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version=
"2.5" 
xmlns=
"http://java.sun.com/xml/ns/javaee"
    
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
    
xsi:schemaLocation="http:
//java.sun.com/xml/ns/javaee
    
http:
//java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    
<!-- structs2的配置 -->
    
<filter>
        
<filter-name>struts2</filter-name>
        
<filter-
class
>
            
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-
class
>
    
</filter>
 
    
<filter-mapping>
        
<filter-name>struts2</filter-name>
        
<url-pattern>/*</url-pattern>
    
</filter-mapping>
 
</web-app>
 然后在src下添加一个struts.xml:
 然后在src下添加一个hibernate.cfg.xml:(这是一些数据库的配置)
sa
jdbc:jtds:sqlserver://localhost:1433;DatabaseName=LQQ
org.hibernate.dialect.SQLServerDialect
sa
net.sourceforge.jtds.jdbc.Driver
true
重点讲Spring: 1. 在src下面新建applicationContext.xml文件:
 然后在web-xml:
         
<param-name>contextConfigLocation</param-name>
        
<!--spring 的配置文件加载路径-->
          
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
2.Spring基本配置完毕

下面我们测试下:src建个test包

建两个类User和SpringTest类:

public class User implements java.io.Serializable {    /**     *      */    private static final long serialVersionUID = 1L;    private String username;    private String allname;    private String address;    public String getUsername() {        return this.username;    }    public void setUsername(String username) {        this.username = username;    }    public String getAllname() {        return this.allname;    }    public void setAllname(String allname) {        this.allname = allname;    }    public String getAddress() {        return this.address;    }    public void setAddress(String address) {        this.address = address;    } public class SpringTest {
    
public 
static 
void 
main(String[] args) {
        
// 加载spring配置文件,初始化IoC容器
        
ApplicationContext ac =
new 
ClassPathXmlApplicationContext(
                
"applicationContext.xml"
);
        
// 从容器 接管Bean
        
TUser user = (TUser) ac.getBean(
"TUser_id"
);
        
// 输出欢迎信息
        
System.out.println(
"Hello:" 
+ user.getUsername() +
";u is in "
                
+ user.getAddress() +
" ; and u is  " 
+ user.getAllname());
    
}
}
<br><br>
在applicationContext.xml中配置一个bean,在xml中增加如下代码:
<!-- 这是个例子  可以先不要 -->
  <bean id=
"TUser_id" 
class
=
"test.TUser"
>
        
<property name=
"username" 
value=
"你"
></property>
        
<property name=
"allname" 
value=
"李"
></property>
        
<property name=
"address" 
value=
"重庆市"
></property>
    
</bean>

运行main方法后

控制台出现:Hello:你;u is in 重庆市 ; and u is  李

下面开始整合

1.整合struts2配置web.xml文件。在web.xml中加入以下代码:

<!-- Spring与Struts的整合其实就是把Struts的Action类交给Spring来管理 -->

<listener>
    
<listener-
class
>
        
org.springframework.web.context.ContextLoaderListener  
    
</listener-
class
>
</listener>

2.举个例子:

  把struts的action交给spring:

  先把 

<action name="login" class="test.LoginAction ">

改为

<action name="login" class="loginAction_id">

 

然后在

在applicationContext.xml中增加如下代码:

 

<bean id="loginAction_id" class="test.action.LoginAction" scope="prototype">

</bean>

在applicationContext.xml中增加如下代码:

 <!-- 配置sessionFactory -->
 
 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
 
     <property name="configLocation">
 
         <value>classpath:hibernate.cfg.xml<alue>
 
     </property>   
 
 </bean>   
  还有个例子上的配置:
<bean id=
"sessionFactory"
        
class
=
"org.springframework.orm.hibernate3.LocalSessionFactoryBean"
>
        
<property name=
"dataSource" 
ref=
"dataSource"
></property>
        
<property name=
"hibernateProperties"
>
            
<props>
                
<prop key=
"hibernate.dialect"
>org.hibernate.dialect.SQLServerDialect</prop>
                
<prop key=
"hibernate.show_sql"
>
true
</prop>
            
</props>
        
</property>
        
<property name=
"mappingResources"
>
            
<list>
    
                    <value>sedion/xq/bean/User.hbm.xml</value><!--这里是将映射文件加载-->
            
</list>
        
</property>
 
    
</bean>

2.然后DAO层匹配一个session工厂,<ref bean="sessionFactory"/>这个sessionFactory是指session工厂的ID。

<bean id="userDao" class="sedion.xq.dao.iml.UserDAOImpl" scope="singleton">

<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>

3.service层注入DAO层

<bean id="userService" class="sedion.xq.sevice.iml.UserServiceImpl">

<property name="userDAO" ref="userDao"></property>
</bean>
然后就是各个action注入service层:(随便写个)

<bean id="saveUesrAction" class="sedion.xq.action.user.SaveUserAction"

scope="prototype">
<property name="userService" ref="userService"></property>
</bean>
整合就这样好

 

转载于:https://www.cnblogs.com/pmy7/p/7093236.html

你可能感兴趣的文章
LeetCode: Anagrams 解题报告
查看>>
用cookie登录慕课网络教学中心刷评论
查看>>
Qt 中获取本机IP地址
查看>>
基本数据类型(int, bool, str)
查看>>
070102_赌博设计:概率的基本概念,古典概型
查看>>
IT人生的价值和意义 感觉真的有了
查看>>
Linux命令之df
查看>>
JS DOM对象
查看>>
python正则表达式
查看>>
OGR – Merging Multiple SHP files
查看>>
创业公司该不该被收购?(转)
查看>>
sqlserver 行转列、列转行[转]
查看>>
【IScroll深入学习】解决IScroll疑难杂症
查看>>
python 数据类型
查看>>
108-PHP类成员protected和private成员属性不能被查看数值
查看>>
ajax post data 获取不到数据,注意contentType
查看>>
css控制height充满浏览器视口
查看>>
Linux 系统目录结构
查看>>
servlet中 getRealPath deprecated(被废弃)
查看>>
招聘,项目管理相关
查看>>