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

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

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

    隨筆-40  評論-66  文章-0  trackbacks-0
     

    1. dwr  - direct web remote
    2. 推技術
    3. http 長連接
    4. Comet  ----   HTTP長連接的“服務器推”技術
    5. Jetty服務器 ----  Jetty 6 Web 服務器針對 AJAX、Comet 應用的特點進行了很多創新的改進,請參考文章“AJAX,Comet and Jetty”(請參見 參考資源)。


    http://wiki.javascud.org/display/dwrcn/Home
    http://wiki.springside.org.cn/display/springside/DWR

    http://blog.csdn.net/octverve/archive/2007/09/26/1801826.aspx
    posted @ 2008-01-15 10:07 Super·shen BLOG 閱讀(310) | 評論 (0)編輯 收藏

    學習共進!

    MyEclipse 5.5 開發 Struts 1.2 簡單登錄的入門視頻(有聲+源碼)
      2007-09-19 01:50

    視頻講解: Netbeans 5.5 配置顯示中文 JavaDoc

    入門視頻: 使用 MyEclipse 開發 Swing 應用

    河南話講解 MyEclipse + Tomcat Servlet 開發入門視頻

    MyEclipse + JPA + Toplink 開發視頻: 開發并運行第一個 JPA 項目

    MyEclipse + JBoss 開發視頻: 配置,開發并運行第一個 EJB 3 項目

    JDBC 入門視頻: 配置 SQL Explorer 插件, ODBC 數據源, 建表, 用 JDBC 讀取數據庫

    Tomcat 入門視頻: 下載, 運行, 第一個 HelloWorld

    Eclipse 入門視頻: 下載, 運行, 第一個 HelloWorld

    Java 入門視頻: 下載, 安裝 JDK, 配置環境變量, HelloWorld

    推薦給初學者的 Java 視頻

    Netbeans 6.0 M10 開發 UML 項目的入門視頻

    MyEclipse UML 入門視頻2 - 根據代碼反向工程生成 UML

    MyEclipse UML 入門視頻

    MyEclipse + Tomcat 開發視頻: 下載,安裝,配置,開發并運行Web項目

    小電影: 用 MyEclipse 開發 Spring + Struts + Hibernate 的總結與操作視頻(9分鐘)

    小電影: 用 MyEclipse 開發 Spring + Struts 的總結與操作視頻(7分鐘)

    用MyEclipse 4 分鐘開發Spring整合Hibernate應用的視頻

    在 Linux 上配置并運行 Tomcat 服務器(入門整理)(視頻)

    Java 初學者入門視頻: 下載 JDK 和 Netbeans

    Eclipse 配置顯示中文 javadoc 的視頻

    Hibernate 英文 PPT 及 MyEclipse 操作視頻整理

    推薦一點 MyEclipse 的官方Spring,Hibernate入門視頻教程

    Netbeans 5.5 + JPA + Hibernate 3 + Tomcat 實例有聲視頻

    推薦一些AJAX視頻和文章

    夏昕 <<Spring 開發指南入門>>1 分鐘上手教程視頻(不帶解說)

    AJAX 入門培訓 PPT 及示例代碼

    Java EE 5 入門 PPT 講解有聲視頻 - 第二部分

    Java EE 5 入門 PPT 講解有聲視頻 - 第一部分

    Java EE 5 入門視頻 - 在 JSF 中使用 JPA

    Jigloo 開發 Swing 的入門教程

    視頻:使用 Netbeans 5.5可視化開發 JSF 的簡單注冊流程

    Java EE 5 入門視頻 - 在 J2SE 中使用 JPA

    Navicat管理Mysql 的視頻

    Weblogic 9 之旅圖文視頻 2 - Portal 開發環境設置, 簡單的Portal 開發(視頻已貼上)

    用 JProfiler4 調優 Weblogic 和 Tomcat 的視頻(原創)

    來自 http://www.tkk7.com/beansoft

    posted @ 2008-01-08 10:05 Super·shen BLOG 閱讀(693) | 評論 (0)編輯 收藏
    String command = "cmd /c C:/Program Files/MySQL/MySQL Server 5.0/bin>mysqldump -h localhost -u root -p aijia > E:/aijia.dmp";
      try {
       Process process = Runtime.getRuntime().exec(command);
       InputStreamReader ir = new InputStreamReader(process
         .getInputStream());
       LineNumberReader input = new LineNumberReader(ir);
       String line;
       while ((line = input.readLine()) != null)
        System.out.println(line);
       input.close();
      } catch (IOException e) {
       e.printStackTrace();
      }




    另外

    首先,設置mysql的環境變量(在path中添加%MYSQL_HOME%\bin),重啟電腦。
    完整代碼:
        /**
         * @param args
         */
        public static void main(String[] args) {
            /*
             * 備份和導入是一個互逆的過程。
             * 備份:程序調用mysql的備份命令,讀出控制臺輸入流信息,寫入.sql文件;
             * 導入:程序調用mysql的導入命令,把從.sql文件中讀出的信息寫入控制臺的輸出流
             * 注意:此時定向符">"和"<"是不能用的
             */
            backup();
            load();
        }

        /**
         * 備份檢驗一個sql文件是否可以做導入文件用的一個判斷方法:把該sql文件分別用記事本和ultra
         * edit打開,如果看到的中文均正常沒有亂碼,則可以用來做導入的源文件(不管sql文件的編碼格式如何,也不管db的編碼格式如何)
         */
        public static void backup() {
            try {
                Runtime rt = Runtime.getRuntime();

                // 調用 mysql 的 cmd:
                Process child = rt
                        .exec("mysqldump -u root --set-charset=utf8 bjse act_obj");// 設置導出編碼為utf8。這里必須是utf8
               
                // 把進程執行中的控制臺輸出信息寫入.sql文件,即生成了備份文件。注:如果不對控制臺信息進行讀出,則會導致進程堵塞無法運行
                InputStream in = child.getInputStream();// 控制臺的輸出信息作為輸入流
                           
                InputStreamReader xx = new InputStreamReader(in, "utf8");// 設置輸出流編碼為utf8。這里必須是utf8,否則從流中讀入的是亂碼
               
                String inStr;
                StringBuffer sb = new StringBuffer("");
                String outStr;
                // 組合控制臺輸出信息字符串
                BufferedReader br = new BufferedReader(xx);
                while ((inStr = br.readLine()) != null) {
                    sb.append(inStr + "\r\n");
                }
                outStr = sb.toString();
               
                // 要用來做導入用的sql目標文件:
                FileOutputStream fout = new FileOutputStream(
                        "e:/mysql-5.0.27-win32/bin/bjse22.sql");
                OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
                writer.write(outStr);
                // 注:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
                writer.flush();

                // 別忘記關閉輸入輸出流
                in.close();
                xx.close();
                br.close();
                writer.close();
                fout.close();

                System.out.println("/* Output OK! */");

            } catch (Exception e) {
                e.printStackTrace();
            }

        }

        /**
         * 導入
         *
         */
        public static void load() {
            try {
                String fPath = "e:/mysql-5.0.27-win32/bin/bjse22.sql";
                Runtime rt = Runtime.getRuntime();

                // 調用 mysql 的 cmd:
                Process child = rt.exec("mysql -u root bjse ");
                OutputStream out = child.getOutputStream();//控制臺的輸入信息作為輸出流
                String inStr;
                StringBuffer sb = new StringBuffer("");
                String outStr;
                BufferedReader br = new BufferedReader(new InputStreamReader(
                        new FileInputStream(fPath), "utf8"));
                while ((inStr = br.readLine()) != null) {
                    sb.append(inStr + "\r\n");
                }
                outStr = sb.toString();

                OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
                writer.write(outStr);
                // 注:這里如果用緩沖方式寫入文件的話,會導致中文亂碼,用flush()方法則可以避免
                writer.flush();
                // 別忘記關閉輸入輸出流
                out.close();
                br.close();
                writer.close();

                System.out.println("/* Load OK! */");

            } catch (Exception e) {
                e.printStackTrace();
            }

        }
    posted @ 2007-12-07 13:25 Super·shen BLOG 閱讀(5483) | 評論 (1)編輯 收藏
    用Flex/Central/Java上傳文件      
         in java:
    import com.oreilly.servlet.MultipartRequest;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.IOException;
    import java.io.PrintWriter;

    public class UploadServlet extends HttpServlet {
        protected void doGet( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException {;}

        protected void doPost( HttpServletRequest req, HttpServletResponse res ) throws ServletException, IOException {
            MultipartRequest parts = new MultipartRequest( req, "C:\\MyUploadPath" );
            PrintWriter out = res.getWriter();

            out.print( "SUCCESS" );
            out.close();
        }
    }

          in mxml:
    < mx:Application initialize="initApp( event )" xmlns:mx="http://www.macromedia.com/2003/mxml">
         < mx:Button id="btnUpload" label="Upload..." click="doUpload( event )" />
         < mx:Image id="imgUpload" width="100%" height="100%" horizontalAlign="center" />
    </mx:Application>

         as:

    private function doUpload( event:Object ):Void {
        var file:FileReference = new FileReference();

        // Ask the user to choose a file to upload
        if( file.browse( ["JPEG Files", "*.jpg"] ) ) {
            file.addListener( this );
            file.upload( "http://myurl/servlet/MyUploadServlet" );
        }
    }

    private function onUploadSuccess( ref:FileReference, response:String ):Void {
        imgUpload.source = "http://myurl/myfilepath/" + ref.name;
    }

    private function onUploadFailed( ref:FileReference, error:String, response:String ):Void {
        mx.controls.Alert.show( "Upload error: " + error );
    }

       

    servlet獲取絕對路徑方法:
    ServletConfig   config   =   this.getServletConfig();     
    ServletContext   context   =   getServletContext();   
    String   path   =   context.getRealPath("");  
    posted @ 2007-12-03 14:50 Super·shen BLOG 閱讀(1928) | 評論 (1)編輯 收藏
    用flex做即時通訊,收到的最新消息應該在最下面,但textArea的滾動條默認在最上方,不方便查看最新消息。

    可以使用 maxVerticalScrollPosition屬性可以獲取最下方的值,非常方便


    另外提供類:

    package Util
    {
        import mx.controls.TextArea;

        public class ChatTextarea extends TextArea
        {
            public function ChatTextarea()
            {
                super();
            }
           
            override public function set htmlText( value:String ):void
            {
                super.htmlText = value;
                this.validateNow();
                if( textField ) verticalScrollPosition = textField.maxScrollV
            }
           
            override public function set text( value:String ):void
            {
                super.htmlText = value;
                this.validateNow();
                if( textField ) verticalScrollPosition = textField.maxScrollV;
            }
        }

    }
    posted @ 2007-11-22 16:34 Super·shen BLOG 閱讀(3121) | 評論 (0)編輯 收藏
    問題:

    然后運行某Flex程序時,出現如下提示:
    This content requires the Adobe Flash Player. Get Flash
    但是,鏈接到Adobe的Flash Player下載網頁,重裝了N次也不行。

    google到下面的信息:
    "...Flex Builder 2 裏面附的 debugger player 版次比正式版的 Flash Player 9 舊一點,有時會導致網頁的自動偵測失靈(誤以為user沒裝 flash player),所以現在 adobe 網頁上已經有新版的 debugger player ,可以先試試裝那個版本看看。"


    實際解決方法:
    因為本機已安裝了Flex bulider 3 , 既然知道問題所在,就不用再去down了,找到...\Flex bulider 3\Players\目錄,運行Install Flash Player 9 ActiveX.msi,選擇Repair,出錯失敗,再次選擇Remove卸載,重新安裝此ActiveX,瀏覽器中刷新mxml頁面,OK,搞定,收工。
    posted @ 2007-11-22 13:30 Super·shen BLOG 閱讀(1409) | 評論 (0)編輯 收藏

    已經很久沒摸過FLASH了,由于要接一個項目需要用的flash實現。 當我使用flash cs3 寫程序時發現已經和以前的大不一樣了!多年沒接觸本來還想在友人面前顯耀一下寶刀未老,天哪,好多地方不一樣了,剛接觸還真不習慣,還出丑了。

    flash cs3  的改變源自于 as3的重大改變。更源于flash player AM2的重大改變。

    as3功能很強大,語言和java類型,也是面向對象的,也是使用虛擬機解釋。 (虛擬機這個概念太強了?,F在的主流程序都是用類似虛擬機技術,JAVA  .NET  FLEX)

    實現技術原理 flash 和 java 曾經紅火一時的applet 幾乎差不多了。但是flash更為簡單易用,易于入門!


    posted @ 2007-11-22 10:49 Super·shen BLOG 閱讀(314) | 評論 (0)編輯 收藏
         摘要: 如何解決端口沖突導致tomcat無法啟動的問題 Tomcat在啟動時主要使用下面的3個端口 <Server port="8005" shutdown="SHUTDOWN" debug="0"> <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors=...  閱讀全文
    posted @ 2007-11-22 10:00 Super·shen BLOG 閱讀(16622) | 評論 (2)編輯 收藏
    自己在網上找了半天沒找到只有 “時分秒”的控件, 就自己做了個,發在這里方便有人用到


    鼠標點擊 后 的效果


    SetTime.js

    /**//***********************************
    * 簡單時間控件: version 1.0
    * 作者:李祿燊 
    * 時間:2007-10-31

    * 使用說明:
    * 首先把本控件包含到頁面 
    * <script src="XXX/setTime.js" type="text/javascript"></script>
    * 控件調用函數:_SetTime(field)
    * 例如 <input name="time" type="text"   onclick="_SetTime(this)"/>
    *
    ***********************************
    */
    var str = "";
    document.writeln(
    "<div id=\"_contents\" style=\"padding:6px; background-color:#E3E3E3; font-size: 12px; border: 1px solid #777777;  position:absolute; left:?px; top:?px; width:?px; height:?px; z-index:1; visibility:hidden\">");
    str 
    += "\u65f6<select name=\"_hour\">";
    for (h = 0; h <= 9; h++) {
        str 
    += "<option value=\"0" + h + "\">0" + h + "</option>";
    }
    for (h = 10; h <= 23; h++) {
        str 
    += "<option value=\"" + h + "\">" + h + "</option>";
    }
    str 
    += "</select> \u5206<select name=\"_minute\">";
    for (m = 0; m <= 9; m++) {
        str 
    += "<option value=\"0" + m + "\">0" + m + "</option>";
    }
    for (m = 10; m <= 59; m++) {
        str 
    += "<option value=\"" + m + "\">" + m + "</option>";
    }
    str 
    += "</select> \u79d2<select name=\"_second\">";
    for (s = 0; s <= 9; s++) {
        str 
    += "<option value=\"0" + s + "\">0" + s + "</option>";
    }
    for (s = 10; s <= 59; s++) {
        str 
    += "<option value=\"" + s + "\">" + s + "</option>";
    }
    str 
    += "</select> <input name=\"queding\" type=\"button\" onclick=\"_select()\" value=\"\u786e\u5b9a\" style=\"font-size:12px\" /></div>";
    document.writeln(str);
    var _fieldname;
    function _SetTime(tt) {
        _fieldname 
    = tt;
        
    var ttop = tt.offsetTop;    //TT控件的定位點高
        var thei = tt.clientHeight;    //TT控件本身的高
        var tleft = tt.offsetLeft;    //TT控件的定位點寬
        while (tt = tt.offsetParent) {
            ttop 
    += tt.offsetTop;
            tleft 
    += tt.offsetLeft;
        }
        document.all._contents.style.top 
    = ttop + thei + 4;
        document.all._contents.style.left 
    = tleft;
        document.all._contents.style.visibility 
    = "visible";
    }
    function _select() {
        _fieldname.value 
    = document.all._hour.value + ":" + document.all._minute.value + ":" + document.all._second.value;
        document.all._contents.style.visibility 
    = "hidden";
    }




    posted @ 2007-11-01 15:33 Super·shen BLOG 閱讀(11139) | 評論 (13)編輯 收藏

    下邊的所有都是自己對JAVA的理解不知道對不對,有待于以后實踐驗證

    用JAVA編程,無論是什么框架,什么庫,什么插件, 他們的也還是來自 最基本java類編程。

    比如,我猜想 TOMCAT服務器,也是由一個帶MAIN方法的類來啟動的, 然后開通一個端口服務器,它的原理應該和java socket server編程應該是一個道理。主要是啟動一些類,來接受客戶端的請求(容器的原理應該是這樣吧)


    再說 servlet 也是基本的 JAVA類, 他們是受容器的管理,受到的是容器的調用(容器應該也就是帶main的java類),并對客戶端產生相應。

    還有像 jsp 的所謂表現層框架,最終也是調用到帶main函數的java類。 它的原理是 jsp編譯生產 servlet ,servlet 最終還是依靠容器。
    其實我想,自己也可以開發一個表現層,只要能實時編譯成servlet,就能和jsp一樣的功能了。
    不過jsp是sun公司的標準產品,它的庫已經集合在大多數容器上了,得到廣大容器的廣泛支持,出來得也早,用人也多,很少人想到要做新的表現層(如果沒什么好功能,就等于重復發明車輪)。

    FreeMarker 的原理也是一樣,簡單說它就是一個庫,你可以把它集合到容器里,得到容器的支持后,用FreeMarker 編寫的表現層就能實時編譯成servlet。  最后得到的和jsp 得到的是一個效果。
    FreeMarker 最終的結果還是容器調用。

    不過要做一個FreeMarker 可不簡單,要有好的想法,要不就和jsp功能重復了,沒價值。


    以上都是個人想出來的 不知道是否正確 有待于個人深入學習。



    posted @ 2007-09-17 11:46 Super·shen BLOG 閱讀(4466) | 評論 (5)編輯 收藏
    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 久久精品a亚洲国产v高清不卡| 亚洲欧洲另类春色校园网站| 亚洲欧美熟妇综合久久久久| 18禁在线无遮挡免费观看网站| 天天摸夜夜摸成人免费视频| 亚洲成在人天堂一区二区| 免费人人潮人人爽一区二区| 毛片免费观看网站| 亚洲精品电影天堂网| 国产午夜精品免费一区二区三区 | 456亚洲人成影院在线观| 日韩精品无码免费专区午夜不卡| 全亚洲最新黄色特级网站 | 亚洲女人影院想要爱| a级毛片免费完整视频| 亚洲日韩VA无码中文字幕 | 国产在线精品观看免费观看| 啊灬啊灬别停啊灬用力啊免费看| 国产精品亚洲片在线va| h视频在线观看免费网站| 亚洲美女免费视频| 在线看片免费人成视久网| 亚洲AV无码成人网站久久精品大| 亚欧乱色国产精品免费视频| 无码欧精品亚洲日韩一区夜夜嗨 | 亚洲乱妇熟女爽到高潮的片 | 免费国产黄网站在线观看 | 亚洲AV无码一区二区乱子伦| a视频在线免费观看| 久久亚洲精品AB无码播放| 99在线观看免费视频| 亚洲色图.com| 成人毛片18女人毛片免费| 亚洲日本va一区二区三区| 国产美女无遮挡免费网站| 国产亚洲人成在线影院| 亚洲色精品88色婷婷七月丁香 | 久久久久女教师免费一区| 国产成人精品日本亚洲网站| 四虎影视在线影院在线观看免费视频 | 高清在线亚洲精品国产二区|