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

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

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

    posts - 495,  comments - 11,  trackbacks - 0
     

    Web開發領域的最新時髦術語其實質是“舊貌換新顏”。

    Ajax(Asynchronous JavaScript and XML)是結合了Java技術、XML以及JavaScript等編程技術,可以讓開發人員構建基于Java技術的Web應用,并打破了使用頁面重載的慣例。

    Ajax是使用客戶端腳本與Web服務器交換數據的Web應用開發方法。這樣,Web頁面不用打斷交互流程進行重新加裁,就可以動態地更新。使用Ajax,用戶可以創建接近本地桌面應用的直接、高可用、更豐富、更動態的Web用戶界面。

    異步JavaScript和XML(AJAX)不是什么新技術,而是指這樣一種方法:使用幾種現有技術——包括級聯樣式表(CSS)、JavaScript、XHTML、XML和可擴展樣式語言轉換(XSLT),開發外觀及操作類似桌面軟件的Web應用軟件。實現Ajax的所有組件都已存在了許多年。Adaptive Path的用戶體驗戰略部門主管兼創辦合伙人Jesse James Garrett今年2月發表在Adaptive Path網站上的一篇文章中杜撰了這個術語。

    異步這個詞是指AJAX應用軟件與主機服務器進行聯系的方式。如果使用舊模式,每當用戶執行某種操作、向服務器請求獲得新數據,Web瀏覽器就會更新當前窗口。

    如果使用AJAX的異步模式,瀏覽器就不必等用戶請求操作,也不必更新整個窗口就可以顯示新獲取的數據。只要來回傳送采用XML格式的數據,在瀏覽器里面運行的JavaScript代碼就可以與服務器進行聯系。JavaScript代碼還可以把樣式表加到檢索到的數據上,然后在現有網頁的某個部分加以顯示。

    在面向消費者的諸多應用當中,Google的Gmail和Google Maps就是最常見的例子。在Gmail當中,AJAX負責如何開啟線程會話,以顯示不同郵件的文本內容。而在Maps當中,AJAX允許用戶以一種似乎無縫的方式拖拉及滾動地圖。

    還有雅虎的Flickr像片共享應用和亞馬遜網站的A9搜索引擎。另外,雅虎新的Web郵件服務可能很快就會吸引AJAX支持者的莫大關注,這項服務基于雅虎收購Oddpost后得到的技術。

    這些UI都充分地使用了后臺通道,也被一些開發者稱為“Web 2.0”,并導致了大家對Ajax應用興趣的猛漲。

    然而,AJAX應用軟件廠商越來越把目光瞄準了企業。譬如說,Scalix的Web Access電子郵件應用軟件其實比微軟Outlook自己的Web郵件界面更像Outlook。

    不過AJAX應用軟件的適用領域具有一定的局限性。因為它們利用了一些最新的Web技術,所以只能在某些Web瀏覽器里面運行——不過AJAX適用的瀏覽器正越來越多。

    一、AJAX開發者的最新工具和技術

    基于XML的異步JavaScript,簡稱AJAX,是當前Web創新(稱為Web2.0)中的一個王冠。感謝組成AJAX的各種技術,Web應用的交互如Flickr, Backpack和Google在這方面已經有質的飛躍。這個術語源自描述從基于網頁的Web應用到基于數據的應用的轉換。在基于數據的應用中,用戶需求的數據如聯系人列表,可以從獨立于實際網頁的服務端取得并且可以被動態地寫入網頁中,給緩慢的Web應用體驗著色使之像桌面應用一樣。

    雖然大部分開發人員在過去使用過XMLHttp或者使用Iframe來加載數據,但僅到現在我們才看到傳統的開發人員和公司開始采用這些技術。就像新的編程語言或模型伴隨著更多的痛苦,開發人員需要學習新的技巧及如何最好利用這些新技術。

    二、AJAX模式

    許多重要的技術和AJAX開發模式可以從現有的知識中獲取。例如,在一個發送請求到服務端的應用中,必須包含請求順序、優先級、超時響應、錯誤處理及回調,其中許多元素已經在Web服務中包含了,就像現在的SOA。AJAX開發人員擁有一個完整的系統架構知識。同時,隨著技術的成熟還會有許多地方需要改進,特別是UI部分的易用性。

    AJAX開發與傳統的CS開發有很大的不同。這些不同引入了新的編程問題,最大的問題在于易用性。由于AJAX依賴瀏覽器的JavaScript和XML,瀏覽器的兼容性和支持的標準也變得和JavaScript的運行時性能一樣重要了。這些問題中的大部分來源于瀏覽器、服務器和技術的組合,因此必須理解如何才能最好的使用這些技術。

    綜合各種變化的技術和強耦合的客戶服務端環境,AJAX提出了一種新的開發方式。AJAX開發人員必須理解傳統的MVC架構,這限制了應用層次之間的邊界。同時,開發人員還需要考慮CS環境的外部和使用AJAX技術來重定型MVC邊界。最重要的是,AJAX開發人員必須禁止以頁面集合的方式來考慮Web應用而需要將其認為是單個頁面。一旦UI設計與服務架構之間的范圍被嚴格區分開來后,開發人員就需要更新和變化的技術集合了。

    三、時刻想著用戶

    AJAX的最大機遇在于用戶體驗。在使應用更快響應和創新的過程中,定義Web應用的規則正在被重寫;因此開發人員必須更注重用戶。現在用戶已經逐漸習慣如何使用Web應用了。例如用戶通常希望每一次按鈕點擊會導致幾秒的延遲和屏幕刷新,但AJAX正在打破這種長時間的狀況。因此用戶需要重新體驗按鈕點擊的響應了。

    可用性是AJAX另人激動的地方而且已經產生了幾種新穎的技術。其中最引人注目的是一種稱為“黃色隱出”的技術,他在數據更新之前時將用戶界面變為黃色,更新完成后立刻恢復原來的顏色。AJAX開發人員將用戶從Web應用的負載中解放出來;小心地利用AJAX提供的豐富接口,不久桌面開發人員會發現AJAX是他們的方向。

    四、幾種工具和技術

    隨著AJAX迅速地引人注目起來,我想開發人員對這種技術的期待也迅速地增加。就像任何新技術,AJAX的興旺也需要一整個開發工具/編程語言及相關技術系統來支撐。

    1、JavaScript

    如名字所示AJAX的概念中最重要而最被忽視的是他也是一種JavaScript編程語言。JavaScript是一種粘合劑使AJAX應用的各部分集成在一起。在大部分時間,JavaScript通常被服務端開發人員認為是一種企業級應用不需要使用的東西應該盡力避免。這種觀點來來自以前編寫JavaScript代碼的經歷:繁雜而又易出錯的語言。類似的,他也被認為將應用邏輯任意地散布在服務端和客戶端中,這使得問題很難被發現而且代碼很難重用。在AJAX中JavaScript主要被用來傳遞用戶界面上的數據到服務端并返回結果。XMLHttpRequest對象用來響應通過HTTP傳遞的數據,一旦數據返回到客戶端就可以立刻使用DOM將數據放到網面上。

    2、XMLHttpRequest

    XMLHttpRequest對象在大部分瀏覽器上已經實現而且擁有一個簡單的接口允許數據從客戶端傳遞到服務端,但并不會打斷用戶當前的操作。使用XMLHttpRequest傳送的數據可以是任何格式,雖然從名字上建議是XML格式的數據。

    開發人員應該已經熟悉了許多其他XML相關的技術。XPath可以訪問XML文檔中的數據,但理解XML DOM是必須的。類似的,XSLT是最簡單而快速的從XML數據生成HTML或XML的方式。許多開發人員已經熟悉Xpath和XSLT,因此AJAX選擇XML作為數據交換格式有意義的。XSLT可以被用在客戶端和服務端,他能夠減少大量的用JavaScript編寫的應用邏輯。

    3、CSS

    為了正確的瀏覽AJAX應用,CSS是一種AJAX開發人員所需要的重要武器。CSS提供了從內容中分離應用樣式和設計的機制。雖然CSS在AJAX應用中扮演至關重要的角色,但他也是構建創建跨瀏覽器應用的一大阻礙,因為不同的瀏覽器廠商支持各種不同的CSS級別。

    五、服務器端

    但不像在客戶端,在服務端AJAX應用還是使用建立在如Java,.Net和PHP語言基礎上機制;并沒有改變這個領域中的主要方式。

    既然如此,我們對Ruby on Rails框架的興趣也就迅速增加了。在一年多前,Ruby on Rails已經吸引了大量開發人員基于其強大功能來構建Web和AJAX應用。雖然目前還有很多快速應用開發工具存在,Ruby on Rails看起來已經儲備了簡化構建AJAX應用的能力。

    六、開發工具

    在實際構建AJAX應用中,你需要的不只是文本編輯器。既然是JavaScript非編譯的,他可以容易地編寫和運行在瀏覽器中;然而,許多工具提供了有用的擴展如語法高亮和智能完成。

    不同的IDE提供了對JavaScript支持的不同等級。來自JetBrains的IntelliJ IDEA是一個用來JavaScript開發的更好的IDE,雖然許多開發人員也喜歡Microsoft’s Visual Studio產品(允諾會在最新的版本中改善對AJAX的支持)。Eclipse包含了兩個免費的JavaScript編輯器插件和一個商業的來自ActiveStat的Komodo IDE。

    另一個JavaScript和AJAX開發中的問題是調試困難。不同的瀏覽器提供不同的通常是隱藏的運行時錯誤信息,而JavaScript的缺陷如雙重變量賦值(通常是由于缺少數據類型)使得調試更加困難。在AJAX的開發中,調試就更復雜了,因為其需要標識究竟是客戶端還是服務端產生的錯誤。在過去,JavaScript調試的方法是刪除所有代碼然后一行行的增加直到錯誤出現。現在,更多開發人員回到為IE準備的Microsoft Script Debugger和為Mozilla瀏覽器準備的Venkman。


    七、瀏覽器兼容性

    JavaScript編程的最大問題來自不同的瀏覽器對各種技術和標準的支持。構建一個運行在不同瀏覽器(如IE和火狐)是一個困難的任務。因此幾種AJAX JavaScript框架或者生成基于服務端邏輯或標記庫的JavaScript,或者提供符合跨瀏覽器AJAX開發的客戶端JavaScript庫。一些流行的框架包括:AJAX.Net, Backbase, Bitkraft, Django, DOJO, DWR, MochiKit, Prototype, Rico, Sajax, Sarissa, and Script.aculo.us.

    這些框架給開發人員更多的空間使得他們不需要擔心跨瀏覽器的問題。雖然這些框架提升了開發人員構建應用的能力,但由于廠商已經開發了更細節的用戶界面的打包組件解決方案,因此在AJAX組件市場中需要考慮一些其他因素。例如提供通用用戶界面的組件如組合框和數據柵格的幾個廠商,都可以被用來在應用中創建良好的通過類似電子數據表方式來查看和編輯數據的體驗。但這些組件不僅是封裝了組件的用戶界面而且包括與服務端數據的通訊方式,這些組件通常使用基于標記方式來實現如ASP.Net或JSF控件。


    八、展望

    最近IE和火狐之間的瀏覽器之爭變得火熱起來,因此AJAX開發人員需要足夠敏捷的作出反應。關鍵點在一些問題如CSS或XML,雖然各種瀏覽器形成采用最新標準的不同陣營(如Mozilla擁抱SVG和E4X標準及在最新火狐BETA版本中使用XUL,而微軟使用自己的XAML技術)。所有這些技術代表當前AJAX主流JavaScript和XML的市場方向改變。

    總的來說,AJAX開發人員必須盡快地跟進最新的技術并利用高產的工具集。成功的AJAX開發人員還需要留心他們的使用者以避免將任何問題擴大化。并且AJAX開發人員還需要持續地創新來創建增強Web應用易用性的新方法。

    posted @ 2007-05-02 10:15 jadmin 閱讀(103) | 評論 (0)編輯 收藏

    Ajax: DWR方式

    按照與文章評價系統相同的流程,我們將使用Direct Web Remoting(DWR)框架實現同樣的功能。

    假定文章和投票結果存儲在一個數據庫中,使用某種對象/關系映射技術來完成抽取工作。為了部署起來盡可能地簡單,我們不會使用數據庫進行持久性存儲。此外,為使應用程序盡可能通用,也不使用Web框架。相反,應用程序將從一個靜態HTML文件開始,可以認為它由服務器動態地呈現。除了這些簡化措施,應用程序還應該使用Spring Framework關聯一切,以便輕松看出如何在一個“真實的”應用程序中使用DWR。

    現在應該下載示例應用程序并熟悉它。該應用程序被壓縮為標準的WAR文件,因此您可以把它放置到任何一個Web容器中——無需進行配置。部署完畢之后,就可以導航到http://localhost:7001/ajax_demo/dwr-ajax.html來運行程序。

    可以查看HTML源代碼,了解它如何工作。給人印象最深的是,代碼如此簡單——所有與服務器的交互都隱藏在JavaScript對象ajaxSampleSvc的后面。更加令人驚訝的是,ajaxSampleSvc服務不是由手工編寫而是完全自動生成的!讓我們繼續,看看這是如何做到的。

    引入DWR

    如同在“原始的Ajax”一節所演示的那樣,直接使用XmlHttpRequest創建異步請求非常麻煩。不僅JavaScript代碼冗長,而且必須考慮服務器端為定位Ajax請求到適當的服務所需做的工作,并將結果封送到瀏覽器。

    設計DWR的目的是要處理將Web頁面安裝到后端服務上所需的所有信息管道。它是一個Java框架,可以很輕松地將它插入到Web應用程序中,以便JavaScript代碼可以調用服務器上的服務。它甚至直接與Spring Framework集成,從而允許用戶直接向Web客戶機公開bean。

    DWR真正的巧妙之處是,在用戶配置了要向客戶機公開的服務之后,它使用反射來生成JavaScript對象,以便Web頁面能夠使用這些對象來訪問該服務。然后Web頁面只需接合到生成的JavaScript對象,就像它們是直接使用服務一樣;DWR無縫地處理所有有關Ajax和請求定位的瑣碎細節。

    讓我們仔細分析一下示例代碼,弄清它是如何工作的。

    應用程序細節:DWR分析

    關于應用程序,首先要注意的是,它是一個標準的Java應用程序,使用分層架構(Layered Architecture)設計模式。使用DWR通過JavaScript公開一些服務并不影響您的設計。

    下面是一個簡單的Java服務,我們將使用DWR框架直接將其向JavaScript代碼公開:

    package com.tearesolutions.service;
    
    public interface AjaxSampleSvc { 
    ??? Article castVote(int rank);
    }
    

    這是一個被簡化到幾乎不可能的程度的例子,其中只有一篇文章可以投票。該服務由Spring管理,它使用的bean名是ajaxSampleSvc,它的持久性需求則依賴于ArticleDao。詳情請參見applicationContext.xml。

    為了把該服務公開為JavaScript對象,需要配置DWR,添加dwr.xml文件到WEB-INF目錄下:

    dwr.xml文件告訴DWR哪些服務是要直接向JavaScript代碼公開的。注意,已經要求公開Spring bean ajaxSampleSvc。DWR將自動找到由應用程序設置的SpringApplicationContext。為此,必須使用標準的servlet過濾器ContextLoaderListener來初始化Spring ApplicationContext。

    DWR被設置為一個servlet,所以把它的定義添加到web.xml:

     Ajax Examples
    
    ??????? org.springframework.web.context.ContextLoaderListener
    ???
    ??ajax_sample
    ??com.tearesolutions.web.AjaxSampleServlet
    ??1
    
    ??dwr-invoker
    ??DWR Servlet
    ??Direct Web Remoter Servlet
    ??uk.ltd.getahead.dwr.DWRServlet
    ??
    ???debug
    ???true
    ???
    ??ajax_sample
    ??/ajax_sample
    ??
    ??dwr-invoker
    ??/dwr/*
    

    做完這些之后,可以加載http://localhost:7001/ajax-demo/dwr,看看哪些服務可用。結果如下:

    圖3. 可用的服務

    單擊ajaxSampleSvc鏈接,查看有關如何在HTML頁面內直接使用服務的示例實現。其中包含的兩個JavaScript文件完成了大部分的功能:
    
    

    ajaxSampleSvc.js是動態生成的:

    function ajaxSampleSvc() { }
    
    ajaxSampleSvc.castVote = function(callback, p0)
    { 
    ??? DWREngine._execute(callback, '/ajax-demo/dwr', 
     'ajaxSampleSvc', 'castVote', p0);
    }
    

    現在可以使用JavaScript對象ajaxSampleSvc替換所有的XmlHttpRequest代碼,從而重構raw-ajax.html文件。可以在dwr-ajax.html文件中看到改動的結果;下面是新的JavaScript函數:

    function castVote(rank) {
    ??? ajaxSampleSvc.castVote(processResponse, rank);
    }
    function processResponse(data) {
     var voteText = "

    Thanks for Voting!

    " ????? + "

    Current ranking: " + data.voteAverage ????? + " out of 5

    " ????? + "

    Number of votes placed: " ????? + data.numberOfVotes + "

    "; 502 502'votes').innerHTML = voteText;???????? }

    驚人地簡單,不是嗎?由ajaxSampleSvc對象返回的Article域對象序列化為一個JavaScript對象,允許在它上面調用諸如numberOfVotes()和voteAverage()之類的方法。在動態生成并插入到DIV元素“votes”中的HTML代碼內使用這些數據。

    下一步工作

    在后續文章中,我將繼續有關Ajax的話題,涉及下面這些方面:

    posted @ 2007-05-02 10:13 jadmin 閱讀(99) | 評論 (0)編輯 收藏

    作為J2EE開發人員,我們似乎經常關注“后端機制(backend mechanics)”。我們通常會忘記,J2EE的主要成功之處在Web應用程序方面;許多原因使得人們喜歡利用Web開發應用程序,但主要還是因為其易于部署的特點允許站點以盡可能低的成本擁有上百萬的用戶。遺憾的是,在過去幾年中,我們在后端投入了太多的時間,而在使我們的Web用戶界面對用戶自然和響應靈敏方面卻投入不足。

    本文介紹一種方法,Ajax,使用它可以構建更為動態和響應更靈敏的Web應用程序。該方法的關鍵在于對瀏覽器端的JavaScript、DHTML和與服務器異步通信的組合。本文也演示了啟用這種方法是多么簡單:利用一個Ajax框架(指DWR)構造一個應用程序,它直接從瀏覽器與后端服務進行通信。如果使用得當,這種強大的力量可以使應用程序更加自然和響應靈敏,從而提升用戶的瀏覽體驗。

    該應用程序中所使用的示例代碼已打包為單獨的WAR文件,可供下載。

    簡介

    術語Ajax用來描述一組技術,它使瀏覽器可以為用戶提供更為自然的瀏覽體驗。在Ajax之前,Web站點強制用戶進入提交/等待/重新顯示范例,用戶的動作總是與服務器的“思考時間”同步。Ajax提供與服務器異步通信的能力,從而使用戶從請求/響應的循環中解脫出來。借助于Ajax,可以在用戶單擊按鈕時,使用JavaScript和DHTML立即更新UI,并向服務器發出異步請求,以執行更新或查詢數據庫。當請求返回時,就可以使用JavaScript和CSS來相應地更新UI,而不是刷新整個頁面。最重要的是,用戶甚至不知道瀏覽器正在與服務器通信:Web站點看起來是即時響應的。

    雖然Ajax所需的基礎架構已經出現了一段時間,但直到最近異步請求的真正威力才得到利用。能夠擁有一個響應極其靈敏的Web站點確實激動人心,因為它最終允許開發人員和設計人員使用標準的HTML/CSS/JavaScript堆棧創建“桌面風格的(desktop-like)”可用性。

    通常,在J2EE中,開發人員過于關注服務和持久性層的開發,以至于用戶界面的可用性已經落后。在一個典型的J2EE開發周期中,常常會聽到這樣的話,“我們沒有可投入UI的時間”或“不能用HTML實現”。但是,以下Web站點證明,這些理由再也站不住腳了:

    posted @ 2007-05-02 10:07 jadmin 閱讀(95) | 評論 (0)編輯 收藏

    > Windows環境
    安裝好JDK后,開始設置Java的環境變量:
    PS:本人的JDK的版本是jdk1.5.0_05,WinXP系統
    對于WinXP或Win2000:
    用鼠標右擊“我的電腦”->屬性->高級->環境變量
    系統變量->新建->變量名:JAVA_HOME 變量值:C:\Program Files\Java\jdk1.5.0_05
    系統變量->編輯->變量名:Path 在變量值的最前面加上:%JAVA_HOME%\bin;(若已經有Path項,無須另外新建,直接在后

    面加,但需用;與前面已有的項分隔開)
    系統變量->新建->變量名:CLASSPATH 變量值:
    .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

    若為做MSSQL數據庫開發而安裝了Microsoft SQL Server 2000 Driver for JDBC的話,
    還需將msutil.jar,mssqlserver.jar,msbase.jar 3個文件加到CLASSPATH里

    若裝了Ant工具,還需新建一個ANT_HOME項 變量值為相應目錄,
    我的Ant安裝目錄為E:\Program Files\apache-ant-1.7.0
    并且將%Ant_HOME%\bin加入Path項

    以下是我的Java環境變量設置

    JAVA_HOME
    C:\Program Files\Java\jdk1.5.0_05

    Path
    C:\Windows;C:\Windows\Command;
    C:\Program Files\Java\jdk1.5.0_05\bin;
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
    C:\Program Files\MySQL\MySQL Server 5.2\bin;
    C:\Program Files\Microsoft SQL Server\80\Tools\BINN;
    E:\Program Files\apache-ant-1.7.0\bin

    CLASSPATH
    .;
    C:\Program Files\Java\jdk1.5.0_05\lib;
    C:\Program Files\Java\jdk1.5.0_05\lib\dt.jar;
    C:\Program Files\Java\jdk1.5.0_05\lib\tools.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar

    ?

    > Linux環境 (Red Hat 9.0)

    1.從java.cun.com下載jdk-6u7-linux-i586.bin

    2.ftp上傳jdk到linux的root目錄下

    3.進入root目錄,先后執行命令

    chmod 755 jdk-6u18-linux-i586-rpm.bin

    ./jdk-6u18-linux-i586-rpm.bin

    一路按提示下去就會安裝成功

    4.設置環境變量,jdk6u7以后的不要要設置環境變量的


    > 最后測試下環境變量是否設置成功
    Win+R組合鍵
    cmd回車
    輸入javac
    如果出現如下信息

    用法:javac <選項> <源文件>
    其中,可能的選項包括:
    -g?????????????????????????? 生成所有調試信息
    -g:none????????????????????? 不生成任何調試信息
    -g:{lines,vars,source}?????? 只生成某些調試信息
    -nowarn????????????????????? 不生成任何警告
    -verbose???????????????????? 輸出有關編譯器正在執行的操作的消息
    -deprecation???????????????? 輸出使用已過時的 API 的源位置
    -classpath <路徑>????????????? 指定查找用戶類文件的位置
    -cp <路徑>???????????????????? 指定查找用戶類文件的位置
    -sourcepath <路徑>???????????? 指定查找輸入源文件的位置
    -bootclasspath <路徑>????????? 覆蓋引導類文件的位置
    -extdirs <目錄>??????????????? 覆蓋安裝的擴展目錄的位置
    -endorseddirs <目錄>?????????? 覆蓋簽名的標準路徑的位置
    -d <目錄>????????????????????? 指定存放生成的類文件的位置
    -encoding <編碼>?????????????? 指定源文件使用的字符編碼
    -source <版本>???????????????? 提供與指定版本的源兼容性
    -target <版本>???????????????? 生成特定 VM 版本的類文件
    -version???????????????????? 版本信息
    -help??????????????????????? 輸出標準選項的提要
    -X?????????????????????????? 輸出非標準選項的提要
    -J<標志>?????????????????????? 直接將 <標志> 傳遞給運行時系統

    恭喜,你的Java環境變量配置成功!

    若出現

    'javac' 不是內部或外部命令,也不是可運行的程序
    或批處理文件。

    說明此次Java環境變量配置出錯了,仔細檢查下吧!

    posted @ 2007-05-01 04:30 jadmin 閱讀(51) | 評論 (0)編輯 收藏

    使用Google-FireFox比較IE瀏覽器好的理由:

    更強大:
    FireFox內部集成了廣告攔截、快速下載、分頁瀏覽、英漢字典、RSS即時新聞、Google合一的搜索等功能,是目前功能最為強大的瀏覽器!
    更快速:
    Google使用了一項緩存技術(caching and cookie-ing technology)對Firefox進行了專門的優化,當用戶使用Firefox瀏覽器在Google搜索時,搜索速度將大大加快。用官方的話來說就 是即點即現。 同時IE占用內存太大,而firefox確只占其四分之一不到。
    更干凈:
    只到目前為止,FireFox還沒有多如牛毛的企業插件(你使用“上網助手”查一下,隨便一臺機器,都有幾十個流氓插件,讓你的瀏覽器越來越慢)。
    更安全:
    相對于受到黑客萬眾注目又漏洞百出的IE來講,Firefox的安全性能要好得多。同時,我們都痛恨商業壟斷和黑幕,FireFox是開放源代碼、不依賴于商業基金的軟件系統,正在挑戰微軟在瀏覽器行業的霸主地位 …

    Google-Firefox的超酷使用秘笈:

    標簽式(卡片式)瀏覽:
    標簽式瀏覽可以極大地節省您的時間。 在Firefox的“工具”菜單中選“選項”,然后點擊頂部的“標簽式瀏覽”,按鈕,在下面的選單的第一組中選中“在最近打開的窗口中新建標簽頁”;選中第二組的“新建標簽頁”。

    自動填表:
    Firefox可以記住您輸入的表單內容,使您在下次登錄時不需要再填寫表格,超級方便!當然,如果您的電腦還有別人也要使用,而你不想讓他們知道你的秘密的話,你可以選擇那些表單讓Firefox自動填寫。

    即時鼠標式英漢字典:
    Google-Firefox默認安裝后“字詞翻譯器”和“拼寫檢查器”都已經啟用!若需要更改選項請點擊Google工具欄的“選項”按鈕。

    快速查找:
    按熱鍵“Ctrl-F”,Firefox的左下角會出現查找欄,在您輸入要查找的詞匯的同時,Firefox就會自動定位到頁面中相應的位置!不需要像IE那樣再點“確定”獲重新按Ctrl-F才能“下一個”!

    阻止彈出式廣告窗口:
    和惱人的彈出式廣告說再見吧! Firefox 可以有效阻止未經許可的彈出窗口。
    另外,只到目前為止,Firefox還沒有多如牛毛的企業插件(你使用“上網助手”查一下,隨便一臺機器,都有幾十個流氓插件,讓你的瀏覽器越來越慢)。


    保護您的隱私:
    Firefox 關心您的隱私及安全,不加載有害的 ActiveX 控件,不讓惡意的間諜程序入侵您的計算機。多種保護隱私的工具,讓您能掌控自己在網絡上的一舉一動。
    書簽分組,同時打開:
    您可以將眾多的書簽分組(分成不同的“文件夾”),再打開時可以一次全部打開;在標簽上點擊鼠標右鍵,可以同時刷新本組所有標簽,也可以關閉其他所有標簽而僅留下當前的頁面。
    快速搜索:
    Google使用了一項緩存技術(caching and cookie-ing technology)對Firefox進行了專門的優化,當用戶使用Firefox瀏覽器在Google搜索時,搜索速度將大大加快。用官方的話來說就是即點即現,不需要你的任何干預!

    開發者最好的朋友:
    Firefox 擁有一組開發者使用的工具,包括強大的 JavaScript/CSS 控制臺、文件查看器等,提供您洞察網頁運作詳情的能力。

    不用猶豫了!立即下載安裝,開始嶄新的上網體驗吧!

    心情故事:細微之處見真章
    Firefox給我一種非常“平實而平滑”的感覺,例如,鼠標右鍵的彈出式菜單,就那么象大理石的紋理一樣讓我感到舒服。
    如果輸入一個網址以后,你想修改它,在網址上點鼠標左鍵,點一下,全部選中,你可以重新輸入;再點二下,選中指針所在的單詞(正好是我要改的,而后面的html后綴名沒有選中),好像能猜到我的心思一樣!
    拖動鼠標,選中一段文字,復制到Word里,你會驚奇的發現,每段的末尾,沒有了IE是的尾巴——一個多余的空格!
    對于有N個郵箱、N個帳號的我來說,Firefox考慮的密碼記憶功能真是周到!還可以有一個“主密碼”來保護你的秘密!
    我最喜歡的“查找”功能。。。不多說了,一個字:爽!
    當然,學英語,查外文資料,離不了的“詞霸”,現在不用了!Firefox自帶英漢詞典!


    Firefox超速絕密方法:

    首先,在URL欄輸入“about:config”, 將打開一個參數的命令行清單,這就是我們以下進行編輯的第一步。

    第二步,在下面的清單中找到“network.http.pipelining” 然后雙擊“network.http.pipelining”將其值改成“true”

    下面我們要做的就是找到“network.http.pipelining.maxrequests”并把它的值改的高一些,如果你改成30,意思就是要求它每次發送30個請求。

    最后一步就是在Firefox任何一個地方點右鍵,選擇“新建”—“整數”在彈出的對話框中輸入“nglayout.initialpaint.delay”并將其值改為“0”,表示當瀏覽器收到網站回復的信息后能夠快速的反應。

    完全關閉FireFox后退出,再重新打開FireFox,你將會有不一樣的速度體驗,會有2—3倍的速度提升,有興趣的朋友可以實驗一下。
    參考資料:http://book.366t.com/Article/Catalog2/286.html

    posted @ 2007-05-01 01:18 jadmin 閱讀(68) | 評論 (0)編輯 收藏
    ??<body>
      <div id="header">
      <h1>Header</h1>
      </div>
      <div id="left">
      軟件音速--左
      </div>
      <div id="right">
      軟件音速---右
      </div>
      <div id="middle">
      軟件音速---中間  

    ?????????? </div>
      <div id="footer">
      軟件音速--頁腳
      </div>
      </body>

      下面是CSS代碼

      body {
      margin: 0px;
      padding: 0px;
      }
      div#header {
      clear: both;
      height: 50px;
      background-color: aqua;
      padding: 1px;
      }
      div#left {
      float: left;
      width: 150px;
      background-color: red;
      }
      div#right {
      float: right;
      width: 150px;
      background-color: green;
      }
      div#middle {
      padding: 0px 160px 5px 160px;
      margin: 0px;
      background-color: silver;
      }
      div#footer {
      clear: both;
      background-color: yellow;
      }

    posted @ 2007-04-30 14:39 jadmin 閱讀(59) | 評論 (0)編輯 收藏

    你的Winxp是不是原版,一看就知:
      在i386文件夾里有一個eula.txt,最后有一行EULAID,就是你的版本
      OEM:WX.2_PRO_OEM_TW(or.WX.2_PRE_OEM_TW)
      EVAL:WX.2_PRO_RVL_TW(or.WX.2_PRE_RAL_TW)
      RTL.:WX.4_PRO_RTL_TW
      中文正式版的版本是
      EULAID:WX.4_PRO_RTL_CN

      1.如果是WX.開頭是正式版,WB.開頭是測試版。

      2.如果有_PRE,是家庭版,_PRO是專業版。

      3._OEM,_RVL都是需要啟動版,_RTL有免啟動金鑰,就可免啟動。

      4.光碟標簽并無意義,是制作光盤的人自己加加進去的。

      5.OEM.版的說明,中文版應是一半中文一半英文,如果全是英文,那就是來自英文的Corporate版(破解)

      6.EVAL(RVL)版的說明全是中文。

      忘記的補充
      1、winxp原版的文件都是2001-9-5 12:00,如果有一個不是,那么!特別是i386\eula.txt這個文件。
      2、CD.Label是WXPFPP_EN(英文),WXPFPP.cn(中文)
      3、還有其它一堆.OEM免激活、免激活正式版等等的,這些都是.利用.OEM、2600Fre.這些版本+Corpfiles.破解,再燒成可開機光盤的,看它們的CD.Label更是五花八門。
      4、目前看到免激活版都是某中文版+英文Corpfiles.做成免激活「Home.Made」企業版(或稱大量授權版本),看安裝序號便知:FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8。所以如果你有OEM+Corpfiles.版或是RVL@TW版的話,那就不用急著下載其它版本,看看就好。

      (我認為)不管你用RVL@TW.or.OEM+Corpfiles.or.阿貓阿狗免激活可光盤開機版,用起來都一樣好用,前提是作者的功力不是太差,沒有亂破解一通。除非你是完美主義者,不然我不認為用起來會和正式版有什么差別。當然,先不論微軟會不會耍花招來對付這些海盜的可能性。

    ??????? 轉自:http://hi.baidu.com/deletememory/blog/item/20db56d96db0642d11df9b0b.html

    posted @ 2007-04-30 14:36 jadmin 閱讀(82) | 評論 (0)編輯 收藏
    在ant 文件中應該包括:

    property??????? 設置屬性(name/value)

    mkdir???????????? 創建目錄

    copy????????????? 拷貝文件或文件夾

    delete?????????? 刪除文件或文件夾

    javac??????????? 編譯.java 文件

    war????????????? 為 web appliaction 打包

    <project name="finance" basedir="." default="build.war">

    name:工程名, basedir:指定工程的路徑,如果填寫的是.就表示默認的路徑 default:表示默認的target

    Ant的概念
    可能有些讀者并不連接什么是Ant以及入可使用它,但只要使用通過Linux系統得讀者,應該知道

    make這個命令。當編譯Linux內核及一些軟件的源程序時,經常要用這個命令。Make命令其實就

    是一個項目管理工具,而Ant所實現功能與此類似。像make,gnumake和nmake這些編譯工具都有

    一定的缺陷,但是Ant卻克服了這些工具的缺陷。最初Ant開發者在開發跨平臺的應用時,用樣也

    是基于這些缺陷對Ant做了更好的設計。

    Ant 與 makefile
    Makefile有一些不足之處,比如很多人都會碰到的煩人的Tab問題。最初的Ant開發者多次強調”

    只是我在Tab前面加了一個空格,所以我的命令就不能執行”。有一些工具在一定程度上解決了

    這個問題,但還是有很多其他的問題。Ant則與一般基于命令的工具有所不同,它是Java類的擴

    展。Ant運行需要的XML格式的文件不是Shell命令文件。它是由一個Project組成的,而一個

    Project又可分成可多target,target再細分又分成很多task,每一個task都是通過一個實現特

    定接口的java類來完成的。

    Ant的優點

    Ant是Apache軟件基金會JAKARTA目錄中的一個子項目,它有以下的優點。
    跨平臺性。Ant是存Java語言編寫的,所示具有很好的跨平臺性。
    操作簡單。Ant是由一個內置任務和可選任務組成的。Ant運行時需要一個XML文件(構建文件)。

    Ant通過調用target樹,就可以執行各種task。每個task實現了特定接口對象。由于Ant構建文件

    時XML格式的文件,所以和容易維護和書寫,而且結構很清晰。
    Ant可以集成到開發環境中。由于Ant的跨平臺性和操作簡單的特點,它很容易集成到一些開發環

    境中去。

    Ant 開發

    Ant的構建文件
    當開始一個新的項目時,首先應該編寫Ant構建文件。構建文件定義了構建過程,并被團隊開發

    中每個人使用。Ant構建文件默認命名為build.xml,也可以取其他的名字。只不過在運行的時候

    把這個命名當作參數傳給Ant。構建文件可以放在任何的位置。一般做法是放在項目頂層目錄中

    ,這樣可以保持項目的簡潔和清晰。下面是一個典型的項目層次結構。
    (1) src存放文件。
    (2) class存放編譯后的文件。
    (3) lib存放第三方JAR包。
    (4) dist存放打包,發布以后的代碼。
    Ant構建文件是XML文件。每個構建文件定義一個唯一的項目(Project元素)。每個項目下可以定

    義很多目標(target元素),這些目標之間可以有依賴關系。當執行這類目標時,需要執行他們所

    依賴的目標。
    每個目標中可以定義多個任務,目標中還定義了所要執行的任務序列。Ant在構建目標時必須調

    用所定義的任務。任務定義了Ant實際執行的命令。Ant中的任務可以為3類。
    (1) 核心任務。核心任務是Ant自帶的任務。
    (2) 可選任務。可選任務實來自第三方的任務,因此需要一個附加的JAR文件。
    (3) 用戶自定義的任務。用戶自定義的任務實用戶自己開發的任務。
    1.<project>標簽
    ???? 每個構建文件對應一個項目。<project>標簽時構建文件的根標簽。它可以有多個內在屬性,

    就如代碼中所示,其各個屬性的含義分別如下。
    (1) default表示默認的運行目標,這個屬性是必須的。
    (2) basedir表示項目的基準目錄。
    (3) name表示項目名。
    (4) description表示項目的描述。
    每個構建文件都對應于一個項目,但是大型項目經常包含大量的子項目,每一個子項目都可以有

    自己的構建文件。

    2.<target>標簽
    一個項目標簽下可以有一個或多個target標簽。一個target標簽可以依賴其他的target標簽。例

    如,有一個target用于編譯程序,另一個target用于聲稱可執行文件。在生成可執行文件之前必

    須先編譯該文件,因策可執行文件的target依賴于編譯程序的target。Target的所有屬性如下。
    (1).name表示標明,這個屬性是必須的。
    (2).depends表示依賴的目標。
    (3)if表示僅當屬性設置時才執行。
    (4)unless表示當屬性沒有設置時才執行。
    (5)description表示項目的描述。
    Ant的depends屬性指定了target的執行順序。Ant會依照depends屬性中target出現順序依次執行

    每個target。在執行之前,首先需要執行它所依賴的target。程序中的名為run的target的

    depends屬性compile,而名為compile的target的depends屬性是prepare,所以這幾個target執

    行的順序是prepare->compile->run。
    一個target只能被執行一次,即使有多個target依賴于它。如果沒有if或unless屬性,target總

    會被執行。

    3.<mkdir>標簽
    該標簽用于創建一個目錄,它有一個屬性dir用來指定所創建的目錄名,其代碼如下:
    <mkdir dir=”${class.root}”/>
    通過以上代碼就創建了一個目錄,這個目錄已經被前面的property標簽所指定。

    4<jar>標簽
    該標簽用來生成一個JAR文件,其屬性如下。
    (1) destfile表示JAR文件名。
    (2) basedir表示被歸檔的文件名。
    (3) includes表示別歸檔的文件模式。
    (4) exchudes表示被排除的文件模式。

    5.<javac標簽>
    該標簽用于編譯一個或一組java文件,其屬性如下。
    (1).srcdir表示源程序的目錄。
    (2).destdir表示class文件的輸出目錄。
    (3).include表示被編譯的文件的模式。
    (4).excludes表示被排除的文件的模式。
    (5).classpath表示所使用的類路徑。
    (6).debug表示包含的調試信息。
    (7).optimize表示是否使用優化。
    (8).verbose 表示提供詳細的輸出信息。
    (9).fileonerror表示當碰到錯誤就自動停止。

    6.<java>標簽
    該標簽用來執行編譯生成的.class文件,其屬性如下。
    (1).classname 表示將執行的類名。
    (2).jar表示包含該類的JAR文件名。
    (3).classpath所表示用到的類路徑。
    (4).fork表示在一個新的虛擬機中運行該類。
    (5).failonerror表示當出現錯誤時自動停止。
    (6).output 表示輸出文件。
    (7).append表示追加或者覆蓋默認文件。

    7.<delete>標簽
    該標簽用于刪除一個文件或一組文件,去屬性如下。
    (1)/file表示要刪除的文件。
    (2).dir表示要刪除的目錄。
    (3).includeEmptyDirs 表示指定是否要刪除空目錄,默認值是刪除。
    (4).failonerror 表示指定當碰到錯誤是否停止,默認值是自動停止。
    (5).verbose表示指定是否列出所刪除的文件,默認值為不列出。

    8.<copy>標簽
    該標簽用于文件或文件集的拷貝,其屬性如下。
    (1).file 表示源文件。
    (2).tofile 表示目標文件。
    (3).todir 表示目標目錄。
    (4).overwrite 表示指定是否覆蓋目標文件,默認值是不覆蓋。
    (5).includeEmptyDirs 表示制定是否拷貝空目錄,默認值為拷貝。
    (6).failonerror 表示指定如目標沒有發現是否自動停止,默認值是停止。
    (7).verbose 表示制定是否顯示詳細信息,默認值不顯示。

    Ant的數據類型
    在構建文件中為了標識文件或文件組,經常需要使用數據類型。數據類型包含在

    org.apache.tool.ant.types包中。下面鏡簡單介紹構建文件中一些常用的數據類型。

    1. argument 類型
    由Ant構建文件調用的程序,可以通過<arg>元素向其傳遞命令行參數,如apply,exec和java任

    務均可接受嵌套<arg>元素,可以為各自的過程調用指定參數。以下是<arg>的所有屬性。
    (1).values 是一個命令參數。如果參數種有空格,但又想將它作為單獨一個值,則使用此屬性


    (2).file表示一個參數的文件名。在構建文件中,此文件名相對于當前的工作目錄。
    (3).line表示用空格分隔的多個參數列表。
    (4).path表示路徑。

    2.ervironment 類型
    ???? 由Ant構建文件調用的外部命令或程序,<env>元素制定了哪些環境變量要傳遞給正在執行的系

    統命令,<env>元素可以接受以下屬性。
    (1).file表示環境變量值得文件名。此文件名要被轉換位一個絕對路徑。
    (2).path表示環境變量的路徑。Ant會將它轉換為一個本地約定。
    (3).value 表示環境變量的一個直接變量。
    (4).key 表示環境變量名。
    注意???? file path 或 value只能取一個。

    3.filelist類型
    Filelist 是一個支持命名的文件列表的數據類型,包含在一個filelist類型中的文件不一定是

    存在的文件。以下是其所有的屬性。
    (1).dir是用于計算絕對文件名的目錄。
    (2).files 是用逗號分隔的文件名列表。
    (3).refid 是對某處定義的一個<filelist>的引用。
    注意???? dir 和 files 都是必要的,除非指定了refid(這種情況下,dir和files都不允許使用)。

    4.fileset類型
    Fileset 數據類型定義了一組文件,并通常表示為<fileset>元素。不過,許多ant任務構建成了

    隱式的fileset,這說明他們支持所有的fileset屬性和嵌套元素。以下為fileset 的屬性列表。
    (1).dir表示fileset 的基目錄。
    (2).casesensitive的值如果為false,那么匹配文件名時,fileset不是區分大小寫的,其默認

    值為true.
    (3).defaultexcludes 用來確定是否使用默認的排除模式,默認為true。
    (4).excludes 是用逗號分隔的需要派出的文件模式列表。
    (5).excludesfile 表示每行包含一個排除模式的文件的文件名。
    (6).includes 是用逗號分隔的,需要包含的文件模式列表。
    (7).includesfile 表示每行包括一個包含模式的文件名。

    5.patternset 類型
    Fileset 是對文件的分組,而patternset是對模式的分組,他們是緊密相關的概念。

    <patternset>支持4個屬性:includes excludex includexfile 和 excludesfile,與fileset相

    同。Patternset 還允許以下嵌套元素:include,exclude,includefile 和 excludesfile.

    6.filterset 類型
    Filterset定義了一組過濾器,這些過濾器將在文件移動或復制時完成文件的文本替換。
    主要屬性如下:
    (1).begintoken 表示嵌套過濾器所搜索的記號,這是標識其開始的字符串。
    (2).endtoken表示嵌套過濾器所搜索的記號這是標識其結束的字符串。
    (3).id是過濾器的唯一標志符。
    (4).refid是對構建文件中某處定義一個過濾器的引用。

    7.Path類型
    Path元素用來表示一個類路徑,不過它還可以用于表示其他的路徑。在用作揖個屬性時,路經中

    的各項用分號或冒號隔開。在構建的時候,此分隔符將代替當前平臺中所有的路徑分隔符,其擁

    有的屬性如下。
    (1).location 表示一個文件或目錄。Ant在內部將此擴展為一個絕對路徑。
    (2).refid 是對當前構建文件中某處定義的一個path的引用。
    (3).path表示一個文件或路徑名列表。

    8.mapper類型
    Mapper類型定義了一組輸入文件和一組輸出文件間的關系,其屬性如下。
    (1).classname 表示實現mapper類的類名。當內置mapper不滿足要求時,用于創建定制mapper.
    (2).classpath表示查找一個定制mapper時所用的類型路徑。
    (3).classpathref是對某處定義的一個類路徑的引用。
    (4).from屬性的含義取決于所用的mapper.
    (5).to屬性的含義取決于所用的mapper.
    (6).type屬性的取值為identity,flatten glob merge???? regexp???? 其中之一,它定義了要是用的

    內置mapper的類型。


    Ant 的運行
    安裝好Ant并且配置好路徑之后,在命令行中切換到構建文件的目錄,輸入Ant命令就可以運行

    Ant.若沒有指定任何參數,Ant會在當前目錄下查詢build.xml文件。如果找到了就用該文件作為

    構建文件。如果使用了 –find 選項,Ant 就會在上級目錄中找構建文件,直至到達文件系統得

    跟目錄。如果構建文件的名字不是build.xml ,則Ant運行的時候就可以使用 –buildfile file

    ,這里file 指定了要使用的構建文件的名稱,示例如下:
    Ant
    如下說明了表示當前目錄的構建文件為build.xml 運行 ant 執行默認的目標。

    Ant –buildfile???? test.xml
    使用當前目錄下的test.xml 文件運行Ant ,執行默認的目標

    posted @ 2007-04-30 10:52 jadmin 閱讀(60) | 評論 (0)編輯 收藏
    EclipseIDE變得如此熱門,以至于出現在許多工作簡歷中。但是,也正因為它的功能繁多,使得難于入手了。在這篇文章中,SamBrodkin分享了他最常用的一些Eclipse功能。他也提到了那些會讓你的手指動的飛快的熱鍵組合。在工作的時候,人們會懷疑你是在打電玩。(1,200字;2005年8月29日)
      
      Eclipse最妙的地方是它的功能是如此的豐富。如果你找不到某項功能,要么是你沒有好好的去找,要么有一個插件可以實現它。Eclipse最糟的地方也是它的功能如此的豐富。擁擠的工具條,臃腫的菜單,以及配置對話框都讓我想起了拉比林特斯迷宮(譯者注:Minotau’slabyrinth,希臘神戶中的人身牛頭怪,住在Labyrinth迷宮中,吃人們供奉的童男童女,最后被Theseus殺死)(盡管配置對話框在Eclipse3.1中已經好了很多)。甚至是有經驗的Eclipse程序員也是慢吞吞,笨手笨腳的。我觀察過無數的同事,當試圖在Eclipse的navigation面板里找一個類的時候,不假思索的按下“Ctrl+Shift+T”(打開型別(opentype))。其實,只要有意識的投入一點點時間,你也會不在笨手笨腳的,而成為熱鍵高手。
      
      精通Eclipse不單提高了你的效率,(我知道,按小時賺錢的簽約人更喜歡文本編輯器),對你的求職簡歷也有好處。既然Eclipse已經越來越多的出現在Java工作說明上,那么在你的求職簡歷上也絕對是個好詞。我把它放在我的個人簡歷上,就在POJO(簡單初始Java對象)和POJI(簡單初始Java接口)的中間。越來越多的公司轉向Eclipse,因為它免費,而且為大多數程序員所接受。(除了那些少有的IntelliJ和Emacs的崇拜者)
      
      因此,你的簡歷上并不都是幫助你提高編程效率的大話,在本文中,我將給你幾條Eclipse高效的建議。注意:如果你是個在尋找初學者教程的新手,那么請參看資源部分。
      
      Eclipse的快捷鍵組合功能
      
      使用Eclipse的快捷鍵組合功能,讓你看起來像是在打電玩。特別是讓人想起《真人快打》(MortalCombat)的感覺。要成為《真人快打》的高手,你必須記住大量的按鍵順序。比如,要使出Sub-ZeroSkeletonRip,你必須依次按下????和X鍵。這里的控制桿就是Ctrl,Alt,Shift,字母鍵,數字鍵和功能鍵的組合。
      
      讓我們按照使用頻率來看看我最愛用的一些熱鍵組合。(注:以下內容在Eclipse3.02及一上版本通過測試)
      
      1.Control-Shift-T:打開類型(Opentype)。如果你不是有意磨洋工,還是忘記通過源碼樹(sourcetree)打開的方式吧。
      
      2.Control-Shift-R:打開資源(不只是用來尋找Java文件)。小提示:利用Navigator視圖的黃色雙向箭頭按鈕讓你的編輯窗口和導航器相關聯。這會讓你打開的文件對應顯示在導航器的層級結構中,這樣便于組織信息。如果這影響了速度,就關掉它。
      
      3.F3:打開申明(Opendeclaration)。或者,利用DeclarationTab(在Java視圖模式下,選擇WindowsShowView-->Declaration)。當你選中代碼中的一個方法,然后按這個按鍵,它會把整個方法在申明方框里顯示出來。
      
      4.Alt-leftarrow:在導航歷史記錄(NavigationHistory)中后退。就像Web瀏覽器的后退按鈕一樣,在利用F3跳轉之后,特別有用。(用來返回原先編譯的地方)
      
      5.Alt-rightarrow:導航歷史記錄中向前。
      
      6.Control-Q:回到最后依次編輯的地方。這個快捷鍵也是當你在代碼中跳轉后用的。特別是當你鉆的過深,忘記你最初在做什么的時候。
      
      7.Control-Shift-G:在workspace中搜索引用(reference)。這是重構的前提。對于方法,這個熱鍵的作用和F3恰好相反。它使你在方法的棧中,向上找出一個方法的所有調用者。一個與此相關的功能是開啟“標記”功能(occurrencemarking)。選擇Windows->Preferences->Java->Editor->MarkOccurrences,勾選選項。這時,當你單擊一個元素的時候,代碼中所有該元素存在的地方都會被高亮顯示。我個人只使用“標記本地變量”(MarkLocalVariables)。注意:太多的高亮顯示會拖慢Eclipse。
    posted @ 2007-04-30 10:38 jadmin 閱讀(55) | 評論 (0)編輯 收藏
    目前, 國內外信息化建設已經進入基于Web應用為核心的階段, Java作為應用于網絡的最好語言,前景無限看好。然而,就算用Java建造一個不是很煩瑣的web應用,也不是件輕松的事情。概括一下,實施Java的WEB項目需要掌握的技術如下:



    ??????? Java語言
    ??????? 面向對象分析設計思想
    ??????? 設計模式和框架結構
    ??????? XML語言
    ??????? 網頁腳本語言
    ??????? 數據庫
    ??????? 應用服務器
    ??????? 集成開發環境

    下面我們具體地看每個技術.

    1、Java語言

    Java語言體系比較龐大,包括多個模塊。從WEB項目應用角度講有JSP、Servlet、JDBC、JavaBean(Application)四部分技術。

    (1)、Java Database Connectivity (JDBC)技術
    在Java Web應用開發中,數據庫管理系統(RDBMS)的使用是不可缺少的。JDBC(Java Database Connectivity) 是一種用于執行 SQL 語句的 Java API。它由一組用 Java 編程語言編寫的類和接口組成。JDBC 為工具/數據庫開發人員提供了一個標準的API,使他們能夠用純Java API 來編寫數據庫應用程序。
    簡單地說,JDBC 可做三件事:
    l與數據庫建立連接,
    l發送 SQL 語句,
    l處理結果。

    (2)、Servlet技術
    Servlet是運行在服務器端的程序,可以被認為是服務器端的applet。servlet被Web服務器(例如Tomcat)加載和執行,就如同applet被瀏覽器加載和執行一樣。servlet從客戶端(通過Web服務器)接收請求,執行某種操作,然后返回結果。

    Servlet的主要優點包括
    lServlet是持久的。servlet只需Web服務器加載一次,而且可以在不同請求之間保持服務(例如一次數據庫連接)。
    lServlet是與平臺無關的。如前所述,servlet是用Java編寫的,它自然也繼承了Java的平臺無關性。
    lServlet是可擴展的。由于servlet是用Java編寫的,它就具備了Java所能帶來的所有優點。Java是健壯的、面向對象的編程語言,它很容易擴展以適應你的需求。servlet自然也具備了這些特征。
    lServlet是安全的。從外界調用一個servlet的惟一方法就是通過Web服務器。這提供了高水平的安全性保障,尤其是在你的Web服務器有防火墻保護的時候。
    lServlet可以在多種多樣的客戶機上使用。由于servlet是用Java編寫的,所以你可以很方便地在HTML中使用它們。

    (3)、JavaServer Pages(JSP) 技術
    JSP是從Servlet上分離出來的一小部分,簡化了開發,加強了界面設計。JSP定位在交互網頁的開發。運用Java語法,但功能較Servlet弱了很多,并且高級開發中只充當用戶界面部分。JSP容器收到客戶端發出的請求時,首先執行其中的程序片段,然后將執行結果以HTML格式響應給客戶端。其中程序片段可以是:操作數據庫、重新定向網頁以及發送 E-Mail 等等,這些都是建立動態網站所需要的功能。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,與客戶端的瀏覽器無關,因此,JSP 稱為Server-Side Language。

    JavaServer Pages的主要優點包括
    ●一次編寫,各處執行(Write o-nce, Run Anywhere)特性
    作為Java 平臺的一部分,JavaServer Pages 技術擁有Java語言“一次編寫,各處執行”的特點。隨著越來越多的供貨商將JavaServer Pages 技術添加到他們的產品中,您可以針對自己公司的需求,做出審慎評估后,選擇符合公司成本及規模的服務器,假若未來的需求有所變更時,更換服務器平臺并不影響之前所投下的成本、人力所開發的應用程序。
    ● 搭配可重復使用的組件
    JavaServer Pages技術可依賴于重復使用跨平臺的組件(如:JavaBean或Enterprise JavaBean組件)來執行更復雜的運算、數據處理。開發人員能夠共享開發完成的組件,或者能夠加強這些組件的功能,讓更多用戶或是客戶團體使用。基于善加利用組件的方法,可以加快整體開發過程,也大大降低公司的開發成本和人力。
    ● 采用標簽化頁面開發
    Web 網頁開發人員不一定都是熟悉Java 語言的程序員。因此,JSP 技術能夠將許多功能封裝起來,成為一個自定義的標簽,這些功能是完全根據XML 的標準來制訂的,即JSP 技術中的標簽庫(Tag Library)。因此,Web 頁面開發人員可以運用自定義好的標簽來達成工作需求,而無須再寫復雜的Java 語法,讓Web 頁面開發人員亦能快速開發出一動態內容網頁。
    今后,第三方開發人員和其他人員可以為常用功能建立自己的標簽庫,讓Web 網頁開發人員能夠使用熟悉的開發工具,如同HTML 一樣的標簽語法來執行特定功能的工作。
    ● N-tier 企業應用架構的支持
    有鑒于網際網絡的發展,為因應未來服務越來越繁雜的要求,且不再受地域的限制,因此,
    必須放棄以往Client-Server的Two-tier 架構,進而轉向更具威力、彈性的分散性對象系統。由于JavaServer Page 技術是Java 2 Platform Enterprise Edition (J2EE)集成中的一部分,它主要是負責前端顯示經過復雜運算后之結果內容,而分散性的對象系統則是主要依賴EJB ( Enterprise JavaBean )和JNDI ( Java Naming and Directory Interface )構建而成。

    (4)、JavaBean(Application)應用組件技術
    Application是Java應用程序,在WEB項目和一些開發中主要應用JavaBean。它就是Application的一部分,邏輯運算能力很強,能極大的發揮Java語言的優點。JavaBean 被稱為是Java 組件技術的核心。JavaBean 的結構必須滿足一定的命名約定。JavaBean能提供常用功能并且可以重復使用,這使得開發人員可以把某些關鍵功能和核心算法提取出來封裝成為一個組件對象,這樣就增加了代碼的重用率和系統的安全性。

    高級的WEB項目會應用到以上所有技術,它們之間聯合使用和協作開發會提高開發的效率和系統的性能。

    2、面向對象分析設計思想

    Java語言是完全面向對象的語言,所以在項目設計時會有很大的幫助,在設計時應盡量舍棄以往的面向過程的設計方式。

    在分析項目業務關系的時候,應用一些UML(Unified Modeling Language)圖,例如常用的用例圖(use case diagram),類圖(class diagram),時序圖(sequence diagram)等等,會有很大的幫助,這樣能盡快找出業務邏輯主要面對的對象,然后對每個對象進行行為劃分,最后再實現對象之間的集成和通信。

    3、設計模式和框架結構

    Java從語言角度來講不是很難,但是從整體設計角度來講我們還需要了解一些高級應用框架。如果要設計一個良好的框架結構,單單只掌握Java語言遠遠不夠。這就涉及到一個設計模式,還有和設計模式相關的一些知識。

    設計模式在Java項目實施過程更是重中之重。主要在與兩層的設計模式、三層的設計模式和N層的設計模式。它直接決定著項目的應用、部署和實際開發設計。

    在普通的WEB項目中很多采用兩層的開發結構。JSP+Servlet或JSP+JavaBean。當對開發要求高的項目中使用很多的還是MVC的三層開發結構,也就是JSP+Servlet+JavaBean。它能分有效的分離邏輯開發,使開發人員能專注于各自的開發。同時也能時整個開發結構流程更清晰,但是需要比較高的開發配合度。
    在項目中,我們經常使用著名的Model-View-Controller(MVC)架構。MVC架構是隨著smalltalk language語言的發展提出的,它是一個著名的用戶界面設計架構。經典的MVC架構把一個組件(可認為是整個應用程序的一個模塊)劃分成三部分組 Model管理這個模塊中所用到的數據和業務邏輯。而View 管理模塊如何顯示給用戶,Controller 決定如何處理用戶和該模塊交互式時候產生的事件 如用戶點擊一個按鈕等。

    4、XML語言

    在服務器和設計模式結構中會應用到自定義文件,而且在應用高級設計時也會定義自用的標簽,現在流行的是用XML去定義配置,所以XML語言應該有一定掌握。
    當前,Java 2平臺企業版(J2EE)架構在廠商市場和開發者社區中倍受推崇。作為一種工具,可擴展標記語言(XML)簡化了數據交換、進程間消息交換這一類的事情,因而對開發者逐漸變得有吸引力,并開始流行起來。自然,在J2EE架構中訪問或集成XML解決方案的想法也很誘人。因為這將是強大系統架構同高度靈活的數據管理方案的結合。

    XML的應用似乎是無窮無盡的,但它們大致上可以分為三大類:
    1、簡單數據的表示和交換(針對XML的簡單API(SAX)和文檔對象模型(DOM)語法解析,不同的文檔類型定義(DTDs)和概要(schemas))
    2、用戶界面相關、表示相關的上下文(可擴展樣式表語言(XSL),可擴展樣式表語言轉換(XSLT))
    3、面向消息的計算(XML-RPC(遠程過程調用),基于SOAP協議的Web 服務(Web Services),電子化業務XML(ebXML))

    5、網頁腳本語言

    為了提高WEB項目的整體性能,提高人機交互的友好界面,網頁的腳本語言是很有用處的,有的時候可以解決很大的難題或提高程序的性能和應用性。

    網頁腳本語言的執行都是在客戶端執行的,速度很很快,并且大多的操作與服務器沒有交互運算,所以在一些應用中非常理想。在設計WEB項目的應用中,網頁的腳本語言起著不能忽視的作用,所以如果設計WEB項目的應用中,對JavaScript應有一定的了解。

    JavaScript是一種基于對象(Object Based)和事件驅動(Event Driven)并具有安全性能(Secure)的腳本語言。使用它的目的是與HTML超文本標記語言、Java 腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。從而可以開發客戶端的應用程序等。它是通過嵌入或調入在標準的HTML語言中實現的。它具有以下幾個基本特點:
    1.它是一種腳本編寫語言
    JavaScript是一種腳本語言,它采用小程序段的方式實現編程。像其它腳本語言一樣,JavaScript同樣已是一種解釋性語言,它提供了一個易的開發過程。
    它的基本結構形式與C、C++、VB十分類似。但它不像這些語言一樣,需要先編譯,而是在程序運行過程中被逐行地解釋。它與HTML標識結合在一起,從而方便用戶的使用操作。
    2. 基于對象的語言。
    JavaScript是一種基于對象的語言,同時以可以看作一種面向對象的。這意味著它能運用自己已經創建的對象。因此,許多功能可以來自于腳本環境中對象的方法與腳本的相互作用。
    3.簡單性
    JavaScript的簡單性主要體現在:首先它是一種基于Java基本語句和控制流之上的簡單而緊湊的設計, 從而對于學習Java是一種非常好的過渡。其次它的變量類型是采用弱類型,并未使用嚴格的數據類型。
    4.安全性
    JavaScript是一種安全性語言,它不允許訪問本地的硬盤,并不能將數據存入到服務器上,不允許對網絡文檔進行修改和刪除,只能通過瀏覽器實現信息瀏覽或動態交互。從而有效地防止數據的丟失。
    5. 動態性
    JavaScript是動態的,它可以直接對用戶或客戶輸入做出響應,無須經過Web服務程序。它對用戶的響應,是采用以事件驅動的方式進行的。所謂事件驅動,就是指在主頁(Home Page)中執行了某種操作所產生的動作,就稱為“事件”(Event)。比如按下鼠標、移動窗口、選擇菜單等都可以視為事件。當事件發生后,可能會引起相應的事件響應。


    6、開發工具
    (1)、數據庫
    在主要的應用中,數據庫相關的環節應用很多,所以對數據庫應該有一定了解。不能單單只了解一種數據庫,因為在很多實際開發中會提出很多數據庫解決方案,所以只有在了解多種數據庫的情況下才能有一個比較方案。
    對于數據庫應該了解他的性能和一些基本的操作常識,還有該數據庫的特點。而針對與Java語言WEB項目的數據庫開發則主要是對JDBC的應用,還有數據庫事務處理和連接池等高級概念的應用。


    (2)、Web服務器

    同數據庫一樣,應該了解該服務器的性能,特點和一些常識。
    在應用方面,Web服務器主要是針對于配置和部署,對目錄的配置,調試;對配置文件屬性的修改;對訪問權限和并發性的控制;Java類的部署等。

    (3)、集成開發環境(IDE):
    “公欲善其事, 必先利其器”. 對于Web應用開發人員來講,好的集成開發環境(IDE:Integrated Development Enviroment)是非常重要的。目前在市場上占主導位置的一個集成開發工具就是Eclipse.
    posted @ 2007-04-30 10:35 jadmin 閱讀(59) | 評論 (0)編輯 收藏
    僅列出標題
    共50頁: First 上一頁 42 43 44 45 46 47 48 49 50 下一頁 
    主站蜘蛛池模板: 久久久久久亚洲精品中文字幕| 亚洲精品乱码久久久久久蜜桃不卡| 免费人妻无码不卡中文字幕系 | 国产免费观看黄AV片 | 99视频在线观看免费| 亚洲福利电影一区二区?| 中文字幕免费在线看线人动作大片| 久久国产精品亚洲综合| 免费精品一区二区三区在线观看| 一本久久A久久免费精品不卡| 日本视频免费在线| 亚洲综合色区中文字幕| 亚洲Av无码乱码在线znlu| 免费精品无码AV片在线观看| 精品久久久久久久久亚洲偷窥女厕| 久久久久久a亚洲欧洲aⅴ| yellow视频免费在线观看| 亚洲的天堂av无码| 国产偷国产偷亚洲清高动态图| 免费一级做a爰片久久毛片潮| 久久久久久亚洲AV无码专区| 无码专区AAAAAA免费视频| 亚洲AV成人无码网天堂| 国产大片51精品免费观看| 99热这里只有精品6免费| 免费国产污网站在线观看不要卡| 亚洲啪啪免费视频| 亚洲国产另类久久久精品小说| 国产男女猛烈无遮挡免费视频| 最近2018中文字幕免费视频| 有码人妻在线免费看片| 亚洲国产a∨无码中文777| 国产中文字幕免费| 成人影片麻豆国产影片免费观看| 亚洲a∨无码精品色午夜| 亚洲白色白色永久观看| 久久精品国产精品亚洲蜜月| 亚洲日韩国产精品乱| 国产男女性潮高清免费网站 | 亚洲 综合 国产 欧洲 丝袜| 久久精品成人免费国产片小草|