當前位置:編程學習大全網 - 編程語言 - 什麽是JSP,JAVA又是什麽?各有什麽作用呢?

什麽是JSP,JAVA又是什麽?各有什麽作用呢?

JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與壹起建立的壹種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。

用JSP開發的Web應用是跨平臺的,即能在Linux下運行,也能在其他操作系統上運行。

JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。

Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序段,然後將執行結果連同JSP文件中的HTML代碼壹起返回給客戶。插入的Java程序段可以操作數據庫、重新定向網頁等,以實現建立動態網頁所需要的功能。

JSP與Java Servlet壹樣,是在服務器端執行的,通常返回該客戶端的就是壹個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。

JSP的1.0規範的最後版本是1999年9月推出的,12月又推出了1.1規範。目前較新的是JSP1.2規範,JSP2.0規範的征求意見稿也已出臺。

JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務器在頁面被客戶端請求以後對這些Java代碼進行處理,然後將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平臺無關性且安全可靠,主要面向因特網的所有特點。

1. JSP技術的強勢

(1)壹次編寫,到處運行。在這壹點上Java比PHP更出色,除了系統之外,代碼不用做任何更改。

(2)系統的多平臺支持。基本上可以在所有平臺上的任意環境中開發,在任意環境中進行系統部署,在任意環境中擴展。相比ASP/PHP的局限性是現而易見的。

(3)強大的可伸縮性。從只有壹個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,壹臺服務器到無數臺服務器,Java顯示了壹個巨大的生命力。

(4)多樣化和功能強大的開發工具支持。這壹點與ASP很像,Java已經有了許多非常優秀的開發工具,而且許多可以免費得到,並且其中許多已經可以順利的運行於多種平臺之下。

2. JSP技術的弱勢

(1) 與ASP壹樣,Java的壹些優勢正是它致命的問題所在。正是由於為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。

(2) Java的運行速度是用class常駐內存來完成的,所以它在壹些情況下所使用的內存比起用戶數量來說確實是“最低性能價格比”了。從另壹方面,它還需要硬盤空間來儲存壹系列的.java文件和.class文件,以及對應的版本文件。

=================================

java

Java是Sun公司推出的壹種編程語言。它是壹種通過解釋方式來執行的語言,語法規則和C++類似。同時,Java也是壹種跨平臺的程序設計語言。用Java語言編寫的程序叫做“Applet”(小應用程序),用編譯器將它編譯成類文件後,將它存在WWW頁面中,並在HTML檔上作好相應標記,用戶端只要裝上Java的客戶軟件就可以在網上直接運行“Applet”。 Java非常適合於企業網絡和Internet環境,現在已成為Internet中最受歡迎、最有影響的編程語言之壹。 Java有許多值得稱道的優點,如簡單、面向對象、分布式、解釋性、可靠、安全、結構中立性、可移植性、高性能、多線程、動態性等。Java擯棄了C++中各種弊大於利的功能和許多很少用到的功能。 Jave可以運行與任何微處理器,用Java開發的程序可以在網絡上傳輸,並運行於任何客戶機上。

JAVA介紹

壹、前言

『Java』從1995年的暑假開始在計算機業界就受到了高度註意,特別是在Internet和多 媒體(Multimedia)相關產品類方面。Java為何有如此這麽大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機(PC)的關系。那Java究竟有那些特色呢?

Java是壹種軟件技術

是壹種由美國SUN計算機公司(Sun Microsystems, Inc.)所研究而成的語言

是壹種為 Internet發展的計算機語言

是壹種使網頁(Web Page)產生生動活潑畫面的語言

是壹種使網頁(Web Page)由靜態(Static)轉變為動態(Dynamic)的語言

是壹種語言,用以產生「小應用程序(Applet(s))」

是壹種簡化的C++語言 是壹種安全的語言,具有阻絕計算機病毒傳輸的功能

是壹種將安全性(Security)列為第壹優先考慮的語言

是壹種使用者不需花費很多時間學習的語言

是壹種突破用戶端機器環境和CPU結構的語言

是壹種「寫壹次,即可在任何機器上執行(Write OnceRun Anywhere)」的語言是有史以來,第壹套允 使用者將應用程序(Applications)通過Internet從遠端的服務器(Remote Server)傳輸到本地端的機器 上(LocalMachine)並執行

是壹種應用程序提供者不需要知道使用者的計算機硬件(如:Sun, Intel, 或MAC等)與軟件(如:SW- UNIX, MAC O/S, Windows, 或NT等)環境的語言(Kestenbaum, 1995)。

Java的版本

J2SE Java的標準版本 (Java2 Standard Edition) 定位在客戶端,主要用於桌面應用軟件的編程

J2ME (Java2 Micro Edition) 主要應用於嵌入是系統開發,如手機和PDA的編程;

J2EE 企業版本(Java2 Enterprise Edition)定義在服務器端Java2的企業版,主要用於分布式的網絡程序的開發,如電子商務網站和ERP系統。

下面將依序地介紹Java,首先是Java的發展歷史與Java語言介紹,其次依序是Java Applet和HotJava的簡單介紹。

二、Java FAQ

下面以問答的方式來說明Java的發展歷史與其背景(下列內容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,讀者若欲深 入了解,請自行參閱原文):

Java何時開始發展?(When)

最早大概可追溯至1991年四月份,Sun的綠色計劃(Green Project)開始著手於發展消費性電子產品(Consumer Electronics),所使用的語言是C、C++、及Oak (為Java語 言的前身),後因語言本身和市場的問題, 使得消費性電子產品的發展無法達到當初 預期的目標,再加上網絡的興起, 綠色計劃也因此而改變發展的方向,這已是1994 年了。

為何稱之為Java?(Why) "Java"是美國SUN計算機公司Java發展小組歷經無數次的激烈討論之後才被選擇出。 生動(Liveliness)、動畫(Animation)、速度(Speed)、交互性(Interactivity)為當 初選擇名字時所欲表達出的特色。"Java"是在無數的建議中脫穎而出的,而"Java" 不是由幾個單字的首字所組成, 而是從許多程序設計師鐘愛的熱騰騰、香濃咖啡中 產生靈感的。

誰開發了Java?(Who) Java是美國SUN計算機公司Java發展小組開發的,早期的成員(綠色工程)是Patrick Naughton, James Gosling, & Mike Sheridan,而現在大家較為熟悉的成員是James Gosling。

在那裏開發了Java?(Where)

也就是問Java的出生地?答案是美國。

如何可以找到所需的Java信息?(How to)

在網路上,您可以連到Sun公司的Java WWW 網站,URL是/,或是 /。在那裏幾乎可以找到您所需要的所有Java信息,但是語 言多少是壹個障礙, 至少對某些人而言;沒關系,目前國內已有很多個網站提供中文 Java信息。在清華和中科院的FTP站點上有不少有關資料。想象以後應會有更多的站點提供相關信息。

如何才能看到Java的效果?(How Do I)

首先您需要有含有Java解釋器的瀏覽器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava瀏覽器,對個人計算機使用者而言,操作 系統需是Windows 95或是Windows NT。

Java是因為撰寫C++語言程序時的困難而研制開的,起先,只是壹個消費性電子產品 大計劃中的壹部份,C++語言是當初被考慮采用的,但從壹開始的編譯問題壹直到最 後的壹連串問題迫使得放棄C++語言,而有Java語言的產生。Sun是要Java成為壹個簡 單(Simple)、面向對象的(Object Oriented)、 分布式的(Distributed)、解釋的(Interpreted)、健壯的(Robust)、安全的(Secure)、 結構中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多線程的(Multithreaded)、動態的(Dynamic)的程序語言(摘譯自 TheJava Language: A White Paper, 1995)。

在Sun的Java語言白皮書中明白地說明上述Java語言的技巧。若以木工為比喻,壹個面 向對象的木工,他(她)最主要的重點是即將要做的木椅子,其次才是所需要的工具; 反之;壹個以非面向對象的木工,他(她)所關心的只是工具。最近的即插即用(Plug and Play)亦是面向對象設計的重點。 分布式的(Distributed):Java有壹個很周全的程薪錄JAVA介紹 。

壹、

『Java』從1995年的暑假開始在計算機業界就受到了高度註意,特別是在Internet和 多媒體(Multimedia)相關產品類方面。Java為何有如此這麽大的魅力?人作如此的比喻: Java在全球資訊網(World Wide Web, WWW )地位就如同電子表格(Spreadsheet)與個人計 算機TTP和FTP等TCP/IP通訊協定相配合。Java應用程序(Applications) 能在網路上開啟及連結使用物件,就如同透過URLs連結使用壹個本地文件系統(Local File System)。 健壯的(Robust):由Java所編寫出的程序能在多種情況下執行而具有其穩定性。Java與 C/C++最大不同點是Java有壹個指針模型(Pointer Model)來排除內存被覆蓋(Overwriting Memory)和毀損數據(Corrupting Data)的可能性。

安全的(Secure):Java是被設計用於網絡及分布式的環境中,安全性自必是壹個很 重要的考慮。Java擁有數個階層的互鎖(Interlocking)保護措施,能有效地防止病 毒的侵入和破壞行為的發生。

結構中立的(Architecture Neutral):壹般而言,網絡是由很多不同機型的機器所 組合而成的,CPU和作業系統體系結構均有所不同;因此,如何使壹個應用程序可以 在每壹種機器上執行,是壹個難題。所幸,Java的編譯器產生壹種結構中立的目標 文件格式(Object File Format);這使得編譯碼得以在很多種處理器中執行。

可移植的(Portable):原始資料型式的大小是被指定的,例如"float"壹直是表示壹 個32位元IEEE 754浮點運算數字,因絕大多數的CPU都具有此***同特征。程序庫屬於 系統的壹部份,它定義了壹些可移植的程序接口,Java本身具備有很好的可移植性。

解釋的(Interpreted):Java解釋器能直接地在任何機器上執行Java位元碼(Bytecodes), 因此在進行程序連結時,時間的節省,這對於縮短程序的開發過程,有極大的幫助。

高效能的(High Performance):Java位元碼迅速地能被轉換成機器碼(Machine Code), 從位元碼轉換到機器碼的效能幾乎與C與C++沒有分別。

多線程的(Multi threaded):Java語言具有多線程的功能,這對於交互回應能力及 即時執行行為是有幫助的。

動態的(Dynamic):Java比C或C++語言更具有動態性,更能適應時刻在變的環境, Java不會因程序庫的更新,而必須重新編譯程序。

此外,Hank Shiffman (Making Sense of Java)亦針壹般對Java的錯誤看法及觀 念提出他的說明,特在此摘譯如下:

"Java是壹種編寫Web Pages的壹種語言,就如同HTML和VRML壹樣" 事實上,Java並不像是HTML此壹類的描述語言(Description Language),而是壹種 編程語言(Programming Language)。描述語言標明內容和位置,而編程語言描述壹 種產生結果的過程。

2. "Java語言容易學習和使用,不像C、C++和其它程序語言"

Java是壹種編程語言。Java容易學嗎?Java或許是比C或C++容易學,但仍是壹種編程語言,而不是壹種描述語言。

3. "Java碼是可移植的,但C及C++不是"

Java原代碼(Source Code)是比C語言來得可移植壹點,差別在於Java的目標碼。 Java碼在壹種機器上進行編譯,而能在所有的機器上執行, 只要那部機器上有 Java解釋器。

4. "Java能被拓展而在機器上執行任何事情"

理論上,Java Applet (Java小應用程序)能做任何事情,如模擬3D VRML模型、播放電影、產生音頻....等。但事實上,壹個小應用程序(Applet)僅能在那壹頁上被執行,而無法在那壹頁之外執行。同時,Java亦受限於程序庫的功能。

5. "Java是適合於建立大型的應用程序"

如果Java適合於大型程序,則Java就不適合應用於Web瀏覽器了。第壹個商業 性的Java Applets (Applix's Java-Based Spreadsheet) 並不是全然使用Java, 它只使用Java作為用戶接口,而所有的處理工作, 是用CGI碼。

6. "Java是解釋執行的,Basic是解釋執行的,因此Java=Basic"

雖然Java的確是使用解釋器,但事實上,Java則與C或C++等完全編譯語言較為相近,但與Basic或APL等完全解譯語言較不相近。

7. "Java刪除了CGI命令稿(Scripts)和程序的需求"

Java Applets將會取代部份CGI的用途。在有些情況,Java Applets能夠取代壹些服務器端代碼(Server-Side Code),但大多數的情況,基於安全性理由或是效 能的考慮,Java仍無法全然取代CGI Scripts。

8. "Netscape's JavaScript是與Java有相關"

除了名稱之外,Java和JavaScript是有壹點點相關。JavaScript是壹種命令稿語 言,是可以在HTML頁中使用。Java碼並未出現在HTML中,而在HTML中通過壹個鏈 結來鏈結編譯碼組。Java和JavaScript之間的關系就如同C語言和C Shell壹般。

  • 上一篇:為什麽癌細胞要殺死人,人死了它不也死了嗎?
  • 下一篇:泛化的分類
  • copyright 2024編程學習大全網