<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    斷點

    每天進步一點點!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    2010年7月25日

    1、http://www.jar114.com/site.html
    該網站可以提供我們項目中經常需要的jar包,如果缺少包,就可以在這里查找。

    posted @ 2010-10-07 11:54 斷點 閱讀(417) | 評論 (1)編輯 收藏

    流程定義文件*.jpdl.xml中如果有中文亂碼,肯定是task中有中文。

    需要在eclipse安裝軟件下,即E:\eclipse\eclipse.ini增加
    -Dfile.encoding=UTF-8
    然后重啟eclipse即可解決。

    posted @ 2010-10-05 21:06 斷點 閱讀(802) | 評論 (0)編輯 收藏

    配置jbpm4工程的運行環境:
    1、添加依賴庫。
    E:\JBPM\jbpm-4.3\jbpm.jar
    E:\JBPM\jbpm-4.3\lib下的jar包。

    2、添加配置文件。
    E:\JBPM\jbpm-4.3\examples\src下的配置文件拷貝到自己java工程的src下。

    ---------------------------------------------------------------
    管理流程定義:發布流程定義、查看流程定義、刪除流程定義。
    RepositoryService repositoryService = processEngine.getRepositoryService();

    String deploymentId = repositoryService.createDeployment().addResourceFromClasspath

    ("helloworld.jpdl.xml").deploy();
    List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list();  
    repositoryService.deleteDeploymentCascade(deploymentId);
    ---------------------------------------------------------------

    管理流程實例:發起新流程、執行等待的流程、查看流程實例、終止流程實例、刪除流程實例。
    ExecutionService executionService = processEngine.getExecutionService();

    ProcessInstance pi = executionService.startProcessInstanceByKey("helloworld");
    ProcessInstance pi = executionService.signalExecutionById(pi.getId()); //執行等待的流程.
    List<ProcessInstance> list = executionService.createProcessInstanceQuery().list();
    executionService.endProcessInstance(pi.getId(), "cancel");
    executionService.deleteProcessInstanceCascade(pi.getId());


    TaskService taskService = processEngine.getTaskService();
    taskService.completeTask(taskId, map);

    控制流程的活動:Start、End、Decision、Fork、Join、Sub-process、State、task.
    原子活動:java、script、sql、hql、email。

    posted @ 2010-10-05 21:01 斷點 閱讀(446) | 評論 (0)編輯 收藏

    配置開發環境:
    1、jbpm4:http://sourceforge.net/projects/jbpm/files/ 下選擇jbpm-4.3.zip  137.9M

    2、eclipse3.5版本以上 : http://www.eclipse.org/downloads/ 下選擇 Eclipse IDE for Java EE  190M

    3、GPD (Graphical Process Designer)插件,路徑:E:\jbpm-4.3\install\src\gpd\jbpm-gpd-site.zip。
    通過Eclipse-->help-->Install New Software-->Add-->Archive到插件所在路徑。

     

    posted @ 2010-10-05 16:37 斷點 閱讀(705) | 評論 (1)編輯 收藏

    java.lang.NullPointerException
     at jxl.read.biff.File.<init>(File.java:77)
     at jxl.Workbook.getWorkbook(Workbook.java:250)
     at jxl.Workbook.getWorkbook(Workbook.java:235)
     at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:76)
     at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:89)
     at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:68)
     at com.sample.DecisionTableTest.readDecisionTable(DecisionTableTest.java:59)
     at com.sample.DecisionTableTest.main(DecisionTableTest.java:36)

    Drools調用readDecisionTable()方法里面一處為:
    InputStream is = DecisionTableTest.class.getResourceAsStream("rules\\Sample.xls");
    final String drl = converter.compile( is, InputType.XLS );  
         
    需改為如下,取的class即錯誤解決。
    InputStream is = DecisionTableTest.class.getClassLoader().getResourceAsStream("rules\\Sample.xls");
    final String drl = converter.compile( is, InputType.XLS );

    posted @ 2010-10-05 00:39 斷點 閱讀(695) | 評論 (0)編輯 收藏

    org.mvel.CompileException: can not resolve identifier: 'declr'
     at org.mvel.ASTNode.getReducedValue(ASTNode.java:315)
     at org.mvel.ast.PropertyASTNode.getReducedValue(PropertyASTNode.java:29)
     at org.mvel.MVELInterpretedRuntime.parseAndExecuteInterpreted(MVELInterpretedRuntime.java:103)
     at org.mvel.MVELInterpretedRuntime.parse(MVELInterpretedRuntime.java:51)
     at org.mvel.TemplateInterpreter.execute(TemplateInterpreter.java:428)
     at org.mvel.TemplateInterpreter.parse(TemplateInterpreter.java:320)
     at org.drools.rule.builder.dialect.java.AbstractJavaBuilder.generatTemplates(AbstractJavaBuilder.java:113)
     at org.drools.rule.builder.dialect.java.JavaConsequenceBuilder.build(JavaConsequenceBuilder.java:95)
     at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:67)
     at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:446)
     at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:304)
     at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:167)
     at com.sample.DecisionTableTest.readDecisionTable(DecisionTableTest.java:63)
     at com.sample.DecisionTableTest.main(DecisionTableTest.java:36)

    替換mvel.jar為mvel14-1.2.10.jar后不再報錯,好像是jar包的問題。
    看了下jar包里面的org.mvel.ASTNode.getReducedValue方法已經注釋掉了。

    posted @ 2010-10-05 00:32 斷點 閱讀(715) | 評論 (0)編輯 收藏

    WARNING: Wasn't able to correctly close stream for decision table. nulljava.lang.NullPointerException
     at jxl.read.biff.File.<init>(File.java:77)
     at jxl.Workbook.getWorkbook(Workbook.java:250)
     at jxl.Workbook.getWorkbook(Workbook.java:235)
     at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:76)
     at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:89)
     at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:68)
     at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:110)
     at com.sample.DecisionTableTest.readDecisionTable(DecisionTableTest.java:57)
     at com.sample.DecisionTableTest.main(DecisionTableTest.java:35)

    在web項目中的原先的寫法為:
    final String drl = converter.compile( "rules\\Sample.xls", InputType.XLS );

    參考了下別人的寫法,改為下面的方式進行處理:  
    InputStream is = DecisionTableTest.class.getClassLoader().getResourceAsStream("rules\\Sample.xls");
    final String drl = converter.compile( is, InputType.XLS );

    posted @ 2010-10-05 00:22 斷點 閱讀(611) | 評論 (0)編輯 收藏

    由于drools有新版本了,所以與MyEclipse整合進行了解下。
    整合步驟如下:
    1、下載MyEclipse 8.5;
    2、在http://www.jboss.org/drools/downloads.html下載Drools Eclipse 3.5 Workbench 5.1 插件;
    3、在E:\MyEclipse8.5下新建2個文件:links、myplugins。
    E:\MyEclipse 8.5\links:放drools.link配置文件,內容為path=E:\\MyEclipse 8.5\\myplugins\\drools\\
    E:\MyEclipse 8.5\myplugins:放drools文件,該E:\MyEclipse 8.5\myplugins\drools\eclipse下放置從網上下載的drools插件的features和plugins。
    4、重啟MyEclipse 8.5即可看見drools圖標。
    5、安裝Jboss:下載jboss-5.0.0.GA,解壓即可。
    打開MyEclipse->window->Preference->MyEclipse->Servers->JBoss->JBoss 5.x進行jre及相關配置。

    posted @ 2010-10-04 12:00 斷點 閱讀(1054) | 評論 (0)編輯 收藏

    在命令行下運行java程序,出現如上異常Exception in thread "main" java.lang.UnsupportedClassVersionError。

    主要是jdk的版本被oracle給換成低版本了。
    可以在命令行下輸入:javac -version 查看版本,最后把%JAVA_HOME%\bin;添加到Oracle之前,再重開啟電腦,編譯,運行即可。

    可以查考:http://hi.baidu.com/tianxingacer/blog/item/e628b947ffc54f016a63e5ac.html/cmtid/1fe1e9ae1dc5b9f6faed50d9

    posted @ 2010-10-02 23:52 斷點 閱讀(1065) | 評論 (0)編輯 收藏

    我的機器以前裝的是offices2003自帶的js調試工具,昨天按照上IE8后,js調試工具有時候是ie8的調試界面,有時是ie6的調試界面,經網上查找已找到原因。

    主要是我把IE8的‘腳本’下的“啟動調試”給關了,所以最后只出現ie6的調試界面。

    解決方法:打開IE8后,點擊"工具"->"開發人員工具",或者快捷鍵F12,會打開頁面調試窗口。

    posted @ 2010-08-23 15:34 斷點 閱讀(3383) | 評論 (0)編輯 收藏

        今天用反編譯工具查看java源代碼,發現反編譯的java文件有錯誤,在網上了解了下,是原先開發人員對代碼做了一下加密處理。下面介紹一下java的混淆器Proguard。
        ProGuard 是一個免費的 Java類文件的壓縮,優化,混肴器。它刪除沒有用的類,字段,方法與屬性。使字節碼最大程度地優化,使用簡短且無意義的名字來重命名類、字段和方法 。eclipse已經把Proguard集成在一起了。

    其他地方也有介紹,如下:http://blog.csdn.net/alex197963/archive/2008/07/07/2620603.aspx

    posted @ 2010-08-10 11:40 斷點 閱讀(321) | 評論 (0)編輯 收藏

    1、當處理多個訪問相同數據的用戶時,通常可能出現三種問題:
    臟讀
    當應用程序使用了被另一個應用程序修改過的數據,而這個數據處于未提交狀態時,就會發生臟讀。第二個應用程序隨后會請求回滾被其修改的數據。第一個事務使用的數據就會
    被損壞,或者“變臟”。

    不可重復的讀
    當一個事務獲得了數據,而該數據隨后被一個單獨的事務所更改時,若第一個事務再次讀取更改后的數據,就會發生不可重復的讀。這樣,第一個事務進行了一個不可重復的讀。

    虛讀
    當事務通過某種查詢獲取了數據,另一個事務修改了部分該數據,原來的事務第二次獲取該數據時,就會發生虛讀。第一個事務現在會有不同的結果集,它可能包含虛讀。

     

    2、Java.sql.Connection接口定義的隔離級別
    TRANSACTION_NONE 說明不支持事務
    TRANSACTION_READ_UNCOMMITTED 說明在提交前一個事務可以看到另一個事務的變化。這樣臟讀、不可重復的讀和虛讀都是允許的。
    TRANSACTION_READ_COMMITTED 說明讀取未提交的數據是不允許的。這個級別仍然允許不可重復的讀和虛讀產生。
    TRANSACTION_REPEATABLE_READ 說明事務保證能夠再次讀取相同的數據而不會失敗,但虛讀仍然會出現。
    TRANSACTION_SERIALIZABLE 是最高的事務級別,它防止臟讀、不可重復的讀和虛讀。


    3、事務的隔離級別
    在J2EE中,通過java.sql.Connection接口設置事務隔離級別,這一接口為連接的隔離級別提供了getter()和setter()
    Int getTransactionIsolation() throws SQLException
    void setTransactionIsolation() throws SQLException
    Connection對象負責事務,一旦收到事務請求,事務將自動提交,因為Connection對象已定義為自動提交方式,可通過setAutoCommit(false)禁用自動提交模式
    另外java.sql.DatabaseMetaData接口為數據存儲提供支持的隔離級別查找方法:getTransactionIsolation(),supportsTransactionIsolationLevel()
    對多個庫操作的分布式事務必須在所有庫中執行同一個隔離級別,否則會出現意想不到的結果


    4、事務提交和回滾
    為了完成提交事務和回滾事務,JDBC API包括了兩個方法作為 Connection 接口的一部分。若將 Connection 對象名稱指定為 con,通過調用 con.commit(); 可以保存程序狀態;

    通過調用 con.rollback(); 可以返回到以前保存的狀態。如果數據庫實際運行操作時有錯誤發生,這兩個方法都會拋出 SQLExceptions,所以您需要在 try ... catch 塊中包裝它們。


    5、批處理和事務
    缺省情況下,JDBC 驅動程序運行在被稱為自動提交的模式下,可禁用自動提交模式
    con.setAutoCommit(false);
    批處理操作中通過在一次單獨的操作(或批處理)中執行多個數據庫更新操作
    {con.setAutoCommit(false) ;
    Statement stmt = connection.createStatement() ; stmt.addBatch("INSERT INTO people VALUES('Joe Jackson', 0.325, 25, 105) ; stmt.addBatch("INSERT INTO people

    VALUES('Jim Jackson', 0.349, 18, 99) ; stmt.addBatch("INSERT INTO people VALUES('Jack Jackson', 0.295, 15, 84) ;
    int[] updateCounts = stmt.executeBatch() ; con.commit() ;

    posted @ 2010-07-25 21:18 斷點 閱讀(434) | 評論 (0)編輯 收藏

    Initial Capacity:池的連接數量,在啟動時創建
    Maximun Capacity:這是池可以打開的連接的最大數量
    Capacity Increment:成組地打開增量連接
    Login Delay Seconds:池驅動程序在啟動時打開每一個新的連接需要等待的時間
    Refresh Period(刷新周期)
    Supports Local Transaction:只用于XA連接池
    Allow Shrinking and Shrink Period(允許收縮和收縮期):如果池的數量太大,超過了初始,且如果任何一個連接在收縮期內空閑,那么空閑的連接將在收縮期末關閉


    監控JDBC連接池:
    Waiters Hight字段指明了最多有多少客戶等待數據庫連接
    Waiters字段告訴你當前有多少客戶正在等待連接
    Connections Hight字段給出最大的并發連接數。
    Wait Seconds Hight字段顯示了客戶等待數據庫連接的最長時間

    posted @ 2010-07-25 21:16 斷點 閱讀(400) | 評論 (0)編輯 收藏

    1、連接:
    直接連接(direct connection)
    池連接(pooled connection)
    連接復用 ,避免了數據庫連接頻繁建立、關閉的開銷 ;
    對JDBC中的原始連接進行了封裝 ,隔離了應用的本身的處理邏輯和具體數據庫訪問邏輯 。

    2、什么是連接池?
    連接池是在Weblogic啟動時候預先建立的數據庫連接,由Weblogic在運行時負責維護。
    可以減少程序每次數據庫請求都要新創建數據庫物理連接的時間及資源。
    對數據庫屬性的更改只需通過控制臺進行,不需改動客戶端代碼

    MultiPool
    可以使用MultiPool為高用戶訪問量提供數據庫負載均衡,它使用簡單的循環算法將連接請求平衡分配MultiPool中的每一個池。

    多池的作用:為防數據庫連接失敗提供冗余,備份或高有效池;為高用戶訪問量提供數據庫負載均衡,負載均衡池。
    備份池:一個備份池由一個有順序的連接池列表組成。
    負載均衡池:使用簡單的循環算法將連接請求平衡地分到在列表中的每一個池。

    3、DataSource

    數據源對應一個數據庫連接池。客戶程序可以通過數據源綁定的JNDI名字得到該數據源的引用,并通過數據源對象得到數據庫連接。

    JDBC的API:
    java.sql.DriverManager 
    java.sql.Connection 
    java.sql.ResultSet 
    Javax.sql.RowSet:
    javax.sql.Statement  
    java.sql.PreparedStatement:用于執行預編譯的SQL語句
    java.sql.CallableStatement:用于執行在數據庫中定義的存儲過程   
    Javax.sql.DataSource是java.sql.Connectioin對象的工廠并使用一個JNDI服務注冊它.

    posted @ 2010-07-25 21:13 斷點 閱讀(311) | 評論 (0)編輯 收藏

    1、Type 1類型驅動,JDBC-ODBC橋
    通常運行Windows平臺,需要在客戶端安裝ODBC驅動,早期Java訪問數據庫的主要方式,效率較低。

    適用于快速的原型系統,沒有提供JDBC驅動的數據庫如Access ,由于包含多個驅動程序層,其性能一般不適合生產系統
    Java-->JDBC-ODBC Bridge---->JDBC-ODBC Library--->ODBC Driver-->Database
    驅動程序的類名稱是 sun.jdbc.odbc.JdbcOdbcDriver
    JDBC URL 的形式為 jdbc:odbc:dsn(dsn 是使用 ODBC 管理員注冊數據庫的數據源名稱)
    不是100%JAVA程序,與ODBC之間的接口采用非JAVA方式調用,因此不能在APPLET中使用
    {
    String url = "jdbc:odbc:jdbc" ;
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection(url, "java", "sun");
    }


    2、Type 2類型驅動,需要在客戶端安裝數據庫的本地驅動,JDBC請求會轉換為對數據庫本地API的調用。

    利用開發商提供的本地庫來直接與數據庫通信。
    Java-->JDBC-Driver-->DB Client Library-->Database
    繞過了ODBC層,性能優于Type1
    也稱為部分 Java 驅動程序,因為它們直接將 JDBC API 翻譯成具體數據庫的API
    使用第二種模型將開發者限制在數據庫廠商的客戶機庫支持的客戶機平臺和操作系統
    Oracle的OCI驅動就屬于Type2

    3、Type 3類型驅動,DBC請求通過網絡服務器層實現,在網絡服務器層可以實現負載均衡,連接池管理等。

    第三種驅動程序是純 Java 驅動程序,它將 JDBC API 轉換成獨立于數據庫的協議。JDBC 驅動程序并沒有直接和數據庫進行通訊;它和一個中間件服務器通訊,然后這個中間件服務器和數據庫進行通訊。這種額外的中間層次提供了靈活性:可以用相同的代碼訪問不同的數據庫,因為中間件服務器隱藏了 Java 應用程序的細節。要轉到不同的數據庫,您只需在中間件服務器上改變參數。(有一點需要注意:中間件服務器必須支持您訪問的數據庫格式。)
    第三種驅動程序的缺點是,額外的中間層次可能有損整體系統性能。另一方面,如果應用程序需要和不同的數據庫格式進行交互,第三種驅動程序是個有效的方法,因為不管底層
    的數據庫是什么,都使用同樣的 JDBC 驅動程序。另外,因為中間件服務器可以安裝在專門的硬件平臺上,可以利用總的結果進行一些優化。
    Java--->Jdbc Driver(Type3 jdbc driver)----->java middleware--->JDBC Driver---->Database
    Weblogic的Pool驅動程序就是一個Type3的JDBC驅動程序。


    4、Type 4類型驅動,為純Java實現,不需要任何客戶端設置。
    OCI驅動程序利用Java本地化接口(JNI),通過Oracle客戶端軟件與數據庫進行通訊。Thin驅動程序是純Java驅動程序,它直接與數據庫進行通訊。

    JDBC應用的兩種架構
    兩層架構:客戶程序直接對數據庫發起JDBC請求,Type1、2、4支持兩層架構。
    多層架構:客戶程序將JDBC請求發送到中間層,中間層再將請求發送到數據庫。

    posted @ 2010-07-25 21:11 斷點 閱讀(674) | 評論 (0)編輯 收藏

    通常應用系統會根據用戶數、并發數、用戶的行為等等來確定具體的性能目標,如果確定應用程序不能滿足性能目標,那么就需要優化、重構程序并調整JVM、應用服務器、數據庫、OS 或者改變硬件配置等等。

    影響Java 性能的主要因素:
    硬件,如CPU、內存、體系結構等等
    操作系統
    數據庫系統
    JVM
    應用服務器
    數據庫服務器
    網絡環境
    應用架構及程序編寫水平

    性能調整的步驟:
    1、 使用工具測試系統是否滿足性能目標
    2、 發現性能瓶頸
    3、 假設瓶頸的原因
    4、 測試你的假設
    5、 如果假設成立,更改這一部分
    6、 測試確定更改是否可以提高性能,衡量性能提高的程度
    7、重復以上步驟,直到獲得可以接受的性能。

    J2EE性能不好時的現象,主要表現在對客戶端的請求響應很慢:
    一向很慢:應用的響應總是很慢,改變環境(如應用負載、數據庫的連接池數量等等),對響應時間的
    影響不大。

    越來越慢:在相同的負載情況下,隨著系統運行的時間的增長,系統越來越慢,這可能是系統已到達
    極限或是系統死鎖和錯誤引起的。

    低于負載時會越來越慢(Slower and slower under load):.

    偶爾的掛起或異常錯誤(Sporadic hangs or aberrant errors):有時這可能是由于負載的變化或其他
    情況引起的可以預測的死鎖(Foreseeable lock ups): 掛起或最初只有少量錯誤,但隨著時間的推移整個系統都鎖上了,典型地這可能是為的適應"management by restarts.“

    突發性的混亂(Sudden chaos): 系統已運行了一段時間(如一個小時或可能是三、四天),性能穩定并
    可以接受, 突然沒有任何理由,開始出錯或死鎖了。


    監控工具:
    WebLogic Server的控制臺
    cpu
    內存
    JDBC
    輔助的工具
    Jprobe
    Optimizit
    Vtune
    TowerJ Performance

    posted @ 2010-07-25 17:02 斷點 閱讀(221) | 評論 (0)編輯 收藏

    WebLogic Server 10的下載地址:
    http://www.oracle.com/technology/software/products/ias/htdocs/wls_main.html

    1、域(Domains)
    域是管理的單元或邊界;
    作為一個單元來管理的,并相互關聯的一組Weblogic 服務器資源被稱為域;
    域由單一的管理服務器來管理。

    2、機器(Machines)
    可以對應到服務器所在的物理硬件;
    可以是Unix或non-Unix類型;
    可以用來遠程管理和監控;

    3、服務器(Servers)
    服務器是執行在單一Java虛擬機 (JVM)中weblogic.Server類的實例。
    服務器:最多和一個WLS機器關聯;占用一定數量的RAM ;是多線程的。

    4、管理服務器(Administration server)
    對整個域的集中控制
    XML配置存儲庫的保存者
    日志信息的集中保存

    5、被管理服務器(Managed Server)
    WebLogicServer的一個實例;
    從管理服務器遠程加載配置信息‘;
    可以是也可以不是集群的一部分。

    6、集群 (Clustering)
    WebLogic集群技術指通過一組服務器共同 工作,在多臺機器間復制應用表示層和應用邏輯層的能力,
    實現關鍵業務系統的負載分布,消除個別故障點;集群用來實現負載均衡和容錯。

    posted @ 2010-07-25 16:03 斷點 閱讀(280) | 評論 (0)編輯 收藏

    1、J2EE應用開發的核心組件。
    Servlet: 處理HTTP請求,產生響應。
    JSP:Java Server Pages ,同Servlet。其中包含了HTML和JSP標簽、Java代碼和其他信息。
    EJB:EJB服務端組件模型簡化了具有交互性、擴展性和移植性中間組件的開發。EJB一般用于實現系統的業務邏輯。

    2、J2EE的相關技術
    核心:Servlet 、JSP、EJB
    數據庫:JDBC
    命名和目錄服務:JNDI
    消息服務:JMS( Java Message Service )
    Email:Java Mail
    分布式計算:RMI、RMI-IIOP
    事務:JTA(Java Transaction API)
    數據格式化:XML、HTML、XSL
    協議:TCP/IP、HTTP(S)、IIOP、SSL
    安全:JAAS

    3、J2EE的4層結構
    客戶層(瀏覽器)
    Web層(HTML、Servlet、JSP)
    業務層(EJB)
    EIS層(關系數據庫)

    4、J2EE的Application Server:

    Tomcat
    BEA Weblogic
    IBM Websphere
    Oracle Application Server
    Sun Java System
    Jboss
    Borland AppServer
    Sybase Application Server
    HP Application Server
    Apusic

    5、集成開發工具:
    Borland:JBuilder
    Oracle :JDeveloper
    Bea :WebLogic Workshop
    IBM:Websphere Studio
    Sun:NetBeans
    MyEclipse

    在小型的應用系統或者有特殊需要的系統中,可以使用一個免費的Web服務器Tomcat,該服務器支持全部JSP以及Servlet規范,但是目前還不支持EJB。

    在Java相關的開發領域中,常用的是3種數據庫:Oracle、DB2和MySQL。有時候也使用微軟公司的SQL Server數據庫服務器 。

    posted @ 2010-07-25 15:50 斷點 閱讀(267) | 評論 (0)編輯 收藏

    DateUtils.compareYear(regDate, base.getTInsrncBgnTm()) // 新舊車標志【保險起期 - 初登年月】 單位:年

    posted @ 2010-07-25 11:02 斷點 閱讀(265) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 亚洲色无码国产精品网站可下载| 情人伊人久久综合亚洲| 亚洲激情视频图片| 久久久高清免费视频| 亚洲无成人网77777| 最好看的中文字幕2019免费| 亚洲国产精品乱码一区二区| 成全在线观看免费观看大全| 久久亚洲一区二区| 最近2018中文字幕免费视频| 亚洲女人影院想要爱| 久9热免费精品视频在线观看| 亚洲成人在线网站| 台湾一级毛片永久免费| 国产精品高清视亚洲一区二区| 免费观看男人免费桶女人视频| 美女裸免费观看网站| 亚洲日韩国产成网在线观看| 拍拍拍无挡免费视频网站| 国产亚洲成av片在线观看| 91精品国产免费网站| 中文无码亚洲精品字幕| 亚洲AV中文无码乱人伦在线视色| 九九视频高清视频免费观看| 国产成A人亚洲精V品无码| 久久精品免费一区二区| 亚洲中文字幕一二三四区| 国产精品美女自在线观看免费| 新最免费影视大全在线播放| 久久亚洲国产午夜精品理论片 | 亚洲人妖女同在线播放| 德国女人一级毛片免费| 91av免费在线视频| 亚洲最大黄色网站| 亚洲 另类 无码 在线| 无码av免费网站| 亚洲高清乱码午夜电影网| 亚洲精品tv久久久久久久久| 国拍在线精品视频免费观看| 一级毛片正片免费视频手机看| 老色鬼久久亚洲AV综合|