任何Web開發人員需要必備的技巧主要有以下這些技術。
開發Web應用程式的技術已經變得更成熟、更複雜了。現在,建立一個Web應用程式不僅需要簡單的HTML技術了。資料庫存取、腳本語言和管理都是Web程式設計師需要具備的技術。讓我們來看看要成為一個市場上受歡迎的Web開發人員都需要些什麼技能吧。
自從CERN(歐洲粒子物理研究所),日內瓦附近的高能物理研究中心,在1991年發布了Web以來,Web技術已經從靜態的內容和Common Gateway Interface(CGI)發展成servlet技術和JavaServer Pages了。然而,在這個競爭更激烈的社會中,一個Web程式設計師需要更多的知識。例如,如果在面試中,你提到你熟悉XML並在JNDI方面有些經驗(這兩種技術初看似乎同Web程式設計沒有很緊密的關係),那麼你就會給你未來的老闆留下更深的印象。設想你已經了解了Java編程語言和物件導向的編程,下面還有兩組技術是一個Web開發人員日常工作中所需要的。第一組包括每個Web程式設計師必須具備的技術。第二組包含要成為一個高階程式設計師所應該掌握的技術。
基本技能如果想稱自己是Web開發人員,以下就是必須具備的技術。
HTML(HyperText Markup Language)
HTML幾乎是顯示在瀏覽器上所有內容的語言。難怪HTML就好像是Web程式設計師的生存本能一樣。如果你仍需要在你的HTML中找到<tr>或<b>,那麼你真的需要提升你的HTML技術了。 HTML的目前版本是4.01,你可以從http://www.w3.org/TR/1999/REC-html401-19991224/了解更多關於它的內容。
Servlets和JSP
Java servlet技術是開發Java Web應用程式的主要技術。它是由Sun Microsystems在1996年開發的,目前的版本是2.3,但人們正在為版本2.4做準備。
JSP是servlet技術的擴展,現在的版本是1.2(2.0版很快就會定下來)。有人認為JSP是servlets的替代,但實際上並不是這樣的。 Servlets和JSP是一起用於複雜的Web應用程式的。
用Java進行Web程式設計的一個好的開始就是學習servlet技術。即使你打算在你的網頁應用程式中只運用JSP頁面,你仍需要學習servlet技術。在更複雜的網頁應用程式中,JSP頁面只用於顯示,而JavaBeans和自訂標籤庫用來嵌入商業邏輯。即:你也必須精通JavaBeans和自訂標籤庫。
JavaScript
JavaScript是運行於所有的主要的瀏覽器中的腳本語言。你用JavaScript來進行客戶端的程式設計。客戶端程式設計中最重要的工作就是確認使用者輸入。運用客戶端輸入驗證的好處是減少伺服器的工作量並提高回應時間。另外,JavaScript可以用來重新定向(redirection)、cookie處理、控制applets、建立導航樹、開啟一個瀏覽器的一個新的實例等等。
SQL(Strutured Query Language)和JDBC(Java Database Connectivity)
如今,大多數Web應用程式都包括存取關聯式資料庫中的資料。身為一個Web程式設計師,你需要知道如何儲存、取得並操作資料庫中的資料。有時侯,你也需要設計資料庫,建構資料庫中的表格和其它結構。 SQL就是用來操作資料庫中資料的語言。你通常需要寫SQL語句(常常是動態的),把它們傳遞到資料庫伺服器,並且得到傳回的資料(如果有的話)。
運用Java語言,你需要用JDBC來幫助Web應用程式和資料庫伺服器進行通訊。 JDBC有兩個部分:JDBC Core API(Application Programming Interface)和JDBC Optional Package API。第一組用來執行基本的資料操作,例如建立一個連接或讀取、更新並刪除一個表中的記錄。第二組提供更進階的資料庫連接功能,如連接池、交易和RowSet。 JDBC的目前版本是3.0,API包含在J2SE v. 1.4中。
Web Container管理和應用程式部署你的servlets和JSP頁面在一個叫做servlet/JSP container或Web container的引擎中運行。你至少需要知道如何為測試以及生產運行部署你的Web資源。例如,如果你運用Tomcat,你需要了解的一件事就是如何映射設定檔(server.xml)中的應用程序,讓Tomcat知道如何呼叫你的JSP頁面。另外,你需要知道在哪裡保存你的庫以及如何建立應用程式部署描述符。
XML(eXtensible Markup Language)
XML是電腦領域中成功的後起之秀。由World Wide Web Consortium在1996年開發,XML現在已經是用於資料交換和可擴展資料結構的一個廣泛的、公認的標準了。 XML在Java Web開發中扮演著一個重要的角色。例如,每個應用程式的部署描述符都是XML格式的。而且,如果你在開發Web servies,你就會用到SOAP(Simple Object Access Protocol),它主要是基於HTTP和XML的。
另外,在Web應用程式中,XML也可能用於儲存分級的資料。
Model 2結構此技術在該類別中是最先進的。建議用這種結構來建立相當複雜的Java Web應用程式。 Model 2結構是基於Model-View-Controller設計範例的。
高級技術下面這些技術可以將你同初學者區分開來。
JSTL(JSP Standard Tag Libraries)、Jakarta Taglibs專案和其它庫為了加速應用程式的開發,你應該經常重複使用程式碼。簡單來說,程式碼重用就是,如果有人已經寫了用來執行某些功能的程式碼,你最好就去用那些程式碼,而不要自己寫了。因此,JSP可以讓你運用自訂標籤。你可以運用幾個函式庫,最受歡迎的是Apache的Jakarta Taglibs專案中的函式庫。從http://jakarta.apache.org/taglibs/index.html可以下載這個包,你在開始創建新類別之前,可以運用在這個包中找到的任何現成的東西。
JSTL最近已經成為了一個標準。其它標籤庫可以免費或以商業方式取得。
Apache的Struts項目
Struts是一個Apache贊助的公共資源項目,它為建構Model 2 Java Web應用程式提供了一個架構。 Struts為MVC結構提供它自己的Controller組件,將EJB、JDBC和JNDI用於Model,將JSP和其它技術用於View。你可以從它的網站找到更多關於這個項目的更詳細的信息: http ://jakarta.apache.org/struts/index.html 。
XHTML(Extensible HyperText Markup Language)
XHTML是努力將HTML和XML結合起來的一種技術。你可以把XHTML當成下一代的HTML。其目前的版本是1.0(第二版是於2002年8月1日發布的),XHTML還沒有像HTML那麼流行,但它在將來會發揮更重要的作用。根據Web設計專家Molly Holzschlag的觀點,推動各個公司轉向XHTML的主要原因是美國的關於公開訪問(accessibility)的法律。更多關於XHTML的信息,請參閱Holzschlag訪談。
DHTML(動態HTML)
DHTML可以讓人們在你的網站上進行更多的互動。例如,運用DHTML,當使用者移動滑鼠到一個連結上時,你就可以輕鬆地建立並顯示子選單。運用DHTML的最大的挑戰是建立跨瀏覽器的頁面。的確,在理論上,頁面設計應該是由美工處理的,其中動態的HTML是透過運用一個工具而產生的。然而,一個Web程式設計師通常要負責整合所有的部分,如果在頁面中產生的程式碼被破壞了,你就需要了解DHTML來修復它。
Applet 程式設計
Applets曾經在提供互動性方面很重要,尤其在DHTML出現之前。現在,applets的作用被削減了,更多的程式設計師已經不用applets了。 Microsoft決定在它的新瀏覽器中不為applets提供缺省的支援極大地削減了applets在網路應用程式中的作用。然而,applets並沒有消亡。對於某些任務,如顯示新聞標題,applets仍然是不可替代的,而且applets不會產生另人頭痛的跨瀏覽器相容方面的問題。
HTTP協定
Java Web程式設計師通常運用比HTTP更高的協議,如運用servlet和JSP APIs。這些APIs隱藏了HTTP協定的複雜性。因此,你仍可以建立重要的應用程式而不需要知道多少關於HTTP協定的知識。只有當你需要處理原始數據,例如將文件作為附件上載或傳送時,你才需要更多關於協議的知識。
EJB(Enterprise JavaBeans)
EJB是J2EE的一部分,當可擴展性和強大性是你的網路應用程式的主要需求時,EJB就很重要。在目前規範(EJB 2.0)中有三種類型的EJBs:會話(session)EJBs、實體(entity)EJBs和訊息驅動的(message driven)EJBs。新的規範,2.1版,正在設計中。
JNDI(Java Naming and Directory Interface)
當你在開發企業beans時,JNDI很重要,因為對一個EJB的訪問是透過JNDI的命名服務完成的。運用一個命名服務來找出與一個特定名字相關的一個物件。在EJB context中,一個命名服務找到一個企業bean,給定這個bean的名字。因此,了解JNDI在開發一個EJB應用程式中是至關重要的。另外,JDBC可以用JNDI來存取一個關聯式資料庫。
其它工具了解在哪裡可以找到特定的支持工具通常有助於的你的事業的發展。例如,如果你碰巧被分配去做關於基準的任務,那麼你如果知道你可以從Apache的Jakarta Project下載Jmeter,你就會很高興。另外,如果你需要以PDF格式傳送輸出結果,建議你從http://www.lowagie.com/iText/運用可以免費下載的Java-PDF函式庫。 Internet技術範圍很廣而且發展很快。這就是說,身為Web程式設計師,你應該時時留心業界出現了什麼新技術,發生了什麼大事。在這方面,沒有什麼比Internet本身更偉大的資源了。
關於作者:
Java for the Web
with Servlet, JSP, and EJB
Budi Kurniawan是位IT顧問,他專門從事Internet和物件導向的編程,並教授Java和Microsoft技術。他是銷量很好的Java for the Web with Servlets, JSP, and EJB: a Developer's Guide to Scalable Solutions (New Riders)一書的作者,他還開發了最受歡迎的Java Upload Bean,你可以從BrainySoftware. com得到它,許多重要的公司都得到許可並將它用於專案中了。 Budi的聯絡方式是[email protected] 。