- Java Web開發學習手冊
- 朱曉 盧瀚 王國輝等編著
- 1646字
- 2018-12-27 18:51:55
1.1 初識Java Web
1.1.1 概述
Java是在1995年由Sun公司推出的一種極富創造力的面向對象的程序設計語言,作為Sun研究院院士,詹姆斯·戈士林親手設計了Java語言,并完成了Java技術的原始編譯器和虛擬機。Java最初的名字是“OAK”,在1995年被重命名為“Java”。
Java是一種通過解釋方式執行的語言,其語法規則和C++類似。它也是一種跨平臺的程序設計語言,用其編寫的程序可以運行在任何平臺和設備上,如MAC蘋果系統、各種微處理器硬件平臺,以及Windows、UNIX、OS/2和MAC OS等系統平臺,真正實現了“一次編寫,到處運行”。Java非常適合于企業網絡和Internet環境,已成為Internet中最有影響力并最受歡迎的編程語言之一。
Java語言編寫的程序既是編譯型,又是解釋型。程序代碼經過編譯之后轉換為一種稱為“Java字節碼”的中間語言,Java虛擬機JVM將解釋和運行字節碼。編譯只運行一次,而解釋在每次運行程序時都會進行。編譯后的字節碼采用一種針對JVM優化過的機器碼形式保存,虛擬機將字節碼解釋為機器碼,然后在計算機上運行。Java語言程序代碼的編譯和運行過程如圖1-1所示。

圖1-1 Java程序代碼的編譯和運行過程
1.1.2 Java語言的主要特點
Java語言的主要特點如下。
(1)簡單
Java語言的語法簡單明了,容易掌握,其簡單性主要體現在以下方面。
語法規則和C++類似,從某種意義上講,Java語言由C和C++語言轉變而來,所以C程序設計人員可以很容易地掌握Java語言的語法。
簡化和提高了C++,如Java使用接口取代了多重繼承并取消了指針,因為指針和多重繼承通常使程序變得復雜。Java語言還通過實現垃圾自動收集,大大簡化了程序設計人員的資源釋放管理工作。
(2)面向對象
面向對象是Java語言的基礎,也是Java語言的重要特性,因為其本身就是一種純面向對象的程序設計語言。Java提倡萬物皆對象,語法中不能在類外面定義單獨的數據和函數。即Java語言最外部的數據類型是對象,所有的元素都要通過類和對象來訪問。
(3)分布性
Java的分布性包括操作分布和數據分布,操作分布是指在多點不同主機上布置相關操作;數據分布是將數據分別存放在多臺不同的主機上,這些主機是網絡中的不同成員。Java可以憑借URL對象訪問網絡對象,訪問方式與訪問本地系統相同。
(4)可移植性
Java程序具有與體系結構無關的特性,從而使Java程序可以方便地移植到網絡的不同計算機中;同時Java的類庫中也實現了針對不同平臺的接口,使這些類庫也可以移植。
(5)安全性
Java語言刪除了類似C語言中的指針和內存釋放等語法,從而有效地避免了非法操作內存。Java程序代碼要經過代碼校驗和指針校驗等多個測試步驟才能運行,未經允許的Java程序不可能出現損害系統平臺的行為,而且使用Java可以編寫防病毒和防修改的系統。
(6)健壯性
Java的設計目標之一是編寫多方面可靠的應用程序,Java檢查程序在編譯和運行時的錯誤,并消除錯誤。類型檢查能幫助用戶檢查出在開發早期出現的多個錯誤,很多集成開發工具IDE(如Eclipse和NetBeans)的出現使編譯和運行Java程序更加容易。
1.1.3 Java Web
Java Web是指用Java語言來解決相關Web領域的技術總和,一個Web應用程序包括Web客戶端和Web服務器兩個部分,即基于B/S(瀏覽器/服務器)架構的應用程序。
(1)Web客戶端
Web客戶端通常是指用戶機上的瀏覽器,如微軟的IE瀏覽器或火狐瀏覽器等??蛻舳瞬恍枰_發任何用戶界面,而統一采用瀏覽器即可。
(2)Web服務器
Web服務器是一臺或多臺可運行Web應用程序的計算機,通常我們在瀏覽器中輸入的網站地址即Web服務器的地址。當用戶在瀏覽器的地址欄中輸入網站地址并按回車鍵后,請求即被發送到Web服務器。服務器接收到請求后,會返回給用戶帶有請求資源的響應消息。Java在服務器端的應用非常的豐富,如Servlet、JSP和第三方框架等。
Web客戶端和Web服務器之間的關系如圖1-2所示。

圖1-2 Web客戶端和Web服務器之間的關系
1.1.4 Java Web成功案例
由于Java語言具有安全性、健壯性和可移植性等優勢,所以應用Java開發的Web項目應用領域非常廣泛。企事業單位,如銀行和政府部門,大多采用Java開發自己的辦公系統。清華大學的本科招生網、工商銀行網站、交通銀行網站和郵政儲蓄銀行網站等都是使用Java開發的,其首頁如圖1-3~圖1-6所示。

圖1-3 清華大學招生網首頁

圖1-4 工商銀行網站首頁

圖1-5 交通銀行網站首頁

圖1-6 郵政儲蓄銀行網站首頁
- Hyper-V 2016 Best Practices
- Modular Programming with Python
- 構建移動網站與APP:HTML 5移動開發入門與實戰(跨平臺移動開發叢書)
- Java應用開發與實踐
- Python:Master the Art of Design Patterns
- VMware虛擬化技術
- Mastering Data Mining with Python:Find patterns hidden in your data
- Node Cookbook(Second Edition)
- 計算機應用基礎教程(Windows 7+Office 2010)
- JSP程序設計實例教程(第2版)
- Flink技術內幕:架構設計與實現原理
- Getting Started with hapi.js
- 網頁設計與制作
- Visual FoxPro程序設計習題及實驗指導
- C語言程序設計實驗指導與習題精解