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

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

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

    posts - 33, comments - 46, trackbacks - 0, articles - 2

    眾所周知,Oracle的數(shù)據(jù)庫(kù)、中間件都可以在網(wǎng)上自由下載,沒有任何license注冊(cè)碼的限制。
    現(xiàn)在,Oracle以85億美元收購(gòu)了BEA,帶來(lái)的最直接的好處是,以前嚴(yán)格保密的License文件現(xiàn)在都可以直接下載了。請(qǐng)看下面頁(yè)面:
    http://commerce.bea.com/products/all_products.jsp#WL

    WebLogic Family License Keys
    http://download2.bea.com/pub/license/All%20Products/BEA_WebLogic.zip

    AquaLogic Family License Keys
    http://download2.bea.com/pub/license/All%20Products/BEA_AquaLogic.zip

    摘錄部分內(nèi)容如下:
    ========================================
        = Read Me -- BEA WebLogic License Keys =
        ========================================

    Some BEA products require multiple license keys for full functionality, or use a license key which is not intuitively identified as being for that product.

    Please refer to the legend below to determine which license keys are required for the BEA products you own.



    BEA WebLogic Server Products (Product, Version, License ID/file)
    ================================================================

    BEA WebLogic Server Advantage Edition    10.0 - 10.0mp1    LIC-WLSA10.txt
                        9.2 - 9.2mp3    LIC-WLSA92.txt
                        9.0        LIC-WLSA90.txt

    BEA WebLogic Server Premium Edition    10.0 - 10.0mp1    LIC-WLSP10.txt
                        9.2 - 9.2mp3    LIC-WLSP92.txt
                        9.0        LIC-WLSP90.txt

    BEA WebLogic Server SDK            10.x        LIC-WLSP10-DEV
                        9.2        LIC-WLSP92-DEV
                        9.1        LIC-WLSP91-DEV
                        9.0        LIC-WLSP90-DEV

    BEA WebLogic Server Premium for Linux s/390 and z/Series
                        7.0sp1        LIC-WLS70-CLS-56

    BEA WebLogic Server Mid-Market Edition    10.0 - 10.0mp1    LIC-WLS10-MME.txt
                        9.2 - 9.2mp3    LIC-WLS92-MME.txt


        
    BEA WebLogic Platform Products (Product, Version, License ID/file)
    ==================================================================
                    
    BEA WebLogic Platform            10.2 ISV    LIC-PLAT102-ISVED
                        10.2        LIC-AUTONOMY

                                LIC-PORT102
                                
    LIC-WLI102
                        9.2mp3 ISV    LIC-PLAT92-ISVED
                        9.2 - 9.2mp3    LIC-PFRM92.txt
                        8.1 - 8.1sp6    LIC-PFRM81-128.txt
                        7.0 - 7.0sp7    LIC-PFRM70-128.txt

    <license
                
    component="WebLogic"
                cpus
    ="unvalued"
                expiration
    ="never"
                ip
    ="any"
                licensee
    ="Customer"
                serial
    ="454493271161-2642447506228"
                type
    ="RTK"
                units
    ="unlimited"
                signature
    ="MCwCFHRYQyBkRqhyayiKQBDxfTq/bWfYAhQj+RMMeDMVxjiYhBaXuHobbHe/JA=="
            
    />

    呵呵,都什么年代了,您還在Google、baidu中搜索“weblogic 破解”這樣的關(guān)鍵字嗎,用不著了。但是這并不意味著您可以免費(fèi)使用這些產(chǎn)品,熟悉Oracle的人都知道,如果您想在企業(yè)級(jí)應(yīng)用中部署這些產(chǎn)品,您還是得付money!

    posted @ 2008-06-05 10:46 在路上... 閱讀(11247) | 評(píng)論 (7)編輯 收藏

    開發(fā)環(huán)境一直使用jdbc14.jar "Oracle JDBC Driver version - 9.0.2.0.0"版本連接Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 服務(wù)器,突然今天不能連接了,報(bào)錯(cuò)誤如下:
    java.sql.SQLException: 不能在 UTF8 和 UCS2 之間轉(zhuǎn)換: failUTF8Conv
            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
    134)
            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
    179)
            at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:
    1130)
            at oracle.jdbc.dbaccess.DBConversion.failUTF8Conv(DBConversion.java:
    2261
    )
            at oracle.jdbc.dbaccess.DBConversion.utf8BytesToJavaChars(DBConversion.j
    ava:
    2061)
            at oracle.jdbc.dbaccess.DBConversion.utf8BytesToString(DBConversion.java
    :
    1976)
            at oracle.jdbc.dbaccess.DBConversion.CharBytesToString(DBConversion.java
    :
    543)
            at oracle.jdbc.ttc7.TTIoer.processWarning(TTIoer.java:
    334)
            at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:
    523)
            at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:
    278)
            at oracle.jdbc.driver.OracleConnection.
    <init>(OracleConnection.java:346)

            at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:
    468)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:
    314)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at JDBC.main(JDBC.java:
    9)
    然后更換為Oracle  11g的驅(qū)動(dòng),可以正常連接了,但是會(huì)顯示下面異常
    javax.management.MalformedObjectNameException: Invalid character '
    '
     in value part of property
    at javax.management.ObjectName.construct(ObjectName.java:529)
    at javax.management.ObjectName.
    <init>(ObjectName.java:1304)
    at oracle.jdbc.driver.OracleDriver.registerMBeans(OracleDriver.java:
    303)
    at oracle.jdbc.driver.OracleDriver$
    1.run(OracleDriver.java:213)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.jdbc.driver.OracleDriver.
    <clinit>(OracleDriver.java:209)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:
    164)
    采用9i驅(qū)動(dòng)還碰到下面錯(cuò)誤
    java.sql.SQLException: 違反協(xié)議
            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
    134)
            at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:
    179)
            at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:
    1160)
            at oracle.jdbc.ttc7.O3log.receive2nd(O3log.java:
    548)
            at oracle.jdbc.ttc7.TTC7Protocol.logon(TTC7Protocol.java:
    279)
            at oracle.jdbc.driver.OracleConnection.
    <init>(OracleConnection.java:371)

            at oracle.jdbc.driver.OracleDriver.getConnectionInstance(OracleDriver.ja
    va:
    551)
            at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:
    351)
            at java.sql.DriverManager.getConnection(Unknown Source)
            at java.sql.DriverManager.getConnection(Unknown Source)
    • 最終查詢資料,發(fā)現(xiàn)還是jdbc驅(qū)動(dòng)問題,原因因該是與bug有關(guān),因此從新從otn.oracle.com下載驅(qū)動(dòng)升級(jí)解決問題。
      ojdbc6.jar的驅(qū)動(dòng)版本可以運(yùn)行java -jar ojdbc6.jar查看,如果是Oracle 11.1.0.6.0-Production+ JDBC 4.0 compiled with JDK6,帶+號(hào)就是補(bǔ)丁版本,否則是沒有打補(bǔ)丁的,仍然可能出錯(cuò)。
    • 我遇到的請(qǐng)況,采用10.2.0.4的jdbc驅(qū)動(dòng)就沒有問題了
    • oracle jdbc驅(qū)動(dòng)下載地址如下:

    Oracle Database 11g Release 1 (11.1.0.6) drivers
    Oracle Database 10g Release 2 (10.2.0.4), (10.2.0.3), (10.2.0.2), (10.2.0.1.0) drivers
    Oracle Database 10g (10.1.0.5), (10.1.0.4), (10.1.0.2.0) drivers
    Oracle9i Release 2 (9.2.0.8), (9.2.0.5), (9.2.0.4), (9.2.0.3), & (9.2.0.1) drivers
    Oracle9i Release 1 (9.0.1.4) & (9.0.1) drivers
    Oracle8i Release 2 (8.1.7)

    posted @ 2008-06-03 12:46 在路上... 閱讀(5850) | 評(píng)論 (0)編輯 收藏

    1、首先到請(qǐng)下載最新版本的Java Service Wrapper,點(diǎn)我下載
    2、準(zhǔn)備如下文件,復(fù)制到test目錄,這些文件可以從下載包中找到:
    wrapper.dll
    wrapper.exe
    wrapper.jar
    3、編寫wrapper.conf,也放在同一級(jí)目錄下面,內(nèi)容如下

    # Java Application完整路徑
    wrapper.java.command
    =java

    wrapper.java.mainclass
    =org.tanukisoftware.wrapper.WrapperSimpleApp

    #定義程序運(yùn)行的classpath
    wrapper.java.classpath
    .1=wrapper.jar
    wrapper.java.classpath
    .2=[jar file/path]

    # Java Library Path (location of Wrapper.DLL or libwrapper.so)
    wrapper.java.library.path
    .1=.

    # Java Additional Parameters
    #wrapper.java.additional
    .1=

    # Initial Java Heap Size (in MB)
    #wrapper.java.initmemory
    =3

    # Maximum Java Heap Size (in MB)
    #wrapper.java.maxmemory
    =64

    # 運(yùn)行的Main Class
    wrapper.app.parameter
    .1=

    wrapper.console.format
    =PM
    wrapper.console.loglevel
    =INFO
    wrapper.logfile
    =Beanskt.log
    wrapper.logfile.format
    =LPTM
    wrapper.logfile.loglevel
    =INFO

    wrapper.logfile.maxsize
    =0
    wrapper.logfile.maxfiles
    =0
    wrapper.syslog.loglevel
    =NONE

    #window服務(wù)配置
    wrapper.console.title
    =samplesvr
    #服務(wù)名
    wrapper.ntservice.name
    =samplesvr

    # 顯示名稱
    wrapper.ntservice.displayname
    = sample  Service

    # 描述
    wrapper.ntservice.description
    =sample Service

    # 依賴項(xiàng)
    wrapper.ntservice.dependency
    .1=

    # 啟動(dòng)模式:  AUTO_START or DEMAND_START
    wrapper.ntservice.starttype
    =AUTO_START

    # 是否交互.
    wrapper.ntservice.interactive
    =false


    4、運(yùn)行測(cè)試,安裝服務(wù)
    》測(cè)試運(yùn)行是否正常
    wrapper.exe -c wrapper.conf
    》安裝服務(wù)
    wrapper.exe -i wrapper.conf
    》卸載服務(wù)
    wrapper.exe -r wrapper.conf
    》啟動(dòng)
    wrapper.exe -t wrapper.conf
    》停止
    wrapper.exe -p wrapper.conf




    posted @ 2008-01-17 15:06 在路上... 閱讀(6998) | 評(píng)論 (0)編輯 收藏

          稱為是最好的JAVA IDE開發(fā)平臺(tái)!包括:J2EE支持、Ant、JUnit、集成CVS。包含一個(gè)智能編輯器,代碼輔助和增強(qiáng)的自動(dòng)代碼工具。可提高JAVA開發(fā)人員的效率。

       JetBrains已經(jīng)發(fā)布了IntelliJ IDEA 7.0,IntelliJ IDEA 7里程碑1包括許多新的特性和提高,尤其是在對(duì)Java EE的支持上,包括Spring和Hibernate,代碼分析,擴(kuò)展版本控制支持,Rational ClearCase集成,增強(qiáng)了調(diào)試,代碼查詢,可用性和性能

       正使用IntelliJ IDEA 6.0的用戶可以免費(fèi)使用IntelliJ IDEA 7.0到2007年12月31號(hào),評(píng)估用戶可以從官方網(wǎng)站下載并有30天的免費(fèi)試用期。

       IntelliJ IDEA 7.0的新特性包括:

       1.性能提高
       IDE的啟動(dòng)速度得到改善
       編輯JSP的速度加快
       更快的XML的格式化

       2.對(duì)Hibernate的支持
       代碼助手

       3.對(duì)Spring的支持
       代碼助手
       觀察依賴的可視化圖表
       專門的文件設(shè)置編輯器

       4.與Eclipse的協(xié)作能力
       導(dǎo)入(從現(xiàn)有的Eclipse工程中創(chuàng)建IntelliJ IDEA .iml和.ipr文件 )
       導(dǎo)出(從現(xiàn)有的IntelliJ IDEA .iml文件中創(chuàng)建Eclipse工程文件)
       同步

       5.版本控制
       支持Rational ClearCase

       6.JavaScript
       支持JSON文件類型
       JSDoc和DoJo樣式類型注釋提供了更準(zhǔn)確的完成和參數(shù)類型信息
       JSDoc和DoJo樣式注釋的豐富文檔
       JavaScript命名空間完成/驗(yàn)證

    一份注冊(cè)碼如下,Enjoy!
    =============================================================

    user name:在路上...
    License:12008-M3132-RY84C-0GSMK-V7TNK-33XV0
    customer id:12008
    product id:IDEA
    license type:COMMERCIAL
    major version:7
    minor version:0
    generationDate:Mon Oct 22 16:31:47 CST 2007
    expirationDate:Sun Jan 20 16:31:47 CST 2008

     

    posted @ 2007-10-22 16:35 在路上... 閱讀(3312) | 評(píng)論 (0)編輯 收藏

    一個(gè)典型應(yīng)用中,使用delphi作為客戶端,J2EE服務(wù)端,兩者之間用XML作為數(shù)據(jù)交換,為了提高效率,對(duì)XML數(shù)據(jù)進(jìn)行壓縮,為此需要找到一種壓縮/解壓算法能夠兩個(gè)平臺(tái)之間交互處理,使用ZLIB算法就是一個(gè)不錯(cuò)的解決方案。
    1、JAVA實(shí)現(xiàn)
    在JDK中,在java.util.zip包中已經(jīng)內(nèi)置了ZLIB的實(shí)現(xiàn),示例代碼如下:
     1//解壓
     2    public String decompressData(String encdata) {
     3        try {
     4            ByteArrayOutputStream bos = new ByteArrayOutputStream();
     5            InflaterOutputStream zos = new InflaterOutputStream(bos);
     6            zos.write(convertFromBase64(encdata));
     7            zos.close();
     8            return new String(bos.toByteArray());
     9        }
     catch (Exception ex) {
    10            ex.printStackTrace();
    11            return "UNZIP_ERR";
    12        }

    13    }

    14
    15    //壓縮
    16    public String compressData(String data) {
    17        try {
    18            ByteArrayOutputStream bos = new ByteArrayOutputStream();
    19            DeflaterOutputStream zos = new DeflaterOutputStream(bos);
    20            zos.write(data.getBytes());
    21            zos.close();
    22            return new String(convertToBase64(bos.toByteArray()));
    23        }
     catch (Exception ex) {
    24            ex.printStackTrace();
    25            return "ZIP_ERR";
    26        }

    27    }

    2、DELPHI中的實(shí)現(xiàn)
    在DELPHI中,有第3方的控件可以利用來(lái)實(shí)現(xiàn)壓縮/解壓,這里我們選擇VCLZIP V3.04,可以從這里下載http://www.vclzip.net
    為了提高通用性,我們可以編寫一個(gè)標(biāo)準(zhǔn)的DLL,就可以在Win32平臺(tái)隨意調(diào)用了,關(guān)鍵代碼如下:
    function Cmip_CompressStr(txt: PChar): pchar; stdcall;
    var
      zip: TVclZip;
      compr: 
    string;
      data: PChar;
    begin
      zip :
    = TVclZip.Create(nil);
      compr :
    = zip.ZLibCompressString(txt);
      data :
    = pchar(Base64EncodeStr(compr));
      Result :
    = StrNew(data);
      zip.Free
    end;

    function Cmip_DeCompressStr(txt: PChar): pchar; stdcall;
    var
      zip: TVCLUnZip;
      compr: 
    string;
      data: PChar;
    begin
      zip :
    = TVCLUnZip.Create(nil);
      compr :
    = zip.ZLibDecompressString(Base64DecodeStr(txt));
      data :
    = StrNew(pchar(compr));
      Result :
    = data;
      zip.Free
    end;


    在我們當(dāng)前的項(xiàng)目中,采用的方案是Powerbuilder +DLL與J2EE平臺(tái)進(jìn)行xml數(shù)據(jù)交換的方式。

    posted @ 2007-10-10 10:35 在路上... 閱讀(3440) | 評(píng)論 (3)編輯 收藏

    在這里可以下載Resin  Plugin for  IntelliJ IDEA  ,但是對(duì)于3.1X好像還不支持。http://plugins.intellij.net/plugin/?id=215
    作者更新太慢,不好意思自己動(dòng)手反編譯修改了幾個(gè)地方,現(xiàn)在可以支持Resin Pro 3.1.2,如果需要地可以從這里
    * 下載:
    Resin_2640_31.zip
    * 安裝:
    修改文件名為Resin_2640_31.jar,復(fù)制到C:\Documents and Settings\[username]\.IntelliJIdea60\config\plugins下面
    * 修改記錄
    1、將3.1.2的resin.conf文件命名為resin31.conf加到org\intellij\j2ee\web\resin\resin下面
    2、將ResinVersion.java修改為如下方法判斷是否3.1版本

    public static final ResinVersion VERSION_3_X = new ResinVersion("Resin 3.x"{

            
    public boolean
     isOfVersion(File file)
            
    {
                
    return (new File(new File(file, "lib"), "jsdk-15.jar"
    )).exists();
            }


            
    public String getStartupClass()
            
    {
                
    return "com.caucho.server.resin.Resin"
    ;
            }


        }
    3、修改Resin3XConfigurationStrategy.java文件中部分判斷http port、host的代碼
    原來(lái)的XML節(jié)點(diǎn)為root->server->host->http->port   and  root->server->host->web-app
    3.1下面的XML節(jié)點(diǎn)為root->cluster->server-default->http->port and    root->cluster->host->web-app
    改過的代碼為
    Element httpElement = document.getRootElement().getChild("cluster", ns).getChild("server-default", ns).getChild("http", ns);

    Element host = getHost(document.getRootElement().getChild("cluster", ns), ns, webApp);

    List hosts = document.getRootElement().getChild("cluster", ns).getChildren("host", ns);

    public InputStream getDefaultResinConfContent()
        {
            return getClass().getResourceAsStream("/org/intellij/j2ee/web/resin/resin/resin31.conf");
        }

    原來(lái)的作者沒有開源,所以不好做進(jìn)一步的修改完善,對(duì)于3.0的版本應(yīng)該就不支持了。

    posted @ 2007-09-18 11:04 在路上... 閱讀(1802) | 評(píng)論 (2)編輯 收藏

    PowerBuilder在顯示圖片方面的確是一個(gè)弱項(xiàng),以前一直沒有找到好的方法,如果自己用delphi寫個(gè)ActiveX控件,在關(guān)閉的時(shí)候總會(huì)出現(xiàn)錯(cuò)誤,實(shí)在是很郁悶,后來(lái)發(fā)現(xiàn)Kodak Image Edit Control就沒有這個(gè)問題,而且可以支持BMP,DCX,GIF,JPG-JFIF,PCX,TIFF,WIFF,XIF等常見的圖片格式,該控件在win98,win2000等環(huán)境中都已經(jīng)安裝好了,對(duì)于XP環(huán)境也可以簡(jiǎn)單的從Win2000移植過來(lái)。
    1、鼠標(biāo)放大、縮小效果
    在OLE控件的other事件中加入下面的代碼
     1Choose   Case   Message.Number   
     2  Case   522
      
     3      if   IntHigh(message.wordparm)   =   120   then   //
    鼠標(biāo)滾輪向上 
     4        if int(ole_1.object.zoom)<=20 then
     return
     5          ole_1.object.zoom= ole_1.object.zoom -10

     6      else   
     7          ole_1.object.zoom= ole_1.object.zoom+10

     8      end   if   
     9
          ole_1.object.display()
    10End   Choose
    2、鼠標(biāo)拖動(dòng)效果
    如果不想選擇框老是出現(xiàn)的話,需要加入
    ole_1.object.SelectionRectangle = False
    1//1.定義Instance變量
    2int
     mousex,mousey
    3int moveon
    以下代碼屬于OLE控件的事件
    1//Event MouseDown事件
    2moveon=1
    3mousex=ocx_x
    4mousey=ocx_y

    1//MouseMove事件
    2if moveon=0 then return
    3ole_1.object.ScrollPositionX =ole_1.object.ScrollPositionX+(MouseX -ocx_x)
    4ole_1.object.ScrollPositionY =ole_1.object.ScrollPositionY+(MouseY -ocx_y)
    5ole_1.object.refresh()
    6mousex=ocx_x
    7mousey=ocx_y

    1//mouseUp事件
    2moveon=0

    posted @ 2007-04-11 17:21 在路上... 閱讀(2094) | 評(píng)論 (0)編輯 收藏

    網(wǎng)上有好多種struts+spring的集成思路,例如 http://dev.csdn.net/author/hql638/35679289a9a94e4f97e999508df064db.html
    這篇文章就介紹得很詳細(xì),介紹了下面三種方法:

    使用 Spring 的 ActionSupport 類整合 Structs
    使用 Spring 的 DelegatingRequestProcessor 覆蓋 Struts 的 RequestProcessor
    將 Struts Action 管理委托給 Spring 框架
    其實(shí)在使用spring+struts時(shí),我們往往就是想使用Ioc的特性,減少業(yè)務(wù)邏輯組件之間的依賴關(guān)系,通過高度靈活的XML配置提高業(yè)務(wù)的靈活性和擴(kuò)展性。步驟如下:
    首先依舊加入spring的context plugin到struts-config.xml中

    < struts-config >
    ??
    < plug-in
    ?????????
    className ="org.springframework.web.struts.ContextLoaderPlugIn" >
    ?????
    < set-property? property ="contextConfigLocation"
    ?????????value
    ="/WEB-INF/applicationContext.xml" ? />
    ??
    </ plug-in >
    </ struts-config >


    然后包裝一下struts的DispatchAction,提供一個(gè)方法可以直接獲取Spring的WebApplicationContext對(duì)象。

    package ?com.cngd.dataview.action;?

    import ?org.apache.struts.actions.DispatchAction;
    import ?org.springframework.web.context.WebApplicationContext;
    import ?org.springframework.web.struts.DelegatingActionUtils;?

    /** ? */ /**
    ?*?Date:?2007-1-11?16:57:48
    ?*
    ?*?
    @author ?midea0978
    ?*?
    @version ?1.0
    ?
    */

    public ? class ?CommDispatchAction? extends ?DispatchAction? {
    ????
    protected ?WebApplicationContext?getAppContext()? {
    ????????WebApplicationContext?context?
    = ?DelegatingActionUtils.findRequiredWebApplicationContext( this .getServlet(),? null );
    ????????
    return ?context;
    ????}

    }
    ?


    然后自己的action可以直接從CommDispatchAction繼承通過this.getAppContext();獲取WebApplicationContext,這樣對(duì)原有的
    struts程序架構(gòu)體系幾乎沒有太大的變化,同時(shí)可以引入spring的Ioc特性到現(xiàn)有系統(tǒng)中,這個(gè)與ActionSupport 中的
    getWebApplicationContext()方法類似了,但是可以不必拘泥于在兩者之間轉(zhuǎn)來(lái)轉(zhuǎn)去的。

    package ?com.cngd.dataview.action;?

    import ?com.spring.bo.WeatherService;
    import ?org.apache.log4j.Logger;
    import ?org.apache.struts.action.ActionForm;
    import ?org.apache.struts.action.ActionForward;
    import ?org.apache.struts.action.ActionMapping;
    import ?org.springframework.jdbc.core.JdbcTemplate;
    import ?org.springframework.jdbc.datasource.DriverManagerDataSource;
    import ?org.springframework.web.context.WebApplicationContext;?

    import ?javax.servlet.http.HttpServletRequest;
    import ?javax.servlet.http.HttpServletResponse;?

    /** ? */ /**
    ?*?Date:?2007-1-11?16:19:15
    ?*
    ?*?
    @author ?midea0978
    ?*?
    @version ?1.0
    ?
    */

    public ? class ?DataViewAction? extends ?CommDispatchAction? {
    ????
    static ?Logger?logger? = ?Logger.getLogger(DataViewAction. class .getName());?

    ????
    /** ? */ /**
    ?????*?
    @param ?actionMapping
    ?????*?
    @param ?actionForm
    ?????*?
    @param ?request
    ?????*?
    @param ?response
    ?????*?
    @return
    ?????*?
    @throws ?Exception
    ?????
    */

    ????
    public ?ActionForward?genReport(ActionMapping?actionMapping,?ActionForm?actionForm,?HttpServletRequest?request,?HttpServletResponse?response)
    ????????????
    throws ?Exception? {
    ????????String?yymm?
    = ?request.getParameter( " yymm " );
    ????????String?opname?
    = ?request.getParameter( " opname " );
    ????????logger.info(
    " 參數(shù): " ? + ?yymm? + ? " , " ? + ?opname);
    ????????WebApplicationContext?ctx?
    = ? this .getAppContext();
    ????????WeatherService?srv?
    = ?(WeatherService)?ctx.getBean( " weatherServiceBean " );
    ????????srv.showWeather();
    ????????DriverManagerDataSource?ds?
    = ?(DriverManagerDataSource)?ctx.getBean( " datasource " );
    ????????JdbcTemplate?jt?
    = ? new ?JdbcTemplate(ds);
    ????????String?sql?
    = ? " select?count(*)?from?tab " ;
    ????????
    int ?rows? = ?jt.queryForInt(sql);
    ????????System.out.println(rows);
    ????????
    return ?actionMapping.findForward( " viewresult " );
    ????}
    ?


    }
    ?

    posted @ 2007-01-11 17:27 在路上... 閱讀(2210) | 評(píng)論 (7)編輯 收藏

    通常在weblogic的config.xml文件中,對(duì)于關(guān)鍵字符串、密碼會(huì)自動(dòng)加密,例如LDAP密碼、數(shù)據(jù)庫(kù)JDBC連接池連接密碼等。通常加密之后前面會(huì)加上{3DES}的標(biāo)識(shí)。
    3DES就是DES算法的增強(qiáng),相關(guān)資料如下:
    1、DES(Data Encryption Standard)是一種經(jīng)典的對(duì)稱算法。其數(shù)據(jù)分組長(zhǎng)度為64位,使用的密鑰為64位,有效密鑰長(zhǎng)度為56位(有8位用于奇偶校驗(yàn))。它由IBM公司在70年代開發(fā),經(jīng)過政府的加密標(biāo)準(zhǔn)篩選后,于1976年11月被美國(guó)政府采用,隨后被美國(guó)國(guó)家標(biāo)準(zhǔn)局和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(American National Standard Institute, ANSI) 承認(rèn)。

    該技術(shù)算法公開,在各行業(yè)有著廣泛的應(yīng)用。DES算法從公布到現(xiàn)在已有20多年的歷史,由于計(jì)算機(jī)能力的飛速發(fā)展,DES的56位密鑰長(zhǎng)度顯得有些太短了,已經(jīng)有可能通過窮舉的

    方法來(lái)對(duì)其進(jìn)行攻擊。但是除此以外,直到現(xiàn)在還沒有發(fā)現(xiàn)窮舉以外的能有效破譯DES的方法。
    2、DES算法現(xiàn)在已經(jīng)不能提供足夠的安全性,因?yàn)槠溆行荑€只有56位。因此,后來(lái)又提出了三重DES(或稱3DES),該方法的強(qiáng)度大約和112比特的密鑰強(qiáng)度相當(dāng)。
    這種方法用兩個(gè)密鑰對(duì)明文進(jìn)行三次運(yùn)算。設(shè)兩個(gè)密鑰是K1和K2,其算法的步驟如圖3所示:
    1. 用密鑰K1進(jìn)行DES加密。
    2. 用K2對(duì)步驟1的結(jié)果進(jìn)行DES解密。
    3. 用步驟2的結(jié)果使用密鑰K1進(jìn)行DES加密。

    首先需要找到加密的密鑰,根據(jù)BEA文檔可以發(fā)現(xiàn)是文件SerializedSystemIni.dat,查找一下安裝目錄就可以找到整個(gè)問見,通常系統(tǒng)管理員應(yīng)該將該文件設(shè)置為不能直接訪問,以提高安全性。
    加密、解密的大致演示算法代碼如下,在WebLogic 9.2下面調(diào)試通過,運(yùn)行編譯前應(yīng)該先運(yùn)行setExamplesEnv.cmd(參考)的環(huán)境變量,以保證相關(guān)類庫(kù)已經(jīng)被引用了。對(duì)于低版本的WebLogic,例如WebLogic 7.0/8.1可能不能直接在命令行執(zhí)行,因?yàn)镾erializedSystemIni必須在控制臺(tái)Console環(huán)境下面才能調(diào)用,有興趣的朋友可以自行測(cè)試看看。
    ?1import?weblogic.security.internal.*;
    ?2import?weblogic.security.internal.encryption.EncryptionService;
    ?3import?weblogic.utils.encoders.BASE64Decoder;
    ?4import?weblogic.utils.encoders.BASE64Encoder;
    ?5public?class?CrackData?
    ?6{
    ?7????public?static?void?main(String[]?args)?
    ?8????{
    ?9????????byte[]?salt,keys;
    10????????salt=SerializedSystemIni.getSalt();
    11????????keys=SerializedSystemIni.getEncryptedSecretKey();
    12????????String?data="";
    13????????for(int?i=0;i<salt.length;i++){
    14????????????data+=salt[i]+",";
    15????????}

    16????????System.out.println("salt:"+data);
    17????????data="";
    18????????for(int?i=0;i<keys.length;i++){
    19????????????data+=keys[i]+",";
    20????????}

    21????????System.out.println("Key:"+data);
    22????????//EncryptionService?svr=SerializedSystemIni.getExistingEncryptionService();
    23????????EncryptionService?svr=SerializedSystemIni.getEncryptionService();
    24????????System.out.println(svr);
    25????????System.out.println(svr.getAlgorithm());
    26????????if(args.length>1){
    27????????????if(args[0].equals("encrypt")){
    28????????????????byte[]?edata=svr.encryptString(args[1]);
    29????????????????String?s?=?(new?BASE64Encoder()).encodeBuffer(edata);
    30????????????????System.out.println("Encode:"+s);
    31????????????}

    32????????????if(args[0].equals("decrypt")){
    33????????????????try{
    34????????????????byte[]?edata?=?(new?BASE64Decoder()).decodeBuffer(args[1]);
    35????????????????String?txt=svr.decryptString(edata);
    36????????????????System.out.println("Decode:"+txt);
    37????????????????}
    catch(Exception?ex){
    38????????????????????ex.printStackTrace();
    39????????????????}

    40????????????}

    41????????}

    42????????
    43????}

    44}

    45

    測(cè)試運(yùn)行結(jié)果如下:
    root@srdsh?#?/rdsh/bea92/jdk150_04/bin/java?CrackData?decrypt?nMttUc5jNe9RNJXslXjbJQ==
    -86,123,19,107,
    -42,-28,-75,-100,31,0,25,-93,75,115,40,-3,-15,42,-53,41,-25,-13,-6,8,36,85,-81,2
    8,66,-110,31,38,-29,-79,-44,-48,
    weblogic.security.internal.encryption.JSafeEncryptionServiceImpl@199f91c
    3DES
    Decode:weblogic
    root@srdsh?#?
    /rdsh/bea92/jdk150_04/bin/java?CrackData?decrypt?erzD515N5z2zSnOk7uG1cYQthCbYA5OU6Bw+Zt5BsjPruTQaOZASh+ZZW4kuBGvfbZ2BXWSACbgOZ2MY4bHtpOPps/6WfZJg
    -86,123,19,107,
    -42,-28,-75,-100,31,0,25,-93,75,115,40,-3,-15,42,-53,41,-25,-13,-6,8,36,85,-81,2
    8,66,-110,31,38,-29,-79,-44,-48,
    weblogic.security.internal.encryption.JSafeEncryptionServiceImpl@199f91c
    3DES
    Decode:
    0xa778f572127d2282247ec653147c35d4e4040aca016c6d1e06ab325af5798fca
    root@srdsh?#

    posted @ 2006-09-07 12:35 在路上... 閱讀(8532) | 評(píng)論 (1)編輯 收藏

    在安裝了Oracle 9i之后XDB的http默認(rèn)占用了8080,ftp會(huì)占用2100端口,其實(shí)XDB就是XML Database提供的一種服務(wù),在oracle中有一個(gè)package可以用來(lái)維護(hù)管理該服務(wù)的配置信息。這個(gè)包就是dbms_xdb.
    解決方法有下面幾種:
    1、sqlplus "/ as sysdba"連入數(shù)據(jù)庫(kù)
    SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081
      SQL> call dbms_xdb.cfg_update(updateXML(
        2        dbms_xdb.cfg_get()
        3      , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()'
        4      , 8081))
        5  /

      Call completed.


      SQL> -- Change the FTP port from 2100 to 2111
      SQL> call dbms_xdb.cfg_update(updateXML(
        2         dbms_xdb.cfg_get()
        3       , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()'
        4       , 2111))
        5  /

      Call completed.


      SQL> COMMIT;

      Commit complete.


      SQL> EXEC dbms_xdb.cfg_refresh;

      PL/SQL procedure successfully completed.


      SQL> -- Verify the change
      SQL> set long 100000
      SQL> set pagesize 9000
      SQL> SELECT dbms_xdb.cfg_get FROM dual;
    2、移除XDB服務(wù),將實(shí)例信息去掉
    dispatchers='(PROTOCOL=TCP) (SERVICE=<ORACLE_SID>XDB)'

    3、使用Oracle Enterprise Manager 中的的XML Database 配置信息中修改掉端口就可以了

    posted @ 2005-12-22 13:37 在路上... 閱讀(902) | 評(píng)論 (1)編輯 收藏

    僅列出標(biāo)題
    共4頁(yè): 上一頁(yè) 1 2 3 4 下一頁(yè) 
    主站蜘蛛池模板: jizz免费在线影视观看网站| 1000部国产成人免费视频| 四虎成人精品一区二区免费网站| 中文字幕亚洲一区二区va在线| 亚洲高清一区二区三区| 免费国产在线视频| 亚洲精品无码久久久| 亚洲色欲啪啪久久WWW综合网| 国产免费AV片在线观看| 亚洲视频在线免费| 亚洲精品无AMM毛片| 91精品免费在线观看| 久久夜色精品国产嚕嚕亚洲av| 阿v视频免费在线观看| 成年人视频在线观看免费| 久久亚洲AV无码精品色午夜麻豆| 中文字幕不卡免费高清视频| 国产yw855.c免费视频| 亚洲乱码中文字幕小综合| 99热这里只有精品免费播放| 亚洲熟妇无码AV在线播放| 爱情岛论坛免费视频| 韩国日本好看电影免费看| 亚洲人成网站日本片| 91免费福利精品国产| 久久久久久a亚洲欧洲AV| aaa毛片免费观看| 亚洲精品视频免费观看| 午夜亚洲国产精品福利| 永久免费看bbb| 亚洲乱码无人区卡1卡2卡3| 五月婷婷综合免费| 亚洲国产精品无码久久久| 日韩插啊免费视频在线观看| 亚洲AV无码一区二区三区系列| 国产精品无码永久免费888| 亚洲AⅤ视频一区二区三区| 国产精品亚洲专区无码WEB | 国产成人免费a在线资源| 亚洲色大成WWW亚洲女子| 成年午夜视频免费观看视频|