Javaweb——jsp詳解
時間:2023-05-30 21:48:01 | 來源:網站運營
時間:2023-05-30 21:48:01 來源:網站運營
Javaweb——jsp詳解: 還是老規(guī)矩,先介紹一下什么是jsp,jsp全稱是JavaServer Pages,它的書寫格式和HTML一樣,但是它確是動態(tài)的,什么意思呢,舉個栗子,我們訪問某些網站時,它的首頁會出現時間對不對,我們都知道時間是動態(tài)的,而HTML是靜態(tài)的,它不具備這種能力,所以就衍生出了jsp,jsp理解起來非常簡單,就是即可以定義HTML頁面又可以在里面寫Java代碼。
一個頁面想要顯示動態(tài)內容,就必須要用Java來寫,而一個Java類要想被外界訪問,那必須要建立
servlet,
所以jsp其實就是一個servlet,它的出現,簡化了程序代碼,讓程序員們可以不用在HTML和servlet中建立連接了。
那么jsp是怎么在客服端和服務器里進行請求響應的呢?
首先,客戶端發(fā)送請求,服務器解析請求尋找是否有index.jsp的文件,如果有則將它轉換為.java的格式,如果沒有則404報錯,然后服務器會編譯java文件生成.class字節(jié)碼文件,字節(jié)碼文件提供訪問servlet。
jsp里又是怎么區(qū)別HTML和java代碼呢,其實很簡單。
打開一個jsp文件:
我們可以看到,java的print語句被寫在了<%%>里面,而HTML寫在了外面,我們執(zhí)行一下
就可以看見HTML的內容打印在了頁面,同樣的java內容也出現在了控制臺,這就是jsp神奇的地方了。
jsp的腳本書寫框一共有三種,分別是<% %>,<%! %>,<%= %>
第一種我們已經演示過了,第二種主要是往里面書寫成員變量用的,一般里面可以寫成員方法,成員變量,靜態(tài)代碼塊等
第三種相當于輸出語句,比如<%= i %>,它就會把i的值輸出到頁面。
最后介紹一下out.write它可以將jsp數據輸出到頁面上,和response.getwriter類似,但是如果你在jsp里同時用到這兩個語句,那么response.getwriter輸出的數據一定會在out.writet輸出的數據前面,因為在tomcat里會先訪問response緩沖區(qū)數據,再訪問out緩沖區(qū)數據,所以在jsp里用out.write就好,用response.getwriter容易導致順序錯亂。
以上知識總結來自嗶哩嗶哩JavaWeb-08 Cookie和Session_嗶哩嗶哩_bilibili
感興趣的可以去觀看~~~