SSH整合

SSH整合


加入IT软件技术讨论QQ千人群:228249641点击专注于软件行业



一:hibernate

1.     添加hibernate jar

a)       hibernate3.jar

b)      sqljdbc.jar

c)       hibernate-3.2/lib/*所有jar

2.     添加hibernate配置文件

a)       etc/hibernate.cfg.xml

b)      etc/log4j.properties

c)       映射文件()

                      i.             hibernate-3.2/eg/org/hibernate/auction/User.hbm.xml

d)      将实体映射文件添加至主配置文件hibernate.cfg.xml中(<mapping resource="pojo/Product.hbm.xml"/>

二:spring

3.     添加spring jar

a)       1spring-framework-2.0/dist/spring.jar

b)      2spring-framework-2.0/lib/aspectj/aspectjrt.jaraspectjweaver.jar

c)       3

                      i.             spring-framework-2.0/lib/jakarta-commons/commons-pool.jar

                    ii.             spring-framework-2.0/lib/jakarta-commons/commons-logging.jar

                 iii.             spring-framework-2.0/lib/jakarta-commons/commons-dbcp.jar

                 iv.             spring-framework-2.0/lib/log4j/log4j-1.2.14.jar

4.     添加spring主配置文件

a)       spring-framework-2.0/samples/jpetstore/annotation/WEB-INF/applicationContext.xmlsrc

b)      spring提示文件

                      i.             myeclipse工具栏window-preperences/输入xml

有个XML Catalog–Add –uri

      三个:spring-aop-2.0.xsd面向方面编程

                 spring-tx-2.0.xsd通知注册

                 spring-beans-2.0.xsd基本

 

5.     搭建三层架构

a)       先搭建dao

                      i.             接口dao

                    ii.             实现 dao.impl 继承HibernateDaoSupport实现接口定义的接口

b)      搭建biz

                      i.             接口biz

                    ii.             实现biz.impl

1.       依赖IProductDao并提供set方法

2.       实现定义的接口

6.     编辑spring主配置文件建立依赖关系(普通和数据源二选一)

a)       普通hibernate支持

<!-- 通过Hibernate的主配置文件来创建sessionFactory     

    <bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

       <property name="configLocation">

           <value>classpath:hibernate.cfg.xml</value>

       </property>

    </bean>

    -->

   

    <beanid="proDao"class="dao.impl.ProductDaoImpl">

       <propertyname="sessionFactory"ref="sessionFactory"></property>

    </bean>

   

    <beanid="proBiz"class="biz.impl.ProductBizImpl">

       <propertyname="proDao"ref="proDao"></property>

    </bean>

 

注释:注入springhibernate的封装模板类,bizbean注入 dao beandao bean注入 sessionFactory

代码中获得spring hibernate的封装模板super.getHibernateTemplate().save(product);

 

测试例子

publicvoid testSaveProduct()

    {

       BeanFactoryfactory=new ClassPathXmlApplicationContext("classpath*:applicationContext.xml");

       IProductBiz productBiz = (IProductBiz)factory.getBean("productBiz");

      

       Product product =new Product();

       product.setPname("aaa");

       product.setPprice(new Double(45.56));

      

      

       productBiz.addProduct(product);

      

      

    }

 

 

b)     数据源jndi配置

<beanid="myds"class="org.apache.commons.dbcp.BasicDataSource">

       <propertyname="driverClassName">

          <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>

       </property>

       <propertyname="url">

          <value>jdbc:sqlserver://localhost:1433;databaseName=db_ssh</value>

       </property>

       <propertyname="username">

          <value>sa</value>

       </property>

       <propertyname="password">

          <value></value>

       </property>

     </bean>

     

     

     <beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

       <propertyname="dataSource"ref="myds"></property>

       <propertyname="hibernateProperties">

          <props>

              <propkey="hibernate.show_sql">true</prop>

              <propkey="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>

              <propkey="hibernate.hbm2ddl.auto">update</prop>

          </props>

       </property>

       <propertyname="mappingResources">

          <list>

              <value>pojo/Product.hbm.xml</value>

          </list>

       </property>

       

       

     </bean>

 

到此 spring hibernate整合完毕

 

 

 

三:struts

1.     添加jarstruts-1.2.9-bin/lib/*.jar

2.     添加配置文件

a)      struts-1.2.9-bin/webapps/struts-blank/struts-blank/WEB-INF/struts-config.xml

3.     添加web.formsweb.actions两个组件

a)      web.forms继承actionform

b)      web.actions继承Action dispatchAction里面有依赖业务逻辑的

private IProductBizproductBiz=null;

   

        public voidsetProductBiz(IProductBiz productBiz) {

          this.productBiz = productBiz;

                      i.             }

4.     添加页面

5.     配置主文件struts-config.xml

a)      action-mappingsactiontype类型必须为代理类org.springframework.web.struts.DelegatingActionProxy

b)      如果是dispatchAction则必须配parameter=”command”

6.     将真实的Action配置在applicationContext.xml

<beanname="/productAction"class="web.actions.ProductAction">

       <propertyname="productBiz"ref="productBiz"></property>

    </bean>

 

7.web.xml里配置拦截器

 

<servlet>

       <servlet-name>action</servlet-name>

       <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

       <init-param>

           <param-name>config</param-name>

           <param-value>/WEB-INF/struts-config.xml</param-value>

       </init-param>

      

       <load-on-startup>2</load-on-startup>

    </servlet>

   

    <servlet-mapping>

       <servlet-name>action</servlet-name>

       <url-pattern>*.do</url-pattern>

    </servlet-mapping>

 

8.配置监听器

 

<context-param>

       <param-name>contextConfigLocation</param-name>

       <param-value>classpath:applicationContext.xml</param-value>

    </context-param>

    <listener>

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

    </listener>

 

或者

配置插件

<plug-inclassName="org.springframework.web.struts.ContextLoaderPlugIn">

           <set-propertyproperty="contextConfigLocation" value="classpath*:applicationContext.xml"/>

      </plug-in>

 

 

总结:

1. 页面:页面里action表示访问哪个Action类,前面不加/

例子:

<formaction="productAction.do?command=addProduct"method="post">

       产品名称:<inputtype="text"name="product.pname"><br/>

       产品价格:<inputtype="text"name="product.pprice"><br/>

       <inputtype="submit"value="提交">

</form>

 

 

 

2.struts配置文件中:

<form-beans>

    <form-beanname="productForm"type="web.forms.ProductForm">

</form-bean>

</form-beans>

 

<action-mappings>

    <actionpath="/productAction"name="productForm"type="org.springframework.web.struts.DelegatingActionProxy"parameter="command">

       <forwardname="success"path="/ok.jsp"></forward>

       <forwardname="error"path="/error.jsp"></forward>

    </action>

</action-mappings>

 

action标签里

path 指的是:访问该actionurl路径,前面必须加 /name 指的是:该action所用到的actionform,没有表单则不配。

type 指的是:spring对该action用封装的代理类。

parameter 指的是:分发式action的要执行哪个方法的参数。

 

spring配置文件里

      <beanname="/productAction"class="web.actions.ProductAction">

       <propertyname="productBiz"ref="productBiz"></property>

    </bean>

 

解说:在spring里配置action必须用name属性,值指的是:struts配置文件中该actionpath属性,前面必须加  /

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值