1. 程式人生 > >JSP必知基礎知識

JSP必知基礎知識

1,WEB1.0、WEB2.0、的區別?及其常用伺服器。##

Web1.0:以靜態、單向閱讀為主,網站內資訊可以直接和其他網站資訊進行互動,能通過第三方資訊平臺同時對多家網站資訊進行整合使用。
Web2.0:以分享為特徵的實時網路,使用者在網際網路上擁有自己的資料,並能在不同的網站上使用。
Web3.0:將以網路化和個性化為特徵,提供更多人工智慧服務,完全基於Web,用瀏覽器即可實現複雜的系統程式才具有的功能。
Web3.0的特徵分析:
  1、微內容(Widget)的自由整合與有效聚合
  2、適合多種終端平臺,實現資訊服務的普適性
  3、良好的人性化使用者體驗,以及基礎性的個性化配置
  4、有效和有序的數字新技術
  (1)ApacheApache是世界使用排名第一的Web伺服器軟體。它可以執行在幾乎所有廣泛使用的計算機平臺上。Apache源於NCSAhttpd伺服器,經過多次修改,成為世界上最流行的Web伺服器軟體之一。Apache取自"a patchy server"的讀音,意思是充滿補丁的伺服器,因為它是自由軟體,所以不斷有人來為它開發新的功能、新的特性、修改原來的缺陷。Apache的特點是簡單、速度快、效能穩定,並可做代理伺服器來使用。
  (2)IIS是英文Internet Information Server的縮寫,譯成中文就是"Internet資訊服務"的意思。它是微軟公司主推的伺服器,最新的版本是Windows2008裡面包含的IIS 7,IIS與Window Server完全整合在一起,因而使用者能夠利用Windows Server和NTFS(NT File System,NT的檔案系統)內建的安全特性,建立強大,靈活而安全的Internet和Intranet站點。
  (3)GFEGoogle的web伺服器,使用者數量激增。目前緊逼iis。
  (4)Nginx不僅是一個小巧且高效的HTTP伺服器,也可以做一個高效的負載均衡反向代理,通過它接受使用者的請求並分發到多個Mongrel程序可以極大提高Rails應用的併發能力。
  (5)Lighttpd是由德國人 Jan Kneschke 領導開發的,基於BSD許可的開源WEB伺服器軟體,其根本的目的是提供一個專門針對高效能網站,安全、快速、相容性好並且靈活的web server環境。具有非常低的記憶體開銷,CPU佔用率低,效能好,以及豐富的模組等特點。Lighttpd 是眾多OpenSource輕量級的web server中較為優秀的一個。支援FastCGI, CGI, Auth, 輸出壓縮(output compress), URL重寫, Alias等重要功能。
  (6)Zeus是一個運行於Unix下的非常優秀的Web Server,據說效能超過Apache,是效率最高的Web Server之一。
  (7)Sun的Java系統Web伺服器也就是以前的Sun ONE Web Server。主要出現在那些執行Sun的Solaris作業系統的關鍵任務級Web伺服器上。它最新的版本號是6.1,可以支援x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支援Windows,但它的大多數使用者都選擇了SPARC版本的Solaris作業系統。
  (8)Resin提供了最快的jsp/servlets執行平臺。在java和javascript的支援下,Resin可以為任務靈活選用合適的開發語言。Resin的一種先進的語言XSL(XML stylesheet language)可以使得形式和內容相分離。
  (9)Jetty是一個開源的servlet容器,它為基於Java的web內容,例如JSP和servlet提供執行環境。Jetty是使用Java語言編寫的,它的API以一組JAR包的形式釋出。開發人員可以將Jetty容器例項化成一個物件,可以迅速為一些獨立執行(stand-alone)的Java應用提供網路和web連線。
  (10)BEA WebLogic是用於開發、整合、部署和管理大型分散式Web應用、網路應用和資料庫應用的Java應用伺服器。將Java的動態功能和Java Enterprise標準的安全性引入大型網路應用的開發、整合、部署和管理之中。 BEA WebLogic Server擁有處理關鍵Web應用系統問題所需的效能、可擴充套件性和高可用性。
  (11)Tomcat是Apache 軟體基金會(Apache Software Foundation)的Jakarta 專案中的一個核心專案,由Apache、Sun 和其他一些公司及個人共同開發而成。由於有了Sun 的參與和支援,最新的Servlet 和JSP 規範總是能在Tomcat 中得到體現。因為Tomcat 技術先進、效能穩定,而且免費,因而深受Java 愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web 應用伺服器。

2,動態網頁技術有哪些?

1、PHP 即Hypertext Preprocessor(超文字前處理器),它是當今Internet上最為火熱的指令碼語言,其語法借鑑了C、Java、PERL等語言,但只需要很少的程式設計知識你就能使用PHP建立一個真正互動的Web站點。
它與HTML語言具有非常好的相容性,使用者可以直接在指令碼程式碼中加入HTML標籤,或者在HTML標籤中加入指令碼程式碼從而更好地實現頁面控制。PHP提供了標準的資料庫介面,資料庫連線方便,相容性強;擴充套件性強;可以進行面向物件程式設計。
**2、ASP 即Active Server Pages(活躍伺服器頁),**它是微軟開發的一種類似超文字標識語言(HTML)、指令碼(Script)與CGI(公用閘道器介面)的結合體,它沒有提供自己專門的程式語言,而是允許使用者使用許多已有的指令碼語言編寫ASP的應用程式。ASP的程式編制比HTML更方便且更有靈活性。它是在Web伺服器端執行,執行後再將執行結果以HTML格式傳送至客戶端的瀏覽器。因此ASP與一般的指令碼語言相比,要安全得多。
ASP的最大好處是可以包含HTML標籤,也可以直接存取資料庫及使用無限擴充的ActiveX控制元件,因此在程式編制上要比HTML方便而且更富有靈活性。通過使用ASP的元件和物件技術,使用者可以直接使用ActiveX控制元件,呼叫物件方法和屬性,以簡單的方式實現強大的互動功能。
但ASP技術也非完美無缺,由於它基本上是侷限於微軟的作業系統平臺之上,主要工作環境是微軟的IIS應用程式結構,又因ActiveX物件具有平臺特性,所以ASP技術不能很容易地實現在跨平臺Web伺服器上工作。
aspx是微軟的在伺服器端執行的動態網頁檔案,通過IIS解析執行後可以得到動態頁面,是微軟推出的一種新的網路程式設計方法,而不是asp的簡單升級,因為它的程式設計方法和asp有很大的不同,他是在伺服器端靠伺服器編譯執行的程式程式碼, ASP 使用指令碼語言,每次請求的時候,伺服器呼叫指令碼解析引擎來解析執行其中的程式程式碼,

而asp.net 則可以使用多種語言編寫,而且是全編譯執行的,比ASP 快,而且,不僅僅是快的問題,有很多優點。
**3、JSP 即Java Server Pages(爪哇伺服器頁面),**它是由Sun Microsystem公司於1999年6月推出的新技術,是基於Java Servlet以及整個Java(爪哇)體系的Web開發技術。
JSP和ASP在技術方面有許多相似之處,不過兩者來源於不同的技術規範組織,以至 ASP一般只應用於Windows NT/2000平臺,而JSP則可以在85%以上的伺服器上執行,而且基於JSP技術的應用程式比基於ASP的應用程式易於維護和管理,所以被許多人認為是未來最有發展前途的動態網站技術。
**4、CGI(Common Gateway Interface,公用閘道器介面)**是較早用來建立動態網頁的技術。當客戶端向Web伺服器上指定的CGI程式發出請求時,Web伺服器會啟動一個新的程序執行某些CGI程式,程式執行後將結果以網頁的形式再發送回客戶端。  CGI的優點是它可以用很多語言編寫,如 C 、C++ 、VB和Perl語言。在語言的選擇上有很大的靈活性。最常用的CGI開發語言為Perl。

3,JSP的工作原理(工作步驟)

工作原理

(1)當用戶訪問一個JSP頁面時,會向一個Servlet容器(Tomcat)發出請求;
(2)如果是第一次請求頁面,或頁面有所改動,則servlet容器首先要把JSP頁面(假設為test.jsp)轉化為Servlet程式碼(test.java),再將其轉化為(test.class檔案);因為這個過程(編譯)會耗費一定時間,所以第一次訪問或jsp檔案有改動時,訪問時間有些長;
(3)JSP容器負責呼叫從JSP轉換來的servlet,這些servlet負責提供服務相應使用者請求(比如客戶端傳送表單,要求servlet:formprocessor.java來處理,則容器會建立一個執行緒,呼叫formprocessor.java來處理該請求);如果使用者有多個請求,則容器會建立多個執行緒處理多個請求;
(4)容器執行位元組碼檔案(包括呼叫的servlet:formprocessor.java位元組嗎),並將其結果返回到客戶端;(返回的最終方式是有servlet輸出html格式的檔案流)
歷史
JSP是Servlet的擴充套件,JSP沒出現之前,就已經出現了Servlet技術.Servlet是利用了"輸出流",動態的生成了HTML頁面。包括 每一個HTML標籤和所有的HTML頁面中出現的內容,簡單點說就是利用Servlet的輸出流將HTML標籤生成一個HTML頁面。由於時間長了 Servlet中包含了大量的HTML標籤、大量的靜態文字及格式等,導致了Servlet的開發效率非常低下.
這時候JSP誕生了,JSP彌補了這種情況,JSP通過在標準的THML頁面中嵌入JAVA程式碼,使其靜態的部分無需JAVA程式控制,只有那些需要從資料庫讀取或需要動態生成的頁面內容,才使用JAVA指令碼控制。

4,市場上的主流瀏覽器

1、IE瀏覽器核心:Trident核心,也是俗稱的IE核心;
2、Chrome瀏覽器核心:統稱為Chromium核心或Chrome核心,以前是Webkit核心,現在是Blink核心;3、Firefox瀏覽器核心:Gecko核心,俗稱Firefox核心;
4、Safari瀏覽器核心:Webkit核心;
5、Opera瀏覽器核心:最初是自己的Presto核心,後來加入谷歌大軍,從Webkit又到了Blink核心;
6、360瀏覽器、獵豹瀏覽器核心:IE+Chrome雙核心;
7、搜狗、遨遊、QQ瀏覽器核心:Trident(相容模式)+Webkit(高速模式);8、百度瀏覽器、世界之窗核心:IE核心;
8、百度瀏覽器、世界之窗核心:IE核心;

TOMCAT管理員的配置