牛仔褲的夏天

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

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

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

          1  在E盤建立一個(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下面測試一下吧。http://127.0.0.1:8080/sand

          7   測試的時(shí)候發(fā)現(xiàn)2個(gè)問題:
          首先,如果在/sandh/web-inf/classes下面沒有ehcache.xml這個(gè)文件,會報(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=....去掉就好了,否則會自動(dòng)把name注冊進(jìn)jndi中失敗而發(fā)出警告。

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



          posted on 2006-01-26 10:49 luckyrobbie 閱讀(813) 評論(0)  編輯  收藏 所屬分類: Struts & Hibernate
          主站蜘蛛池模板: 张北县| 手机| 阿瓦提县| 八宿县| 津市市| 平陆县| 汤阴县| 双峰县| 揭西县| 兴和县| 稷山县| 疏勒县| 鲜城| 铜川市| 柘城县| 平武县| 阆中市| 平江县| 明水县| 贞丰县| 清河县| 郴州市| 东乡| 调兵山市| 阜城县| 南城县| 灵璧县| 博罗县| 克什克腾旗| 温宿县| 洪泽县| 绿春县| 道孚县| 楚雄市| 华宁县| 沐川县| 铜鼓县| 凤台县| 临猗县| 渭南市| 潍坊市|