posts - 4, comments - 0, trackbacks - 0, articles - 0

          2012年5月8日

           解釋一:  

                 Java Bean 是可復用的組件,對Java Bean并沒有嚴格的規范,理論上講,任何一個Java類都可以是一個Bean。但通常情況下,由于Java Bean是被容器所創建(如Tomcat)的,所以Java Bean應具有一個無參的構造器,另外,通常Java Bean還要實現Serializable接口用于實現Bean的持久性。Java Bean實際上相當于微軟COM模型中的本地進程內COM組件,它是不能被跨進程訪問的。Enterprise Java Bean 相當于DCOM,即分布式組件。它是基于Java的遠程方法調用(RMI)技術的,所以EJB可以被遠程訪問(跨進程、跨計算機)。但EJB必須被布署在 諸如Webspere、WebLogic這樣的容器中,EJB客戶從不直接訪問真正的EJB組件,而是通過其容器訪問。EJB容器是EJB組件的代 理,EJB組件由容器所創建和管理。客戶通過容器來訪問真正的EJB組件。

            解釋二:

               EJB不是一般的JavaBean,EJB是企業級JavaBean,EJB一共分為3種,實體Bean,消息Bean,會話Bean,書寫EJB是需要 遵循一定的規范的,具體規范你可以參考相關的資料.另外,要運行EJB,你需要相應的EJB容器,比如Weblogic,Jboss等,而 JavaBean不需要,只需要安裝Tomcat就可以了
          .EJB用于服務端應用開發, 而JavaBeans用于客戶端應用開發
          也可以使用JavaBeans進行服務端應用開發,但JavaBeans模型沒有提供服務框架,當應用需要使用系統級服務(如事務管理,安全性,生命周期管理等)時,不適合。

          2.EJB構件是可部署的,EJB構件可以作為獨立的單元被部署到EJB應用服務器上,是應用構件(application components),而JavaBeans構件是不可部署的, JavaBeans構件是開發構件,不能被部署為獨立的單元。

          3.EJB構件是部署可定制的,使用部署描述符可以在部署EJB時對其運行時配置進行定制,而JavaBeans構件在部署時不能進行定制,JavaBeans構件的定制僅發生在開發階段,只能利用開發工具創建并組裝JavaBeans構件,部署時不能定制

          4.EJB構件是分布式對象,可以被客戶應用或者其它EJB構件進行遠程訪問,而JavaBeans構件不是分布式對象,JavaBeans構件只能在其構成的應用中使用,不能提供遠程訪問能力

          5.EJB構件對終端用戶不可見,運行在服務端,沒有人機交互界面,而部分JavaBeans構件對終端用戶可見,如GUI應用中使用的按鈕構件

          posted @ 2012-05-08 20:58 Xing 閱讀(176) | 評論 (0)編輯 收藏

               摘要: 1. 把Strings轉換成int和把int轉換成StringString a = String.valueOf(2);  //integer to numeric string  int i = Integer.parseInt(a); //numeric string to an int String a = String.valueOf(2);&nb...  閱讀全文

          posted @ 2012-05-08 20:15 Xing 閱讀(525) | 評論 (0)編輯 收藏

           1 調用JDBC API  executeBatch()方法。
           2 不知道有沒有直接調用sqlplus 的API。。
           3 sqlplus username/pwd@oracle @1.sql
           4 
           5 import java.sql.*;
           6 import java.awt.*;
           7 import java.util.List;
           8 import java.util.ArrayList;
           9 import java.io.*;
          10 import java.lang.*;
          11 
          12 public class Test {
          13 
          14     /**
          15      * @param args the command line arguments
          16      */
          17     public Test() {
          18         try {
          19             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
          20         } catch (Exception e) {
          21             System.out.println("加載驅動程序出錯");
          22             return;
          23         }
          24     }
          25 
          26     List<String> loadSql(String sqlFile) throws Exception {
          27         List<String> sqlList = new ArrayList<String>();
          28         try {
          29             InputStream sqlFileIn = new FileInputStream(sqlFile);
          30             StringBuffer sqlSb = new StringBuffer();
          31             byte[] buff = new byte[1024];
          32             int byteRead = 0;
          33             while ((byteRead = sqlFileIn.read(buff)) != -1) {
          34                 sqlSb.append(new String(buff, 0, byteRead));
          35             } // Windows 下換行是 \r\n, Linux 下是 \n
          36 
          37             String[] sqlArr = sqlSb.toString().split("(;\\s*\\r\\n)(;\\s*\\n)");
          38             for (int i = 0; i < sqlArr.length; i++) {
          39                 String sql = sqlArr[i].replaceAll("--.*""").trim();
          40 
          41                 if (!sql.equals("")) {
          42                     sqlList.add(sql);
          43                 }
          44             }
          45             return sqlList;
          46         } catch (Exception ex) {
          47             throw new Exception(ex.getMessage());
          48         }
          49     }
          50     public static void main(String[] args) throws Exception {
          51         String url = "jdbc:odbc:friends";
          52         Connection con;
          53         String sqlFile = "E:\\friends.sql";
          54       
          55         try {
          56             con = DriverManager.getConnection(url);
          57             List<String> sqlList = new Test().loadSql(sqlFile);
          58             Statement smt = con.createStatement();
          59 
          60             for (String sql : sqlList) {
          61                 smt.addBatch(sql);
          62             }
          63             smt.executeBatch();
          64 
          65         } catch (SQLException e) {
          66         }
          67 
          68     }
          69 }
          70 
          71 sql文件內不能有注釋,friends.sql文件內容為
          72 CREATE TABLE [dbo].[friends](
          73     [name] [varchar](50) COLLATE NOT NULL,
          74     [address] [varchar](50) COLLATE NULL,
          75     [phone] [bigint] NULL,
          76     [hireDate] [datetime] NULL,
          77     [salary] [int] NULL
          78 )
          79 

          posted @ 2012-05-08 19:57 Xing 閱讀(807) | 評論 (0)編輯 收藏

          1)JDBC(Java Database Connectivity): JDBC API為訪問不同的數據庫提供了一種統一的途徑,象ODBC一樣,JDBC對開發者屏蔽了一些細節問題,另外,JDCB對數據庫的訪問也具有平臺無關性。

            2)JNDI(Java Name and Directory Interface): JNDI API被用于執行名字和目錄服務。它提供了一致的模型來存取和操作企業級的資源如DNS和LDAP,本地文件系統,或應用服務器中的對象。

             3)EJB(Enterprise JavaBean): J2EE技術之所以贏得某體廣泛重視的原因之一就是EJB。它們提供了一個框架來開發和實施分布式商務邏輯,由此很顯著地簡化了具有可伸縮性和高度復雜的 企業級應用的開發。EJB規范定義了EJB組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如目錄服務、事務管理、安全性、資源緩沖 池以及容錯性。但這里值得注意的是,EJB并不是實現J2EE的唯一途徑。正是由于J2EE的開放性,使得有的廠商能夠以一種和EJB平行的方式來達到同 樣的目的。

            4)RMI(Remote Method Invoke): 正如其名字所表示的那樣,RMI協議調用遠程對象上方法。它使用了序列化方式在客戶端和服務器端傳遞數據。RMI是一種被EJB使用的更底層的協議。

             5) Java IDL/CORBA: 在Java IDL的支持下,開發人員可以將Java和CORBA集成在一起。他們可以創建Java對象并使之可在CORBA ORB中展開, 或者他們還可以創建Java類并作為和其它ORB一起展開的CORBA對象的客戶。后一種方法提供了另外一種途徑,通過它Java可以被用于將你的新的應 用和舊的系統相集成。

            6) JSP(Java Server Pages): JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端所請求以后對這些Java代碼進行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。

             7)Java Servlet: Servlet是一種小型的Java程序,它擴展了Web服務器的功能。作為一種服務器端的應用,當被請求時開始執行,這和CGI Perl腳本很相似。Servlet提供的功能大多與JSP類似,不過實現的方式不同。JSP通常是大多數HTML代碼中嵌入少量的Java代碼,而 servlets全部由Java寫成并且生成HTML。

            8) XML(Extensible Markup Language): XML是一種可以用來定義其它標記語言的語言。它被用來在不同的商務過程中共享數據。XML的發展和Java是相互獨立的,但是,它和Java具有的相同 目標正是平臺獨立性。通過將Java和XML的組合,您可以得到一個完美的具有平臺獨立性的解決方案。

            9)JMS(Java Message Service): MS是用于和面向消息的中間件相互通信的應用程序接口(API)。它既支持點對點的域,有支持發布/訂閱(publish/subscribe)類型的 域,并且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。JMS還提供了另一種方式來對您的應用與舊的 后臺系統相集成。

            10)JTA(Java Transaction Architecture): JTA定義了一種標準的API,應用系統由此可以訪問各種事務監控。

             11)JTS(Java Transaction Service): JTS是CORBA OTS事務監控的基本的實現。JTS規定了事務管理器的實現方式。該事務管理器是在高層支持Java Transaction API (JTA)規范,并且在較底層實現OMG OTS specification的Java映像。JTS事務管理器為應用服務器、資源管理器、獨立的應用以及通信資源管理器提供了事務服務。

            12)JavaMail: JavaMail是用于存取郵件服務器的API,它提供了一套郵件服務器的抽象類。不僅支持SMTP服務器,也支持IMAP服務器。

            13) JTA(JavaBeans Activation Framework): JavaMail利用JAF來處理MIME編碼的郵件附件。MIME的字節流可以被轉換成Java對象,或者轉換自Java對象。大多數應用都可以不需要直接使用JAF。

          posted @ 2012-05-08 19:55 Xing 閱讀(220) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 滨海县| 青海省| 白朗县| 大厂| 乐都县| 浙江省| 西安市| 定兴县| 北流市| 吉木萨尔县| 崇信县| 射阳县| 新和县| 磴口县| 新安县| 中牟县| 县级市| 保山市| 南华县| 全南县| 正镶白旗| 集安市| 镇宁| 巴青县| 会昌县| 栾城县| 南充市| 江北区| 固安县| 宁强县| 宁都县| 曲水县| 宁城县| 临桂县| 介休市| 十堰市| 毕节市| 杂多县| 盐山县| 东山县| 缙云县|