當前位置:編程學習大全網 - 編程語言 - jsp是什麽來的不是壹種軟件嗎怎麽用來制作動態網頁的

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對象,就需要循環比較數組內每個對象的關鍵字。

  • 上一篇:晶振的作用 可以用於哪些方面呢
  • 下一篇:二次開發看不懂別人的代碼,看著頭疼,功能寫出來了也不壹定知道是什麽原理怎麽辦?
  • copyright 2024編程學習大全網