zoukankan      html  css  js  c++  java
  • java教程(五)SSH框架-配置

       前言:从这篇博客開始我将继续讲述Java教程:SSH篇。主要内容环绕SSH框架分析与搭建,今天先简介一下SSH的配置。

        SSH配置顺序是: spring-->hibernate-->struts

    1. 建立web-project ,并加入Spring支持,加入JAR包时注意。aop  core web commons等包要载入。然后一直下一步就能够成功加入spring支持;

    2. 加入hibernate支持。相同注意包的选择,

         下一步中注意,选择加入到spring中(spring configuration file中)

         下一步后,选择已经存在的applicationContext.xml中(existing spring configuration file中)

         下一步后。加入之前配置好的数据源

         下一步后,注意不要创建SessionFactory

         完毕hibernate支持的加入 

    <bean id="dataSource"
      class="org.apache.commons.dbcp.BasicDataSource">
      <property name="driverClassName"
       value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
      </property>
      <property name="url"
       value="jdbc:sqlserver://localhost:1433;databaseName=SSHDemo">
      </property>
      <property name="username" value="test"></property>
      <property name="password" value="123456"></property>
     </bean>
     <bean id="sessionFactory"
      class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
      <property name="dataSource">
       <ref bean="dataSource" />
      </property>
      <property name="hibernateProperties">
       <props>
        <prop key="hibernate.dialect">
         org.hibernate.dialect.SQLServerDialect
        </prop>
       </props>
      </property>
      <property name="mappingResources">
       <list>
        <value>com/ssh/vo/Person.hbm.xml</value>
       </list>
      </property>
     </bean>

    3. 生成hibernate的vo类和 .hbm.xml文件,例如以下:配置.hbm.xml文件后,注意检查相应的属性是否和相应的表中的字段相应上:

    package com.ssh.vo;
    
         public class Person implements java.io.Serializable {
    
            // Fields
    
             private Integer id;
             private String name;
             private String password;
    
             对应属性的setter 和 getter 方法
    
         }
    
    .hbm.xml
    
    <hibernate-mapping>
        <class name="com.ssh.vo.Person" table="Person" schema="dbo" catalog="SSHDemo">
             <id name="id" type="java.lang.Integer">
                   <column name="id" />
                   <generator class="native" />
             </id>
             <property name="name" type="java.lang.String">
                  <column name="name" length="50" />
              </property>
              <property name="password" type="java.lang.String">
                   <column name="password" length="50" />
               </property>
            </class>
         </hibernate-mapping>

       再创建一个dao 

     import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
    
        import com.ssh.vo.Person;
    
        public class PersonDAO extends HibernateDaoSupport {
              public void insert(Person per){
                        this.getSession().save(per);
                       this.getSession().beginTransaction().commit();
              }
        }

    4. 再配置applicationContext.xml文件。须要为hibernateDaoSupport配置HibernateTemplate的支持。而HibernateTemplate的支持又是靠的是sessionFactory(这个是配置第2步骤中自己主动生成好的):

    <span style="font-size:18px;"><bean id="hibernateTemplate"
      class="org.springframework.orm.hibernate3.HibernateTemplate">
      <property name="sessionFactory">
       <ref bean="sessionFactory"/>
      </property>
     </bean></span>

             这样我们就将Spring与hibernate整合好了。

    5. 再将Spring配置好的hibernateTemplate注入到之前定义好的PersonDAOImpl中:

    <span style="font-size:18px;">     <bean id="personDao" class="com.ssh.dao.PersonDAOImpl">
               <property name="hibernateTemplate">   //这个属性在PersonDAOImpl中有的
                      <ref bean="hibernateTemplate"/>
               </property>
          </bean></span>
             以上的配置就能够非常好的正好Spring与hibernate,可是大家还须要測试一下是否成功。測试代码例如以下:

    <span style="font-size:18px;">public class test {
     public static void main(String[] args) {
      ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
      PersonDAOImpl pdi = (PersonDAOImpl)app.getBean("personDao");
      Person p = new Person();
      p.setName("jack");
      p.setPassword("123456");
      
      pdi.insert(p);
     }
    }</span>
       測试的过程中可能会出错,错误多半都是因为你的Jar包版本号低或是反复导入等原因导致,所以认真检查

    6. 加入struts的配置:首先加入sturts支持,生成web.xml文件。需配置web.xml文件,配置例如以下:

    <span style="font-size:18px;"><context-param>
       <param-name>contextConfigLocation</param-name>
       <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
      </context-param>
     
      <servlet>
       <servlet-name>context</servlet-name>
       <servlet-class>
        org.springframework.web.context.ContextLoaderServlet
       </servlet-class>
       <load-on-startup>1</load-on-startup>
      </servlet></span>

    7. 加入struts的form bean  和 action bean   (form bean 正常写就能够)。action bean 中配置例如以下:  

     public class PersonAction extends DispatchAction {
    
                 private PersonDAOImpl personDaoImpl;
    
                 public PersonDAOImpl getPersonDaoImpl() {
                               return personDaoImpl;
                  }
                  public void setPersonDaoImpl(PersonDAOImpl personDaoImpl) {
                               this.personDaoImpl = personDaoImpl;
                  }
                  public ActionForward insert(ActionMapping mapping, ActionForm form,
                                      HttpServletRequest request, HttpServletResponse response) {
                           PersonForm personForm = (PersonForm) form;// TODO Auto-generated method stub
                           Person per = new Person() ;
                           per.setName(personForm.getName()) ;
                           per.setPassword(personForm.getPassword()) ;
                           personDaoImpl.insert(per) ;
                           return null;
                  }
           }

     8.  配置Struts-config.xml文件:加入 struts 的 plug-in      

     <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
                   <set-property property="contextConfigLocation"
                              value="/WEB-INF/classes/applicationContext.xml" />
              </plug-in> 

           再加入:       

            <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor">
            </controller>

            以上两个配置就是为了完毕Spring与struts的集成

    9. 最后再配置applicationContext.xml文件,让Spring注入到action bean 中 : 

                    <bean name="/person"  //此处不再是id。而是name 后面的值是 struts-config.xml中 <action-mapping>中<action>的path 的值
                     class="com.ssh.struts.action.PersonAction">
                    <property name="personDaoImpl">
                             <ref bean="personDao"/>
                   </property>
             </bean>

    10.加入測试页面,进行測试。

       OK,測试成功,配置完毕了!

  • 相关阅读:
    SPOJ NSUBSTR
    一点对后缀自动机的理解 及模板
    HDU 1086 You can Solve a Geometry Problem too
    HDU2036 改革春风吹满地
    POJ 2318 TOYS
    [HNOI2008]玩具装箱TOY
    HDU 3507 Print Article
    洛谷 P1231 教辅的组成(网络最大流+拆点加源加汇)
    P3984 高兴的津津
    P2756 飞行员配对方案问题(网络流24题之一)
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7043906.html
Copyright © 2011-2022 走看看