本文目錄一覽:
jsp的工作原理
JSP工作原理 JSP
在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把該JSP文件轉換成一個Java源文件,在轉換時如果發現jsp文件有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯信息;如果轉換成功, JSP引擎用javac把該Java源文件編譯成相應的class文件。然後創建一個該SERVLET的實例,該SERVLET的jspInit()方法被執行,jspInit()方法在servlet的生命周期中只被執行一次。然後jspService()方法被調用來處理客戶端的請求。對每一個請求,JSP引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可大大降低對系統的資源需求,提高系統的並發量及響應時間.但應該注意多線程的編程限制,由於該servlet始終駐於內存,所以響應是非常快的。如果.jsp文件被修改了,伺服器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的servlet,並繼續上述處理過程。雖然JSP效率很高,但在第一次調用時由於需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由於系統資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用, 然後servlet實例便被標記加入”垃圾收集”處理。 jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與資料庫的連接,或建立網路連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源。
%!
public void jspInit()
{
System.out.println(“jspinit”);
}
%
%!
public void jspDestory()
{
System.out.println(“jspDestory”);
}
%
JSP是什麼?
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文件,以及對應的版本文件。
JSP九種內置對象:
request, response, out, session, application, config, pagecontext, page, exception.
一.request對象:該對象封裝了用戶提交的信息,通過調用該對象相應的方法可以獲取封裝的信息,即使用該對象可以獲取用戶提交信息。
二.response對象:對客戶的請求做出動態的響應,向客戶端發送數據。
三.session對象
1.什麼是session:session對象是一個JSP內置對象,它在第一個JSP頁面被裝載時自動創建,完成會話期管理。
從一個客戶打開瀏覽器並連接到伺服器開始,到客戶關閉瀏覽器離開這個伺服器結束,被稱為一個會話。當一個客戶訪問一個伺服器時,可能會在這個伺服器的幾個頁面之間反覆連接,反覆刷新一個頁面,伺服器應當通過某種辦法知道這是同一個客戶,這就需要session對象。
2.session對象的ID:當一個客戶首次訪問伺服器上的一個JSP頁面時,JSP引擎產生一個session對象,同時分配一個String類型的ID號,JSP引擎同時將這個ID號發送到客戶端,存放在Cookie中,這樣session對象和客戶之間就建立了一一對應的關係。當客戶再訪問連接該伺服器的其他頁面時,不再分配給客戶新的session對象,直到客戶關閉瀏覽器後,伺服器端該客戶的session對象才取消,並且和客戶的會話對應關係消失。當客戶重新打開瀏覽器再連接到該伺服器時,伺服器為該客戶再創建一個新的session對象。
四.aplication對象
1.什麼是application:
伺服器啟動後就產生了這個application對象,當客戶再所訪問的網站的各個頁面之間瀏覽時,這個application對象都是同一個,直到伺服器關閉。但是與session不同的是,所有客戶的application對象都是同一個,即所有客戶共享這個內置的application對象。
2.application對象常用方法:
(1)public void setAttribute(String key,Object obj): 將參數Object指定的對象obj添加到application對象中,並為添加的對象指定一個索引關鍵字。
(2)public Object getAttribute(String key): 獲取application對象中含有關鍵字的對象。
五.out對象
out對象是一個輸出流,用來向客戶端輸出數據。out對象用於各種數據的輸出。
六.Cookie
1.什麼是Cookie:
Cookie是Web伺服器保存在用戶硬碟上的一段文本。Cookie允許一個Web站點在用戶的電腦上保存信息並且隨後再取回它。
舉例來說,一個Web站點可能會為每一個訪問者產生一個唯一的ID,然後以Cookie文件的形式保存在每個用戶的機器上。
如果您使用IE瀏覽器訪問Web,您會看到所有保存在您的硬碟上的Cookie。它們最常存放的地方是:c:\windows\cookies(在Window2000中則是C:\Documents and Settings\您的用戶名\Cookies )
Cookie是以「關鍵字key=值value「的格式來保存紀錄的.
2.創建一個Cookie對象,調用Cookie對象的構造函數可以創建Cookie。Cookie對象的構造函數有兩個字元串參數:Cookie名字和Cookie值。
Cookie c=new Cookie(「username」,」john」);
3. JSP中如果要將封裝好的Cookie對象傳送到客戶端,使用response的addCookie()方法。
格式:response.addCookie(c)
4.讀取保存到客戶端的Cookie,使用request對象的getCookies()方法,執行時將所有客戶端傳來的Cookie對象以數組的形式排列,如果要取出符合需要的Cookie對象,就需要循環比較數組內每個對象的關鍵字。
JSP的介紹
JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它1是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。它實現了Html語法中的java擴展(以 lt;%, %gt;形式)。JSP與Servlet一樣,是在伺服器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。
jsp是幹什麼的
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技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。
自JSP推出後,眾多大公司都支持JSP技術的伺服器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業應用的伺服器端語言。
JSP可用一種簡單易懂的等式表示為:HTML+Java=JSP。
要學JSP需要學哪些內容
先學習html、css、javascript,然後學習java,再學習jsp。
JSP(java伺服器頁面)
JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它[1] 是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。
它實現了Html語法中的java擴展(以 %, %形式)。JSP與Servlet一樣,是在伺服器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
JSP技術使用Java編程語言編寫類XML的tags和scriptlets,來封裝產生動態網頁的處理邏輯。網頁還能通過tags和scriptlets訪問存在於服務端的資源的應用邏輯。JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基於組件的設計,使基於Web的應用程序的開發變得迅速和容易。 JSP(JavaServer Pages)是一種動態頁面技術,它的主要目的是將表示邏輯從Servlet中分離出來。
Java Servlet是JSP的技術基礎,而且大型的Web應用程序的開發需要Java Servlet和JSP配合才能完成。JSP具備了Java技術的簡單易用,完全的面向對象,具有平台無關性且安全可靠,主要面向網際網路的所有特點。,。。。。。。。。。。。。。。
jsp是幹什麼的?
JSP(全稱JavaServer Pages),由Sun Microsystems公司主導創建的一種動態網頁技術標準。JSP部署於網路伺服器上,可以響應客戶端發送的請求,並根據請求內容動態地生成HTML、XML或其他格式文檔的Web網頁,然後返回給請求者。
JSP技術以Java語言作為腳本語言,為用戶的HTTP請求提供服務,並能與伺服器上的其它Java程序共同處理複雜的業務需求。
擴展資料
JSP(Java Server Page)為了簡化Servlet的工作而出現的替代品。Sun公司1997年推出了ServletAPI以及第一款Java Web伺服器。早期的Java Web層體系結構中只有Servlet。
接受用戶請求,處理業務邏輯,生成HTML顯示結果都是在Servlet中完成的。雖然Servlet可以勝任所有的工作,但是Servlet中不能像PHP、ASP等鑲嵌HTML代碼,輸出HTML比較困難,而且部署過程也比較複雜。
為了克服Servlet的這些弱點,Sun公司在1999年初推出了JSP1.0。作為對Servlet的一個補充,JSP在生成HTML代碼上比Servlet方便許多,而且不需要特殊部署,只需要複製到伺服器下面即可運行。
JSP包括很多技術,包括Java Bean、自定義標籤(Custom Tags)、EL表達式(Expression Language)、JSTL標準標籤類庫(Java Standard Tag Library)等。這些強大成熟的技術使得JSP在視圖層(View)有很大的優勢。
JSP的界面中可以直接編寫Java代碼,這為開發人員提供了極大的便利,自從推出JSP1.0後,便得到了廣泛的應用。
參考資料來源:百度百科-jsp內置對象
參考資料來源:百度百科-JSP
原創文章,作者:IAYI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144984.html