亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP學習筆記

2019-11-14 23:53:40
字體:
來源:轉載
供稿:網友
jsp學習筆記
  • 什么是JSP
  • JSP的優勢
  • JSP的劣勢
  • JSP與php的比較
  • JSP工作原理
  • JSP的九大內置對象
  • JSP的三個編譯指令
  • JSP的七個動作指令
  • JSP標準標簽庫:JSTL
  • EL表達式
JSP學習思維導圖一、什么是JSP? JSP(java Server Pages)是一種跨平臺的動態網頁技術,在靜態網頁中嵌入JAVA代碼和JSP標記(tag),由Web服務器中的JSP引擎來進行編譯并執行嵌入的JAVA代碼,生成頁面信息返回給客戶端。二、JSP的優勢(1) JSP開發的Web應用是跨平臺的,即能在linux下運行,也能在其他操作系統上運行。(2) JSP將網頁邏輯與網頁設計和顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序的開發變得迅速和容易。(3)JSP支持服務器端組件。JSP可以使用成熟的JAVA BEANS 組件來實現復雜商務功能。(4)JSP具有強大的可伸縮性。從只有一個小的.Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺application進行事務處理,消息處理。(5)JSP標簽可擴充性。JSP技術允許開發者擴展JSP標簽,定制JSP標簽庫,所以網頁制作者充分利用與xml兼容的標簽技術強大的功能,大大減少對腳本語言的依賴.由于定制標簽技術,使網頁制作者降低了制作網頁的復雜度。三、JSP的劣勢(1)正是由于為了跨平臺的功能,為了極度的伸縮能力,所以極大的增加了產品的復雜性。(2)java的高效率運行需要占用大量的內存和硬盤空間. 一方面,java的高速運行是通過 .class文件常駐內存來實現的.另一方面,還需要硬盤空間來存儲一系列的.java 文件和.class文件以及對應的版本文件。四、JSP與PHP的比較

項目PHPJAVA
可復用性
開發速度
易維護性
可移植性優-LinuxWindows、Unix
Unix安全性
開發費用
多層架構
數據庫訪問接口不統一接口統一
可擴展性
面向對象

(1) 語言比較 PHP是解釋執行的服務器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象。 JSP需要先學好java的語法和熟悉一些核心的類庫,懂得面向對象的程序設計方法。所以java不如php好學。 Java首先要編譯成字節碼.class文件,然后在java虛擬機上解釋執行。Jsp可以通過servlet和JavaBean的支持產生強大的功能。JavaBean是一種可復用的、跨平臺的軟件組件。使用javabean可以方便的實現java代碼和html的分離,能夠增強系統的功能和軟件的復用性。(2) 數據庫訪問比較 Java通過JDBC來訪問數據庫,通過不同的數據庫廠商提供的數據庫驅動方便地訪問數據庫。訪問數據庫的接口比較統一。 PHP對于不同的數據庫采用不同的數據庫訪問接口,所以數據庫訪問代碼的通用性不強。(3) 系統設計架構比較 PHP只能實現簡單的分布式兩層或三層的架構,而JAVA在這方面就比較強大,可以實現多層的網絡架構。運用MVC的設計模式,可具有更加高效、合理的系統架構。使得系統在可拓展性、需求應變性上更好的適應,而且項目越復雜,其優勢越明顯。而且現在不同的層都已經有一些成熟的開發框架的支持。 采用Java的Web開發技術,需要使用的是面向對象的系統設計方法,而PHP還是采用面向過程的開發方法。 用Java進行開發前期需要做大量的系統分析和設計的工作。(4) 跨平臺性 Java和PHP都有很好的跨平臺的特性。幾乎都可以在不作任何修改的情況下運行在Linux或者Windows等不同的操作系統上。(5) 性能比較
  • 算術運算:JSP比PHP快很多(PHP是弱類型)
  • 字符串運算:PHP比JSP快很多(JSP使用對象處理)
  • 文件操作:JSP比PHP快
  • 數據庫操作:JSP比PHP慢很多(存有爭議),但是JAVA使用連接池和PHP使用持久連接(pconnect)性能差不多
總體來說,PHP與JSP在性能上,差別不了很遠,各有優勢。(6) 總結 綜上所述,PHP適合于快速開發,中小型應用系統,開發成本低,能夠對變動的需求作出快速的反應。而Java適合于開發大型的應用系統,應用的前景比較廣闊,系統易維護、可復用性較好。還有,同樣功能的系統用Java開發的系統要比PHP開發的系統的價格要高。 盡管Java的數學計算和數據庫訪問都有優勢,架構也相當完美,但是PHP卻可以簡單輕松地支持高強度Web訪問,能夠快速開發應用,支持PHP的虛擬主機多如牛毛,使得用PHP開發一個網站比用Java開發一個網站要快得多,容易的多。Java所擁有的優點只適合傳統的以軟件項目為核心的開發模式,而PHP更適合于以客戶為核心的SaaS的開發模式,因此,PHP目前在Web網站開發的優勢完全是因為Web網站開發的特殊性而導致的,并非編程語言特性所決定。五、JSP工作原理JSP工作原理JSP執行過程 WEB容器(Servlet引擎)接收到以.jsp為擴展名的URL的訪問請求時,它將把該訪問請求交給JSP引擎去處理。Tomcat中的JSP引擎就是一個Servlet程序,它負責解釋和執行JSP頁面,具體工作流程如下:(1) 每個JSP頁面在第一次被訪問時,JSP引擎將它翻譯成一個Servlet源程序,在轉換過程中如果發現JSP文件有語法錯誤,轉換過程將中斷,并向服務端和客戶端輸出出錯信息;(2) 如果轉換成功,JSP引擎用javac把該Java源文件編譯成相應的.class文件并將該.class文件加載到內存中。(3)創建一個該Servlet的實例,并執行該實例的jspInit()方法(jspInit()方法在Servlet的生命周期中只被執行一次)。(4)創建并啟動一個新的線程,新線程調用實例的jspService()方法,Servlet容器會把瀏覽器的請求和對瀏覽器的回應封裝成HttpServletRequest和HttpServletResponse對象作為參數傳遞到jspService()方法中。(對于每一個請求,JSP引擎會創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程,每個客戶端請求對應一個線程)。

(5)jspService()方法執行后會將HTML內容返回給客戶端。

(6) 如果JSP文件被修改了,服務器將對該文件進行重新編譯。如果需要重新編譯,則將編譯結果取代內存中的Servlet,并繼續上述處理過程。 如果在任何時候由于系統資源不足,JSP引擎將以某種不確定的方式將Servlet從內存中移去。當這種情況發生時,先調用jspDestroy()方法, 然后Servlet實例便被標記加入“垃圾收集”處理。

六、JSP的九大內置對象

(1) 內置對象特點

  • 由JSP規范提供,不用編寫者實例化。
  • 通過Web容器實現和管理
  • 所有JSP頁面均可使用
  • 只有在腳本元素的表達式或代碼段中才可使用
(2)常用內置對象
分類對象
輸出輸入對象request、response、out
通信控制對象pageContext、session、application
Servlet對象page、config
錯誤處理對象exception

作用域對象
requestrequest
sessionsession
pageresponse、out、pageContext、config、page、exception
applicationapplication、

  • request對象:客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,然后做出響應。它是HttpServletRequest類的實例。
  • response對象:此對象封裝了返回到HTTP客戶端的輸出,向頁面作者提供設置響應頭標和狀態碼的方式。經常用來設置HTTP標題,添加cookie,設置響應內容的類型和狀態,發送HTTP重定向和編碼URL。
  • session對象:指的是客戶端與服務器的一次會話,從客戶連到服務器的一個WebApplication開始,直到客戶端與服務器斷開連接為止。它是HttpSession類的實例。
  • out對象:JspWriter類的實例,是向客戶端輸出內容常用的對象。
  • pageContext對象:pageContext對象提供了對JSP頁面內所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當于頁面中所有功能的集大成者。
  • config對象:是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(通過屬性名和屬性值構成)以及服務器的有關信息(通過傳遞一個ServletContext對象)
  • page對象:就是指向當前JSP頁面本身,代表了正在運行的由JSP文件產生的類對象
  • exception對象:代表了JSP文件運行時所產生的例外對象,此對象不能在一般JSP文件中直接使用,而只能在使用了“<%@ page isErrorPage="true "%>”的JSP文件中使用
  • application對象:實現了用戶間數據的共享,可存放全局變量。它開始于服務器的啟動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前后連接或不同用戶之間的連接中,可以對此對象的同一屬性進行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問。服務器的啟動和關閉決定了application對象的生命。它是ServletContext類的實例。
七、JSP的三個編譯指令

JSP編譯指令是通知JSP引擎的消息,在將JSP編譯成 Servlet 時起作用,處理指令通??商鎿Q成 Java腳本,是 JSP腳本的標準化寫法。它不直接生成輸出。編譯指令都有默認值。

語法格式:<%@ 編譯指令名 屬性名="屬性值"...%>

(1) page指令:該指令是針對當前頁面的指令,對整個頁面有效,主要用來設定一些參數,比如contentType,language等。

(2) include指令:用于指定包含另一個頁面(靜態包含),在進行jsp向servlet轉換之前,首先是將inclue file里面的內容執行,然后再進行轉換,最終只會轉換成為一個單一的servlet。

(3) taglib指令:用于定義和訪問自定義標簽。

八、JSP的七個動作指令

動作指令與編譯指令不間,編譯指令是通知 Servlet 引擎的處理消息,而動作指令只是運行時的腳本動作。

(1)forward指令:用于將頁面響應轉發給另外的頁面。既可以轉發給靜態的HTML頁面,也可以轉發到動態的JSP頁面,或者轉發到容器中的Servlet。

執行forward指令轉發請求時,客戶端的請求參數不會丟失。

執行forward指令轉發請求時,用戶請求的地址沒有發生變化,但頁面內容完全變為被forward目標頁的內容。

(2)include指令:是一個動態include指令,也用于導入某個頁面,它不會導入被include頁面的編譯指令,僅僅將被導入頁面的body內容插入本頁面。

靜態include和動態include的區別:靜態include是把父頁面和包含進來的頁面,代碼合并后,才一起翻譯成servlet,反饋到前臺,形成一個HTML頁面(編譯是發生)。動態include是把父頁面和包含進來的頁面單獨編譯,單獨翻譯成servlet后,在前臺拼成一個HTML頁面(請求時發生)。

(3) useBean指令:表示用來在JSP頁面中創建一個BEAN實例并指定它的名字以及作用范圍。

(4) getPRoperty指令:表示獲取BEAN的屬性的值并將之轉化為一個字符串,然后將其插入到輸出的頁面中。

(5) setProperty指令:表示用來設置Bean中的屬性值。

(6) plugin指令:表示執行一個applet或Bean,有可能的話還要下載一個Java插件用于執行它。

(7)param指令:用于設置參數值。

九、JSP標準標簽庫:JSTL

JSP的標簽函數庫主要分為五大類:

JSTL

前置名稱

URI

范例

核心標簽庫

c

http://java.sun.com/jsp/jstl/core

<c:out>

I18N格式標簽庫

fmt

http://java.sun.com/jsp/jstl/fmt

<fmt:formatDate>

SQL標簽庫

sql

http://java.sun.com/jsp/jstl/sql

<sql:query>

XML標簽庫

Xml

http://java.sun.com/jsp/jstl/xml

<x:forEach>

函數標簽庫

fn

http://java.sun.com/jsp/jstl/functions

<fn:split>

核心標簽庫:

功能分類

標簽名稱

表達式操作

out、set、remove、catch

流程控制

if、choose、when、otherwise

迭代操作

forEach、forTokens

URL操作

import、param、url、redirect

十、EL表達式

所有EL都是以${為起始、以}為結尾的。

EL 提供 . 和 [ ] 兩種運算符來導航數據。下列兩者所代表的意思是一樣的:${sessionScope.user.sex}等于${sessionScope.user["sex"]}

. 和 [ ] 也可以同時混合使用:${sessionScope.shoppingCart[0].price}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合久久八八| 久久精品91久久香蕉加勒比| 成人免费午夜电影| 亚洲无av在线中文字幕| 欧美性xxxx极品hd欧美风情| 国产精品久久久久久久久免费| 亚洲天堂男人天堂女人天堂| 国产97色在线| 97精品国产97久久久久久春色| 成人黄色av免费在线观看| 91网站免费看| 操人视频在线观看欧美| 2018国产精品视频| 91在线视频九色| 国产精品久久久久7777婷婷| 成人高清视频观看www| 国产精品激情自拍| 亚洲国产精品成人精品| 国产中文字幕日韩| 91精品国产777在线观看| 精品国产91久久久久久| 神马久久久久久| 国产成人精品久久| 亚洲欧美日韩精品久久| 成人午夜两性视频| 亚洲欧洲自拍偷拍| 伦理中文字幕亚洲| 国产日韩欧美视频在线| 97在线视频国产| 最近2019年手机中文字幕| 欧美亚洲视频在线观看| 亚洲永久免费观看| 综合久久五月天| 国产日产欧美a一级在线| 日韩av免费在线看| 国产综合久久久久久| 亚洲人成亚洲人成在线观看| 国产日韩精品视频| 成人欧美在线观看| 77777亚洲午夜久久多人| 91极品女神在线| 九色精品美女在线| 久99久在线视频| 久久久亚洲网站| 一区二区亚洲欧洲国产日韩| 91精品久久久久久久久中文字幕| 精品国产视频在线| 国产精品美女免费视频| www.精品av.com| 在线免费观看羞羞视频一区二区| 国产欧美va欧美va香蕉在| 久久久久亚洲精品成人网小说| 国产99视频在线观看| 中文字幕精品网| 中文字幕亚洲天堂| 日韩精品极品视频| 欧美国产日韩一区二区| 久久中文字幕在线| 色噜噜久久综合伊人一本| 国产成人精品视频在线观看| 国产精品久久久| 欧美激情a在线| 国产一区二区三区直播精品电影| 中文字幕欧美专区| 一区二区三区四区视频| 精品美女永久免费视频| 乱亲女秽乱长久久久| 国产91热爆ts人妖在线| 欧美在线激情视频| 国产精品igao视频| 国产成人精品视频| 992tv成人免费影院| 欧美一级视频免费在线观看| 国产乱肥老妇国产一区二| 精品无人区乱码1区2区3区在线| 欧美成人一区二区三区电影| 亚洲精品视频免费在线观看| 91夜夜未满十八勿入爽爽影院| 国内精品国产三级国产在线专| 欧美日韩一区二区在线| 欧美一区二区.| 欧洲亚洲妇女av| 亚洲一区二区三区777| 国产精品久久综合av爱欲tv| 亚洲va久久久噜噜噜| 亚洲第一国产精品| 欧美精品性视频| 国产一区二区三区视频| 亚洲欧美一区二区激情| 久久夜色精品国产| 久久综合伊人77777| 午夜精品一区二区三区在线播放| 日本久久久久亚洲中字幕| 88xx成人精品| 色一情一乱一区二区| 欧美另类69精品久久久久9999| 国产精品嫩草视频| 亚洲精品福利免费在线观看| 国产欧美日韩丝袜精品一区| 亚洲精品成人av| 国产福利视频一区二区| 两个人的视频www国产精品| 亚洲社区在线观看| 97欧美精品一区二区三区| 欧美性资源免费| 国产在线视频2019最新视频| 国产精品电影网| 中文字幕精品www乱入免费视频| 日韩在线观看免费高清| 精品视频9999| 久久99久久久久久久噜噜| 一个人看的www欧美| 亚洲国产99精品国自产| 欧美激情视频一区二区三区不卡| 中文字幕欧美精品日韩中文字幕| 亚洲色图激情小说| 久久青草精品视频免费观看| 成人黄色大片在线免费观看| 欧洲美女7788成人免费视频| 欧美大胆在线视频| 欧美日韩亚洲视频| 亚洲欧美国产一区二区三区| 成人国产在线视频| 亚洲自拍偷拍色片视频| 色综合久久精品亚洲国产| 国产成人亚洲综合91| 日本韩国欧美精品大片卡二| 亚洲福利小视频| 欧美在线观看视频| 成人免费福利在线| 精品久久久视频| 欧美中在线观看| 亚洲va男人天堂| 久久久久久久久久久国产| 色中色综合影院手机版在线观看| 日韩欧美aⅴ综合网站发布| 亚洲欧洲美洲在线综合| 日韩在线视频网| 成人国产精品日本在线| 欧美性猛交视频| 岛国av一区二区在线在线观看| 中文字幕在线成人| 在线看日韩av| 91国产精品91| 欧美巨猛xxxx猛交黑人97人| 亚洲男人天堂手机在线| 日韩欧美一区二区三区久久| 欧美激情精品久久久久久免费印度| www.欧美三级电影.com| 91久久综合亚洲鲁鲁五月天| 久久久久国产一区二区三区| 亚洲在线免费视频| 色无极亚洲影院| 久久久亚洲影院你懂的| 这里精品视频免费| 国产成人激情视频| 97超级碰碰人国产在线观看| 在线看欧美日韩| 中文在线不卡视频| 欧美电影在线免费观看网站| 亚洲欧美中文日韩v在线观看| 日韩成人av一区| 国产精品小说在线| 亚洲伊人第一页|