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

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

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

    jsenter

    2005年4月24日 #

    JAVA的IO學(xué)習(xí)全面講解。

    IO兩大主流,16位和8位
    16位對應(yīng)Writer 和 Reader
    根據(jù)編程目的不同有
    FileWriter和FileWriter        對文件進(jìn)行讀寫。
    StringWriter、StringReader    對內(nèi)存里的位置進(jìn)行讀寫。
    PipedWrier、PipedReader       兩個線程間通訊用

     8位對應(yīng)InputStream 和 OutputStream
    根據(jù)編程目的不同有
    FileInputStream、FileOutputStream            對文件進(jìn)行讀寫
    ByteArrayInputStream、ByteArrayOutputStream  對字節(jié)數(shù)組進(jìn)行讀寫
    PipedInputStream、PipedOutputStream          線程間通訊用
    注意:在數(shù)據(jù)流里不存在字符串的IO操作,那樣就要用Reader和Writer類

    二者的橋梁在InputStreamReader、OutputStreamWriter

    BufferedWriter、BufferedReader、BufferedInputStream、BufferedOutputStream

    是用來提高IO速度的,注意包裝的時候最好最先包裝Buffered,這樣效果會好些。

    包裝模式的理解。Package Pattern

    各種Data Type的長度的記憶.
    還要注意對象流的使用.

    高級IO操作:
    信道IO,java.nio.channels包
    他的主要特征是可以對內(nèi)存進(jìn)行快讀寫操作,進(jìn)行內(nèi)存映射.
    同時可以創(chuàng)建各種數(shù)據(jù)類型的緩沖區(qū),從而提高IO操作效率.

    posted @ 2005-04-24 03:56 李貝 閱讀(860) | 評論 (0)編輯 收藏

    2005年3月31日 #

    JAVA授權(quán)事件模型講解(原創(chuàng))

    JAVA的授權(quán)事件模型包含三個概念:事件源,事件,事件監(jiān)聽器。

    一,事件源:一個產(chǎn)生事件的對象。當(dāng)這個對象的內(nèi)部狀態(tài)改變時,事件就會產(chǎn)生。一個事件源必須注冊一個事件監(jiān)聽器已使監(jiān)聽器能夠可以接受一個特定時間的通知。每一種事件都有它特定的注冊方法,通用形式為:addTypeListener(TypeListener e)

    二,事件:一個事件是描述了一個事件源的狀態(tài)改變的對象。他可能通過一個人與圖形用戶接口的交互產(chǎn)生。如輸入文字,點(diǎn)擊鼠標(biāo)。也可能不是由這些產(chǎn)生,如:一個事件可能在定時器中到期而產(chǎn)生。當(dāng)然用戶也可以自由的定義自己的事件。

    注意:其中的Type可以是Key, Mouse,等。一個事件源可能允許注冊多個事件監(jiān)聽器,也可能只允許注冊一個監(jiān)聽器。

    事件源也允許注銷一個事件監(jiān)聽器,通用方法為:removeTypeListener(TypeListener e);

    三,事件監(jiān)聽器:一個當(dāng)事件發(fā)生時的時候被通知的對象。它有兩個要求:
    1,它必須在事件源中注冊。
    2,它必須實(shí)現(xiàn)接受和處理事件通知的方法。

    還是來個比喻吧:你要想成為一個可以接受事件并處理事件的對象(即事件監(jiān)聽器),必須繼承TypeListener類,其中的Type為事件類型。然后去注冊你想監(jiān)聽的對象,并自己實(shí)現(xiàn)處理事件發(fā)生的方法,然后你就坐在等待事件的發(fā)生啦,哈哈!


    附源程序研究用:
    /*===============DemoEvent.java清單=============*/
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.*;


    public class DemoEvent extends Applet implements MouseListener, MouseMotionListener{
        public String msg = "";
        public int mouseX = 0, mouseY = 0;
        
        /*
        *注冊事件監(jiān)聽器
        */
        public void init() {
            addMouseListener(this);
            addMouseMotionListener(this);
        }

        /*
        *下面為所有處理MouseEvent的方法,當(dāng)然你可以自定義自己的方法,但不能少了這些。
        */
        public void mouseMoved(MouseEvent me) {
            showStatus("mouse moved at :"+me.getX() +"," + me.getY());    
        }
        public void mouseReleased(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "UP";
            repaint();    
        }
        public void mouseClicked(MouseEvent me) {
            mouseX = 0;
            mouseY = 10;
            msg = "Mouse clicked!";
            repaint();
        }
        public void mouseEntered(MouseEvent me) {
            mouseX = 0;
            mouseY = 10;    ;
            msg = "Mouse Entered!";
            repaint();
        }
        public void mouseExited(MouseEvent me) {
            mouseX = 0;
            mouseY = 0;
            msg = "Mouse Exited!";
            repaint();
        }
        public void mouseDragged(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "*";
            repaint();    
        }
        public void mousePressed(MouseEvent me) {
            mouseX = me.getX();
            mouseY = me.getY();
            msg = "Down";
            repaint();
        }
        /*===================方法說明結(jié)束==================*/    
        public void paint(Graphics g) {
            g.drawString(msg, mouseX, mouseY);
        }
    }
    /*
    *相關(guān)說明:這里的DemoEvent既是事件源也是事件監(jiān)聽器。
    *
    */
    /*===================DemoEvent.java清單===================*/

    posted @ 2005-03-31 22:44 李貝 閱讀(1379) | 評論 (4)編輯 收藏

    2005年3月27日 #

    JAVA - IO包的學(xué)習(xí)引導(dǎo)文章(摘抄)

     什么是IO
      IO(Input/Output)是計算機(jī)輸出/輸出的接口。Java的核心庫java.io提供了全面的IO接口,包括:文件讀寫,標(biāo)準(zhǔn)設(shè)備輸出等等。Java中IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫入輸出流,或者從輸入流讀入。此外,Java也對塊傳輸提供支持,在核心庫 java.nio中采用的便是塊IO。關(guān)于NIO我們在后面還有專門的討論。
      流IO的好處是簡單易用,缺點(diǎn)是效率較低。塊IO效率很高,但編程比較復(fù)雜。

    Java IO模型

      Java的IO模型設(shè)計非常優(yōu)秀,它使用Decorator模式,按功能劃分Stream,您可以動態(tài)裝配這些Stream,以便獲得您需要的功能。例如,您需要一個具有緩沖的文件輸入流,則應(yīng)當(dāng)組合使用FileInputStream和BufferedInputStream。
      Java的IO體系分Input/Output和Reader/Writer兩類,區(qū)別在于Reader/Writer在讀寫文本時能自動轉(zhuǎn)換內(nèi)碼?;旧?,所有的IO類都是配對的,即有XxxInput就有一個對應(yīng)的XxxOutput。

    Java IO教程

      如果您對Decorator模式非常了解,就能輕易地看出Java的IO類結(jié)構(gòu):根接口是InputStream/OutputStream,充當(dāng)數(shù)據(jù)源的IO類有 FileInputStream/FileOutputStream, ByteArrayInputStream/ByteArrayOutputStream等,充當(dāng)裝飾功能的IO類有 BufferedInputStream/BufferedOutputStream, DataInputStream/DataOutputStream等,它們都是繼承裝飾接口 FilterInputStream/FilterOutputStream。使用IO時,首先創(chuàng)建一個數(shù)據(jù)源IO,然后根據(jù)需要的功能創(chuàng)建裝飾類IO,其構(gòu)造函數(shù)的參數(shù)為已創(chuàng)建的數(shù)據(jù)源IO。我們以創(chuàng)建一個具有緩沖的文件輸入流為例,假定需要從磁盤讀取文件“C:\log.txt”:
    // 創(chuàng)建一個FileInputStream:
    FileInputStream fileInput = new FileInputStream("C:\\log.txt");
    // 創(chuàng)建一個BufferedInputStream:
    BufferedInputStream bufferedInput = new BufferedInputStream(fileInput);
    // 現(xiàn)在得到的bufferedInput即是具有緩沖的文件輸入流
      或者進(jìn)一步簡寫如下:
    InputStream input = new BufferedInputStream(
        new FileInputStream("C:\\log.txt"));
    // 現(xiàn)在得到的input即是具有緩沖的文件輸入流
      在您對Java的IO有了總體了解后,我們推薦您看看教程Introduction to Java I/OI/O: Reading and Writing

    posted @ 2005-03-27 10:30 李貝 閱讀(603) | 評論 (0)編輯 收藏

    JBuilder 9 Enterprise Edition添加加mysql驅(qū)動

     
    配置環(huán)境:
    1、Windows XP Pro sp2
    2、JBuilder 9Enterprise
    3、MySQL 4.0.15
    4、MySQL 的JDBC driver 3.0.9 ,下載網(wǎng)址:
    http://www.mysql.com/downloads/api-jdbc-stable.html
    本文對JBuilder和MySQL的安裝不在此累述,重點(diǎn)從MySQL 的JDBC driver談起。

            首先,解開MySQL 的JDBC driver的壓縮包,其實(shí)在這個包中真正有用的就是mysql-connector-java-3.0.9-stable-bin.jar,所以我直接把它放到c:systemmysql-jdbc(這個目錄可以自己定義)下

    在JBuilder中,做如下的操作:

    一、選擇Tool -> Configure Libraries,在Configure Libraries窗口中選擇左邊列表框下的New,彈出New Library Wizard 窗口,在Name中輸入mysql(可以自己定義),Location中選擇User Home,點(diǎn)擊Add,選擇mysql jdbc的路徑:c:systemmysql-jdbc mysql-connector-java-3.0.9-stable-bin.jar,點(diǎn)擊ok(兩次);

    二、選擇Project -> Project Properties -> Paths -> Required Libraries -> 點(diǎn)擊Add,選擇第一步驟中添加的User Home下的mysql,點(diǎn)擊ok(兩次);

    三、選擇Tool -> Enterprise Setup -> Database Drivers -> 點(diǎn)擊Add,選擇剛添加的User Home下的mysql,點(diǎn)擊ok,在列表框中出現(xiàn)mysql.config,點(diǎn)擊ok;

    四、提示重新啟動JBuilder,設(shè)置才能生效,確定后,重啟JBuilder;

    五、選擇Tool -> Database Pilot ,在Database Pilot窗口中選擇View -> Options -> Drivers -> 點(diǎn)擊Add

    Driver class中輸入:com.mysql.jdbc.Driver
    Sample URL中輸入:mysql://localhost/DataBaseName 點(diǎn)擊ok;

    六、在Database Pilot窗口中選擇File -> New,在New URL 窗口中,
    Driver:從列表中選擇第五步驟建立的com.mysql.jdbc.Driver
    URL:將DataBaseName改為存在的數(shù)據(jù)庫,本例中的URL如下:jdbc:mysql://localhost/admin,點(diǎn)擊ok;

    七、在Database Pilot窗口中Database URLs列表中雙擊剛建立的url,輸入連接數(shù)據(jù)庫的用戶名、密碼,連接成功。

    附測試程序:

    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="errorinfo.jsp"%>
    <%@page import="java.sql.*"%>
    <%@page import="java.util.*"%>

    <%
    //Initialize
    java.sql.Connection    conn;
    java.sql.Statement     stmt;
    java.sql.ResultSet     rst;

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    String strUrl = "jdbc:mysql://localhost/admin";
    String strQuery = "select * from test3";
    conn= DriverManager.getConnection(strUrl, "root", "");
    stmt = conn.createStatement();
    rst = stmt.executeQuery(strQuery);
    rst.next();
    %>
    <%=rst.getString("a")%>
    <%
    rst.absolute();
    conn.close();
    %>

    注:test3為數(shù)據(jù)庫admin里面的一個表。

    posted @ 2005-03-27 10:29 李貝 閱讀(963) | 評論 (0)編輯 收藏

    MySQL使用入門篇 - 安裝及一些基本操作。

     1,安裝使用默認(rèn)的安裝也可以,也可以自定義安裝,都較簡單。
    安裝后為了使用方便,最好建立環(huán)境變量:path= %path%;你的mysql安裝路徑\bin 就可以了。

    首先要跟MySQL 服務(wù)器連接:
    mysql -uroot -p   //sql用戶默認(rèn)沒有密碼
    會出現(xiàn)提示符: mysql>_

    然后選擇使用的數(shù)據(jù)庫:
    use mysql         //mysql為一個系統(tǒng)的數(shù)據(jù)庫名,還有test,不過是一個空的數(shù)據(jù)庫.

    然后就可以進(jìn)行相應(yīng)的操作:
    mysql> 輸入相應(yīng)的操作指令,然后加上 \g就可以執(zhí)行了。
    example:
    mysql>select * from user /g  回車

    以下是摘抄自網(wǎng)上的關(guān)于修改密碼,新建用戶的操作。

    二、修改密碼。
    格式:mysqladmin -u用戶名 -p舊密碼  password 新密碼
    1、例1:給root加個密碼ab12。首先在DOS下進(jìn)入目錄mysqlbin,然后鍵入以下命令
       mysqladmin -uroot -password ab12 
      注:因?yàn)殚_始時root沒有密碼,所以-p舊密碼一項(xiàng)就可以省略了。
    2、例2:再將root的密碼改為djg345。
       mysqladmin -uroot -pab12 password djg345


    三、增加新用戶。(注意:和上面不同,下面的因?yàn)槭荕YSQL環(huán)境中的命令,所以后面都帶一個分號作為命令結(jié)束符)
    格式:grant select on 數(shù)據(jù)庫.* to 用戶名@登錄主機(jī) identified by "密碼"
    例1、增加一個用戶test1密碼為abc,讓他可以在任何主機(jī)上登錄,并對所有數(shù)據(jù)庫有查詢、插入、修改、刪除的權(quán)限。首先用以root用戶連入MYSQL,然后鍵入以下命令:
      grant select,insert,update,delete on *.* to
    test1@"%" Identified by "abc";
    但例1增加的用戶是十分危險的,你想如某個人知道test1的密碼,那么他就可以在internet上的任何一臺電腦上登錄你的mysql數(shù)據(jù)庫并對你的數(shù)據(jù)可以為所欲為了,解決辦法見例2。
    例2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,并可以對數(shù)據(jù)庫mydb進(jìn)行查詢、插入、修改、刪除的操作(localhost指本地主機(jī),即MYSQL數(shù)據(jù)庫所在的那臺主機(jī)),這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問數(shù)據(jù)庫,只能通過MYSQL主機(jī)上的web頁來訪問了。
      grant select,insert,update,delete on mydb.* to
    test2@localhost identified by "abc";
      如果你不想test2有密碼,可以再打一個命令將密碼消掉。
      grant select,insert,update,delete on mydb.* to
    test2@localhost identified by ""; 


    posted @ 2005-03-27 10:28 李貝 閱讀(792) | 評論 (0)編輯 收藏

    J2EE學(xué)習(xí)之-搭建開發(fā)平臺

     

    我的開發(fā)平臺選用了Weblogic Workshop 8.1,服務(wù)是用的Weblogic Server, Windows XP Pro  SP2平臺。

    相關(guān)技術(shù)站點(diǎn): http://dev2dev.bea.com.cn/index.jsp

           第一次搭建這樣的平臺,開始到網(wǎng)上找了很多的技術(shù)文章看了看。由于機(jī)器的配置不高。所以還找了一些關(guān)于配置Weblogic Server的

    文章。

           安裝BEA產(chǎn)品的目錄為D:\bea,這樣,Weblogic Wrokshop就在bea目錄下面的Weblogic81文件夾里面。

           下面對BEA目錄下的文件及其Weblogic81目錄下面的一些文件夾內(nèi)容作一個介紹:
            BEA_HOME_DIR:
                    jdk131_xx      Sun Java 2 SDK的1.3.1版本,xx指明安裝在機(jī)器上的Sun SDK版本。
                    jrockit xxx.   Weglogic JRockit SDK. xxx指明了安裝在機(jī)器上的版本。
                    logs           包含安裝和卸載BEA主目錄的歷史文件。
                    utils          包含支持安裝所有BEA Weblogic 品臺產(chǎn)品的有用工具。utils.jar包含有支持 UpdateLicense工具的代碼。
                    user_projects  用戶自己再創(chuàng)建的工程文件就保存在這里。
                    license.bea    基于XML格式的license文件,含有安裝的所有BEA WEBLOGIC產(chǎn)品的LICENSE鍵值。,增加一個有效(永久 的

                                   )的LICENSE或因附加功能更新LICENSE時,必須使用UPDATELICENSE工具更新LICENSE文件,注意:最好不要

                                   手工編輯這個文件。
                    registry.xml   注冊文件。包含安裝在目標(biāo)機(jī)器上的所有BEA產(chǎn)品的一致性記錄,是與產(chǎn)品有關(guān)的信息。例如版本號、服務(wù) 

                                 號、和安裝目錄等。
                    UpdateLicense(.cmd/.sh)
                                   一個命令文件(windows NT/2000)或shell腳本(UNIX),用與通過新LICENSE文件更新目前的LICENSE文件。結(jié) 

                                   果是一個合并的LICENSE,包含存在的和新的LICENSE兩部分。
                   
            Weblogic81:
                    common         Weblogic平臺組件共享的文件,包括一個含有jar文件的摸班目錄,供配置向?qū)г趧?chuàng)建域時使用,配置向?qū)?nbsp;

                                 目錄內(nèi)容并顯示基于jar文件的模版選項(xiàng)。
                    integration    Weblogic Integration程序文件。
                    javalin        100%的純JAVA編譯器,用于Weblogic平臺中的組件的編譯。
                    p13n           weblogic可移植性個性化文件和庫。
                    portal         weblogic portal程序文件。
                    samples        例子代碼,資源和預(yù)配置的例子域,被設(shè)計來用來幫助用戶學(xué)習(xí)開發(fā)自己的應(yīng)用。
                    server         weblogic server程序文件。
                    uninstall      卸載weblogic平臺平臺所需要的代碼。
                    workshop       weblogic weorkshop平臺程序和文件。
     
         安裝完后新建一個工程,然后按CTRL+F9鍵來編譯JSP和JAVA文件。然后按F9就可以執(zhí)行了。當(dāng)然你也可以直接在瀏覽器里面輸入相應(yīng)地址

    來執(zhí)行。假如無誤的話瀏覽器應(yīng)該正常顯示文字。
        
         weblogic為學(xué)習(xí)者提供了一些例子。用戶執(zhí)行 bea\weblogic81\samples\domains\workshop 下面的startweblogic.cmd就可以啟動

    weblogiic服務(wù)器,然后在瀏覽器里面輸入:http://localhost:7001/console/ 就可以進(jìn)入控制臺來管理了。
         控制臺用戶帳號的建立:開始-》程序-》weblogic Platform -》configuration wizard就可以新建一個帳號。
        
         關(guān)于console的配置學(xué)習(xí)以后將陸續(xù)有講解,請期待......

        
         附錄:新建一個工程后將在%BEA_HOME%\user_projects\applications\下面新建一個文件夾文件夾名字就是新建的Projects的名字。里面

    一共有5個文件夾和兩個文件:

     Directorys:

                 .workshop, APP _INF, Project_nameWeb, MEAT_INF, Schemas

     Files:

                .beabuild, Project_name.work

         其中的Project_name為你新建的Projects的名字。這樣在Project_name下面就是保存的你新建的網(wǎng)站項(xiàng)目的一些文件,如: index.jsp,

    然后你在Weblogic Workshop里面在直接編輯他們,寫入代碼。完成你的項(xiàng)目。

    測試:

          再在Weblogic Workshop里面啟動服務(wù)器,當(dāng)然也可以手動啟動服務(wù)器, 在瀏覽器里面輸入:

    http://localhost:7001/Projects_nameWeb 就可以測試你編寫得你的網(wǎng)站項(xiàng)目了。

          以后將陸續(xù)推出一系列的數(shù)據(jù)庫編程文章,請關(guān)注我的Blog.      

    posted @ 2005-03-27 10:27 李貝 閱讀(1253) | 評論 (0)編輯 收藏

    僅列出標(biāo)題  
    主站蜘蛛池模板: 59pao成国产成视频永久免费| 亚洲高清中文字幕免费| 久久夜色精品国产噜噜亚洲AV| 最近免费2019中文字幕大全| 亚洲av最新在线观看网址| 国产午夜亚洲精品午夜鲁丝片| 99热在线精品免费播放6| 亚洲国产精品无码久久久秋霞1| 中文字幕第13亚洲另类| 免费观看美女用震蛋喷水的视频| 国产成人亚洲毛片| 亚洲视频在线观看免费| 久久亚洲精品中文字幕三区| 国产精品久久永久免费| 成人在线免费视频| 亚洲一级免费视频| 亚洲中文字幕无码一久久区| 美女视频黄的全免费视频网站| 永久免费无码日韩视频| 亚洲av日韩av综合| 亚洲精品福利视频| 亚洲精品网站在线观看不卡无广告 | 毛片免费全部播放无码| 一级午夜a毛片免费视频| 亚洲偷自精品三十六区| 久久九九亚洲精品| 免费国产成人午夜私人影视| 18禁男女爽爽爽午夜网站免费| 成人嫩草影院免费观看| 亚洲人成网站在线在线观看| 亚洲成在人天堂在线| 亚洲日韩VA无码中文字幕| 成人免费无毒在线观看网站 | 国内精品久久久久影院免费| 午夜亚洲乱码伦小说区69堂| 亚洲啪啪免费视频| 亚洲日韩图片专区第1页| 亚洲精品无码成人AAA片| 国产精品亚洲综合一区| 国产精品无码免费视频二三区| 亚洲天堂免费在线|