小菜毛毛技術分享

          與大家共同成長

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
          經(jīng)過兩天工作閑余時間的奮戰(zhàn),終于flex3+struts 1.3+spring +ibatis 2.x 整合成功,下面介紹下詳細的步驟和核心代碼:
          IDE:myeclipse
          (當然:前提是FLEX+java整合成功的情況下,關于flex+java整合的文章就比較多,google下就OK):
          1.成功整合FLEX+JAVA后,右鍵單擊項目選擇 MyEclipse---》add struts(添加STRUTS比較簡單這里就不多說了),下面貼代碼:
          (1)
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd">
          <struts-config>
            
          <form-beans />
            
          <global-exceptions />
            
          <action-mappings >
              
          <action 
              path
          ="/user" 
              type
          ="com.yinhai.struts.action.UserAction" 
               scope
          ="request"
             
          >
              
          <forward name="sucess" path="/index.jsp" />
              
          </action>
            
          </action-mappings>
          </struts-config>
          在web-info下的struts-config.xml中添加如上代碼
          (2)UserAction
           1package com.yinhai.struts.action;
           2
           3import java.io.IOException;
           4import java.io.PrintWriter;
           5import java.sql.Connection;
           6import java.sql.DriverManager;
           7import java.sql.SQLException;
           8import java.util.List;
           9
          10import javax.servlet.http.HttpServletRequest;
          11import javax.servlet.http.HttpServletResponse;
          12
          13import model.User;
          14
          15import org.apache.struts.action.Action;
          16import org.apache.struts.action.ActionForm;
          17import org.apache.struts.action.ActionForward;
          18import org.apache.struts.action.ActionMapping;
          19import org.springframework.beans.factory.BeanFactory;
          20import org.springframework.context.support.ClassPathXmlApplicationContext;
          21
          22import dao.ContextHelper;
          23import dao.UserDaoImpl;
          24
          25/** 
          26 * MyEclipse Struts
          27 * Creation date: 08-05-2009
          28 * 
          29 * XDoclet definition:
          30 * @struts.action parameter="method" validate="true"
          31 * @struts.action-forward name="fail" path="/fail.jsp"
          32 * @struts.action-forward name="sucess" path="/sucess.jsp"
          33 */

          34public class UserAction extends Action  {
          35    /*
          36     * Generated Methods
          37     */

          38
          39    /** 
          40     * Method execute
          41     * @param mapping
          42     * @param form
          43     * @param request
          44     * @param response
          45     * @return ActionForward
          46     * @throws IOException 
          47     */

          48    public ActionForward execute(ActionMapping mapping, ActionForm form,
          49            HttpServletRequest request, HttpServletResponse response)  {
          50//        ClassPathXmlApplicationContext ctxss = new ClassPathXmlApplicationContext("applicationContext.xml");
          51//        BeanFactory ctx=(BeanFactory)ctxss; 
          52//       UserDaoImpl um = (UserDaoImpl) ctx.getBean("userDao"); 
          53        UserDaoImpl um =(UserDaoImpl)ContextHelper.getContext().getBean("userDao");
          54        List users = um.getUsers(); 
          55        User user=null;
          56        String xml="<?xml version=\"1.0\" encoding=\"utf-8\"?><users>";
          57        for(int i=0;i<users.size();i++){
          58            user=(User)users.get(i);
          59            xml=xml+"<user>"+
          60            "<usernumber>"+user.getUsernumber()+"</usernumber>" +
          61            "<name>"+user.getName()+"</name>"+
          62            "<password>"+user.getPassword()+"</password>"+
          63        "</user>";
          64        }

          65        xml=xml+"</users>";
          66        System.out.println(xml);
          67        PrintWriter p = null;
          68        try {
          69//            p=response.getWriter();
          70            response.getWriter().write(xml);
          71            
          72        }
           catch (Exception e) {
          73            // TODO Auto-generated catch block
          74            e.printStackTrace();
          75        }

          76        //p.write(xml);
          77//        p.print("<?xml version=\"1.0\" encoding=\"utf-8\"?><users><user><usernumber>1</usernumber><name>caicai</name><password>dddddd</password></user><user><usernumber>2</usernumber><name>yingying</name><password>dddddd</password></user><user><usernumber>3</usernumber><name>ceshi</name><password>dddddd</password></user><user><usernumber>4</usernumber><name>ceshi</name><password>dddddd</password></user>");
          78//        p.close();
          79        
          80        return null;

          (3)獲取bean的工具類
          package dao;

          import org.springframework.context.support.ClassPathXmlApplicationContext;

          /**
           * Date: 2008-3-20 Time: 17:28:48 To change this template use File | Settings |
           * File Templates.
           
          */

          public class ContextHelper {
              
          private static ClassPathXmlApplicationContext _ctx;

              
          static {
                  _ctx 
          = new ClassPathXmlApplicationContext("/applicationContext.xml");
              }


              
          public static ClassPathXmlApplicationContext getContext() {
                  
          return _ctx;
              }

              
          }

          2.添加SRPING
          右鍵單擊項目選擇 MyEclipse---》add spring
          spring的配置文件
          <?xml version="1.0" encoding="UTF-8"?>
          <beans
              xmlns
          ="http://www.springframework.org/schema/beans"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
              

          <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
              
          <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
              
          <property name="url" value="jdbc:mysql://localhost:3306/test"/>
              
          <property name="username" value="root"/>
              
          <property name="password" value="root"/>
            
          </bean>

            
          <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
              
          <property name="configLocation" value="sqlmap-config.xml"/>
              
          <property name="dataSource" ref="dataSource"/>
            
          </bean>
            
          <bean id="userDao" class="dao.UserDaoImpl">
              
          <property name="sqlMapClient" ref="sqlMapClient"/>
            
          </bean>

          </beans>

          (3)添加IBATIS
          首先將ibatis的JAR包導入,放在LIB下即可
          IBTIS配置文件
          sqlmapconfig.xml
          <?xml version="1.0" encoding="UTF-8" ?>

          <!DOCTYPE sqlMapConfig      
              PUBLIC 
          "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
              
          "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

          <sqlMapConfig>

            
          <!-- Configure a built-in transaction manager.  If you're using an 
                 app server, you probably want to use its transaction manager 
                 and a managed datasource 
          -->


            
          <!-- List the SQL Map XML files. They can be loaded from the 
                 classpath, as they are here (com.domain.data
          -->
            
          <sqlMap resource="dao/User.xml"/>
            
          <!-- List more here
            
          <sqlMap resource="com/mydomain/data/Order.xml"/>
            
          <sqlMap resource="com/mydomain/data/Documents.xml"/>
            
          -->

          </sqlMapConfig>
          User.xml
          <?xml version="1.0" encoding="UTF-8" ?>

          <!DOCTYPE sqlMap      
              PUBLIC 
          "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
              
          "http://ibatis.apache.org/dtd/sql-map-2.dtd">

          <sqlMap namespace="User">

            
          <!-- Use type aliases to avoid typing the full classname every time. -->
            
          <typeAlias alias="user" type="model.User"/>

            
          <!-- Select with no parameters using the result map for Account class-->
            
          <select id="getUsers" resultClass="user" >
              select 
          * from user;
            
          </select>


          </sqlMap>

          注意:User.xml一定要和相應的DAO的實現(xiàn)類放一個包下
          4.FLEX文件
          <?xml version="1.0" encoding="utf-8"?>
          <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
          <mx:Script>
              
          <![CDATA[
                  
          import mx.rpc.events.FaultEvent;
                  
          import mx.controls.Alert;
                  
          import mx.rpc.events.ResultEvent;
                  
          import mx.controls.DataGrid;
              [Bindable]
              
          public var gridXml:XML;
              
          public function httpHandler(event:ResultEvent):void{
                  Alert.show(
          "hello2");
                  gridXml
          =XML(event.result);
                  
                  griddata.dataProvider
          =gridXml.children();//XMLList
              }

              
          public function initHandler():void{
                  testHttp.url
          ="http://localhost:8080/LCSYS/user.do";
                  Alert.show(
          "hello1");
                  testHttp.send();
                  
              }

              
          public function httpFail(event:FaultEvent):void{
                  Alert.show(
          "調(diào)用失敗");
                  Alert.show(event.message.toString());
              }

              ]]
          >
          </mx:Script>
          <mx:HTTPService id="testHttp" result="httpHandler(event)" fault="httpFail(event)" resultFormat="e4x" />
              
          <mx:Panel x="171" y="64" width="670" height="342" layout="absolute" id="userPannel" title="userPannel1">
                  
          <mx:DataGrid x="0" y="0" width="100%" height="100%"   id="griddata">
                      
          <mx:columns>

                           
          <mx:DataGridColumn dataField="usernumber" headerText="usernumber"/>
                          
          <mx:DataGridColumn dataField="name" headerText="name"/>
                          
          <mx:DataGridColumn dataField="password" headerText="password"/>
                     
                      
          </mx:columns>
                  
          </mx:DataGrid>
                  
          <mx:ControlBar height="34" y="262">
                      
          <mx:Button label="查詢?nèi)藛T列表" click="initHandler()"/>
                  
          </mx:ControlBar>
              
          </mx:Panel>
          </mx:Application>

          5.其他文件:
          工具類,解決亂碼
          package dao;

          import java.io.UnsupportedEncodingException;

          import org.springframework.context.support.ClassPathXmlApplicationContext;

          public class Tool {
               
          public static String change(String str){
                   String str2;
                  
          try {
                       str2 
          = new String(str.getBytes("iso-8859-1"),"UTF-8"); 
                      
          return str2;
                  }
           catch (UnsupportedEncodingException e) {
                      
          // TODO Auto-generated catch block
                      e.printStackTrace();
                  }

                   
          return null;
                  
               }

              
          }

          userDaoImpl
          package dao;

          import java.util.List;

          import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

          public class UserDaoImpl extends SqlMapClientDaoSupport implements UserDao  {

              
          public List getUsers() {
                  
          // TODO Auto-generated method stub
                  return this.getSqlMapClientTemplate().queryForList("getUsers");
              }


          }

          時間關系,介紹得比較粗糙也沒撒說明,不過只要對框架較熟悉的應該很快能搭建起環(huán)境
          本文章主要是集成框架介紹

          注意:需要IBATIS的JAR吧,dbcp連接池的包,還有相應的驅(qū)動包
          posted on 2009-08-13 14:38 小菜毛毛 閱讀(2716) 評論(4)  編輯  收藏 所屬分類: J2EE相關技術與框架

          Feedback

          # re: flex3+struts 1.3+spring +ibatis 2.x 整合實例---讓新人少走彎路(myeclipse)[未登錄] 2011-07-07 11:26 aaa
          都不說明一下,直接發(fā)一堆代碼,寫了跟沒寫有什么區(qū)別,新人能看懂嗎  回復  更多評論
            

          # re: flex3+struts 1.3+spring +ibatis 2.x 整合實例---讓新人少走彎路(myeclipse) 2012-11-16 15:27 王志國
          挺好的  回復  更多評論
            

          # re: flex3+struts 1.3+spring +ibatis 2.x 整合實例---讓新人少走彎路(myeclipse) 2012-11-16 15:28 王志國
          原來都是錯誤,這次到反映點東西回來。
          將struts中Action后的jsp網(wǎng)頁給傳回來了。神奇!  回復  更多評論
            

          # re: flex3+struts 1.3+spring +ibatis 2.x 整合實例---讓新人少走彎路(myeclipse) 2014-04-13 21:33 最代碼
          最代碼上轉(zhuǎn)載了你的文章,有問題請回復,地址:http://www.zuidaima.com/share/1778657261997056.htm  回復  更多評論
            

          主站蜘蛛池模板: 乌拉特中旗| 金华市| 文山县| 绩溪县| 丹阳市| 柘荣县| 旬邑县| 当涂县| 克拉玛依市| 上饶县| 三亚市| 阿拉尔市| 江都市| 五莲县| 蒲江县| 电白县| 六枝特区| 景洪市| 桂东县| 广东省| 佛冈县| 昆山市| 尖扎县| 盐亭县| 新丰县| 锡林浩特市| 三门县| 乌什县| 区。| 珠海市| 鸡东县| 工布江达县| 石门县| 东乌珠穆沁旗| 常熟市| 阆中市| 义乌市| 岑溪市| 东丰县| 兴宁市| 万荣县|