牛仔褲的夏天

          JAVA是藍(lán)色的- online

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            30 隨筆 :: 5 文章 :: 15 評(píng)論 :: 0 Trackbacks

          參考原文地址 http://homepage.mac.com/edahand/projects/java/example1.html

          1  在E盤(pán)建立一個(gè)目錄sandh, 然后把那個(gè)空的struts-blank.war解壓到這下面作為struts模板,把hibernate3.1里面的jar文件拷貝到/sandh/web-inf/lib下面,ehcache.xml拷貝到/sand/web-inf/src/java下面。

          2  在tomcat下配置datasource命名為jdbc/aix,然后建立一個(gè)新的context名字為sand,在sand下建一個(gè)新的資源連接jdbc/aix,作為hibernate.cfg.xml中hibernate.connection.datasouce引用值。

          3  在sybase中新建一個(gè)表item

          create table dbo.item (
          id  numeric(
          180)  identity,
          name    varchar(
          32) not null,
          description text    
          null,
          constraint PK_ITEM PRIMARY KEY  NONCLUSTERED ( id )
          )


          4  在/sandh/web-inf/src/java下面建立以下文件
          log4j.properties 
          hibernate.cfg.xml
          Item.hbm.xml
          HibernateUtil.java
          Item.java
          AddItemAction.java
          ItemService.java

          在/sandh/web-inf/src下面新建build.xml文件,然后ant compile。
          在/sandh/pages下新建AddItem.jsp文件

          5   修改/sandh/web-inf/struts-config.xml文件,內(nèi)容如下:

          <struts-config>
              
          <form-beans>
                  
          <form-bean name="addItemForm" 
                             type
          ="org.apache.struts.validator.DynaValidatorForm">
                             
          <form-property name="name" type="java.lang.String"/>
                             
          <form-property name="description" type="java.lang.String"/>
                  
          </form-bean>
              
          </form-beans>

              
          <global-forwards>
                  
          <forward name="welcome" path="/items.do"/>
              
          </global-forwards>
              
              
          <action-mappings>
                  
          <action
                  path
          ="/items"
                  type
          ="org.apache.struts.actions.ForwardAction"
                  parameter
          ="/pages/AddItem.jsp"/>
               
                  
          <action
                     path
          ="/addItem"
                     type
          ="com.fan.hibernate.AddItemAction"
                     name
          ="addItemForm"
                     scope
          ="request"
                     validate
          ="true"
                     input
          ="/pages/AddItem.jsp">
                     
          <forward name="success" path="/pages/AddItem.jsp" />
                   
          </action>
              
          </action-mappings>
              
              
          <message-resources parameter="MessageResources" null="false"/>
              
              
          <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
                 
          <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
              
          </plug-in>    
          </struts-config>



          修改/sandh/web-inf/validation.xml文件,為addItemForm增加動(dòng)態(tài)驗(yàn)證,內(nèi)容如下:

              <formset>
                  
          <form name="addItemForm">
                      
          <field property="name" depends="required">
                          
          <arg key="name" resource="false"/>
                      
          </field>
                      
          <field property="description" depends="required">
                              
          <arg key="description" resource="false"/>
                      
          </field>
                  
          </form>
              
          </formset>


          6   在tomcat下面測(cè)試一下吧。http://127.0.0.1:8080/sand

          7   測(cè)試的時(shí)候發(fā)現(xiàn)2個(gè)問(wèn)題:
          首先,如果在/sandh/web-inf/classes下面沒(méi)有ehcache.xml這個(gè)文件,會(huì)報(bào)這個(gè)錯(cuò)誤,
          No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath:.....這個(gè)文件是hibernate緩存配置文件,以后在學(xué)習(xí)。
          另外在log文件中一直發(fā)現(xiàn)這個(gè)警告:Could not bind factory to JNDI javax.naming.NamingException: Context is read only..... 網(wǎng)上查找后發(fā)現(xiàn)只要在hibernate.cfg.xml文件的<session-factory name="java:/hibernate/HibernateFactory"> 中把name=....去掉就好了,否則會(huì)自動(dòng)把name注冊(cè)進(jìn)jndi中失敗而發(fā)出警告。

          8   所有文件打包在這里
          http://www.aygfsteel.com/Files/luckyrobbie/sandh.rar 里面lib下面的文件自己添進(jìn)去吧。



          posted on 2006-01-26 10:49 luckyrobbie 閱讀(817) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Struts & Hibernate
          主站蜘蛛池模板: 海淀区| 积石山| 肃宁县| 宁阳县| 海阳市| 桂平市| 克拉玛依市| 玉屏| 绥化市| 桂阳县| 水城县| 林芝县| 綦江县| 彭阳县| 栾城县| 拜城县| 玉林市| 天峨县| 池州市| 娱乐| 兴安县| 桐城市| 房山区| 长沙市| 呼伦贝尔市| 伊金霍洛旗| 新和县| 石首市| 麻阳| 海林市| 延津县| 昆明市| 卓资县| 海丰县| 莎车县| 康乐县| 阳曲县| 化德县| 屯留县| 隆化县| 伊通|