日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java經典面試題匯總:Java Web

瀏覽:103日期:2022-08-08 18:30:46
目錄1. JSP 和 servlet 有什么區別?2. 什么是Tomcat?3. Tomcat容器是如何創建Servlet類實例?用到了什么原理?4. 攔截器和過濾器的區別?5.說一下 JSP 的 4 種作用域?6. JSP 有哪些內置對象?作用分別是什么?7. Servlet的生命周期8. session 和 cookie 有什么區別?9. 說一下 session 的工作原理?10. 如果客戶端禁止 cookie 能實現 session 還能用嗎?11. JSP工作原理?12. JSP中動態include和靜態include的區別?13、JSTL是什么?優點有哪些?14. GET和POST的區別?15. 什么是 XSS 攻擊,如何避免?16. 什么是 CSRF 攻擊,如何避免?總結1. JSP 和 servlet 有什么區別?

JSP 是 servlet 技術的擴展,本質上就是 servlet 的簡易方式。servlet 和 JSP 最主要的不同點在于, servlet 的應用邏輯是在 Java 文件中,并且完全從表示層中的 html 里分離開來,而 JSP 的情況是 Java 和 html 可以組合成一個擴展名為 JSP 的文件。JSP 側重于視圖,servlet 主要用于控制邏輯。

2. 什么是Tomcat?

Tomcat是一個免費的Web應用服務器,Java編寫的Web項目可以部署在上面,用戶在客戶端請求時,都是將請求發到Tomcat上,Tomcat在將請求發到對應的項目上。

3. Tomcat容器是如何創建Servlet類實例?用到了什么原理?

當容器啟動時,會讀取在webapps目錄下所有的web應用中的web.xml文件,然后對xml文件進行解析,并讀取servlet注冊信息。然后,將每個應用中注冊的servlet類都進行加載,并通過反射的方式實例化。(有時候也是在第一次請求時實例化)在servlet注冊時加上1如果為正數,則在一開始就實例化,如果不寫或為負數,則第一次請求實例化。

4. 攔截器和過濾器的區別? 攔截器是基于java的反射機制的,而過濾器是基于函數回調。 攔截器不依賴與servlet容器,過濾器依賴與servlet容器。 攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用。 攔截器可以訪問action上下文、值棧里的對象,而過濾器不能訪問。 在action的生命周期中,攔截器可以多次被調用,而過濾器只能在容器初始化時被調用一次。5.說一下 JSP 的 4 種作用域? page:代表與一個頁面相關的對象和屬性。 request:代表與客戶端發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件;需要在頁面顯示的臨時數據可以置于此作用域。 session:代表與某個用戶與服務器建立的一次會話相關的對象和屬性。跟某個用戶相關的數據應該放在用戶自己的 session 中。 application:代表與整個 Web 應用程序相關的對象和屬性,它實質上是跨越整個 Web 應用程序,包括多個頁面、請求和會話的一個全局作用域。6. JSP 有哪些內置對象?作用分別是什么?

JSP 有 9 大內置對象:

request:封裝客戶端的請求,其中包含來自 get 或 post 請求的參數; response:封裝服務器對客戶端的響應; pageContext:通過該對象可以獲取其他對象; session:封裝用戶會話的對象; application:封裝服務器運行環境的對象; out:輸出服務器響應的輸出流對象; config:Web 應用的配置對象; page:JSP 頁面本身(相當于 Java 程序中的 this); exception:封裝頁面拋出異常的對象。7. Servlet的生命周期

servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由javax.servlet.servlet接口中的init、service、destroy方法表達。

(1)加載和實例化

當Servlet容器啟動或客戶端發送一個請求時,Servlet容器會查找內存中是否存在該Servlet實例,若存在,則直接讀取該實例響應請求;如果不存在,就創建一個Servlet實例。

(2) 初始化

實例化后,Servlet容器將調用Servlet的init()方法進行初始化(一些準備工作或資源預加載工作)。

(3)服務

初始化后,Servlet處于能響應請求的就緒狀態。當接收到客戶端請求時,調用service()的方法處理客戶端請求,HttpServlet的service()方法會根據不同的請求 轉調不同的doXxx()方法。

(4)銷毀

當Servlet容器關閉時,Servlet實例也隨時銷毀。其間,Servlet容器會調用Servlet 的destroy()方法去判斷該Servlet是否應當被釋放(或回收資源)。

8. session 和 cookie 有什么區別? 存儲位置不同:session 存儲在服務器端;cookie 存儲在瀏覽器端。 安全性不同:cookie 安全性一般,在瀏覽器存儲,可以被偽造和修改。 容量和個數限制:cookie 有容量限制,每個站點下的 cookie 也有個數限制。 存儲的多樣性:session 可以存儲在 Redis 中、數據庫中、應用程序中;而 cookie 只能存儲在瀏覽器中。9. 說一下 session 的工作原理?

session 的工作原理是客戶端登錄完成之后,服務器會創建對應的 session,session 創建完之后, 會把 session 的 id 發送給客戶端,客戶端再存儲到瀏覽器中。這樣客戶端每次訪問服務器時,都會帶著 sessionid, 服務器拿到 sessionid 之后,在內存找到與之對應的 session 這樣就可以正常工作了。

10. 如果客戶端禁止 cookie 能實現 session 還能用嗎?

可以用,session 只是依賴 cookie 存儲 sessionid,如果 cookie 被禁用了, 可以使用 url 中添加 sessionid 的方式保證 session 能正常使用。

11. 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格式的文件流)

12. JSP中動態include和靜態include的區別? 靜態include:語法:<%@ include file='文件名' %>,相當于復制,編輯時將對應的文件包含進來,當內容變化時,不會再一次對其編譯,不易維護。 動態include:語法:<jsp:include page='文件名'>,能夠自動檢查被包含文件,當客戶端對JSP文件進行請求時,會重新將對應的文件包含進來,進行實時的更新。13、JSTL是什么?優點有哪些?

答:JSTL(JSP Standard Tag Library,JSP標準標簽庫)是一個不斷完善的開放源代碼的JSP標簽庫,由四個定制標記庫(core、format、xml、sql)和一對通用標記庫驗證器(ScriptFreeTLV和PermittedTaglibsTLV)組成。

優點有:

在應用程序服務器之間提供了一致的接口,最大程度的提高了web應用在各應用服務器之間的移植。 簡化了JSP和web應用程序的開發。 以一種統一的方式減少了JSP中scriptlet代碼數據,可以達到沒有任何scriptlet代碼的代碼。在我們公司的項目中是不允許任何scriptlet出現在JSP中。 允許JSP設計工具與web應用程序開發的進一步集成。相信不久就會有支持JSTL的IDE開發工具出現。14. GET和POST的區別?

POST和GET都是向服務器提交數據,并且都會從服務器獲取數據。

1、傳送方式:get通過地址欄傳輸,post通過報文傳輸。

2、傳送長度:get參數有長度限制(受限于url長度),而post無限制

3、GET和POST還有一個重大區別,簡單的說:

GET產生一個TCP數據包;POST產生兩個TCP數據包

長的說:

對于GET方式的請求,瀏覽器會把http header和data一并發送出去,服務器響應200(返回數據);

而對于POST,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。

建議:

1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;

2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;

15. 什么是 XSS 攻擊,如何避免?

XSS 攻擊:即跨站腳本攻擊,它是 Web 程序中常見的漏洞。原理是攻擊者往 Web 頁面里插入惡意的腳本代碼(css 代碼、Javascript 代碼等),當用戶瀏覽該頁面時,嵌入其中的腳本代碼會被執行,從而達到惡意攻擊用戶的目的,如盜取用戶 cookie、破壞頁面結構、重定向到其他網站等。 預防 XSS 的核心是必須對輸入的數據做過濾處理。

16. 什么是 CSRF 攻擊,如何避免?

CSRF:Cross-Site Request Forgery(中文:跨站請求偽造),可以理解為攻擊者盜用了你的身份,以你的名義發送惡意請求,比如:以你名義發送郵件、發消息、購買商品,虛擬貨幣轉賬等。 防御手段: 驗證請求來源地址; 關鍵操作添加驗證碼; 在請求地址添加 token 并驗證。

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀av在线播放一区二区三区| 日韩精品视频在线看| 视频一区日韩| 久热精品在线| 久久字幕精品一区| 日韩精品91亚洲二区在线观看| 水蜜桃精品av一区二区| 日韩在线观看不卡| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲一区二区三区免费在线观看| 亚洲黄色影院| 99精品美女| 久久黄色影院| 欧美jjzz| 免费视频一区二区| 日韩精品免费视频一区二区三区| 婷婷视频一区二区三区| 日本国产欧美| 国产三级精品三级在线观看国产| 91精品国产自产观看在线| 日韩av中文在线观看| 日韩欧美中文字幕在线视频| 欧美影院精品| 成人国产精选| 欧美二区视频| 久久亚洲色图| 中文一区一区三区免费在线观| 亚洲+小说+欧美+激情+另类| 国产欧美另类| 日本午夜大片a在线观看| 亚洲成人一区在线观看| 先锋亚洲精品| 美女视频网站久久| 三级精品视频| 蜜桃视频一区二区三区在线观看| 国产精品一区二区三区美女 | 国产99亚洲| 美女日韩在线中文字幕| 国产精品美女午夜爽爽| 精品国产一区二区三区噜噜噜| 色偷偷偷在线视频播放| 国产精品美女久久久| 国产精品亚洲综合在线观看| 婷婷激情一区| 亚洲精选成人| 国产v日韩v欧美v| 老司机久久99久久精品播放免费| 欧美视频一区| 国产综合亚洲精品一区二| 亚洲精品国产精品粉嫩| 狂野欧美性猛交xxxx| 欧美日韩免费观看一区=区三区| 日韩不卡在线观看日韩不卡视频 | 老司机精品久久| 国产精品入口久久| 久久精品不卡| 国产亚洲字幕| 欧美一区三区| 国产精品亚洲欧美一级在线| 91久久午夜| 亚洲免费专区| 亚洲一区国产一区| 精品久久网站| 色吊丝一区二区| 欧美日韩一区二区三区视频播放| 99视频精品视频高清免费| 麻豆精品91| 精品少妇一区| 亚洲精品在线国产| 999久久久精品国产| 麻豆精品久久| 国产综合精品| 色吊丝一区二区| 亚洲精品免费观看| 国产精品超碰| 一区二区视频欧美| 欧美精品91| 欧美中文一区二区| 日韩一区二区三区精品| 国产精品国产一区| 免费人成网站在线观看欧美高清| 中文无码久久精品| 欧美精品导航| 久久超级碰碰| 国产精品网站在线看| 国产综合婷婷| 丝袜美腿一区二区三区| 国产视频一区二| 精品久久一区| 欧美xxxx中国| 综合色一区二区| 日韩精品久久久久久久软件91| 99久久婷婷| 欧美在线综合| 日韩va亚洲va欧美va久久| 国产一区国产二区国产三区 | 久久亚州av| 深夜福利一区| 好看的亚洲午夜视频在线| 91偷拍一区二区三区精品| 日韩福利视频网| 蜜臀va亚洲va欧美va天堂| 国产精品毛片在线| 亚洲电影在线| 亚洲h色精品| 国产成人免费视频网站视频社区| 国产欧美日韩一级| 日韩va亚洲va欧美va久久| 美女日韩在线中文字幕| 欧美日韩视频一区二区三区| 激情中国色综合| 欧美日本三区| 水蜜桃久久夜色精品一区的特点| 群体交乱之放荡娇妻一区二区| sm捆绑调教国产免费网站在线观看| 日韩精品免费视频一区二区三区| 性色一区二区| 激情欧美一区| 亚洲精品永久免费视频| 久久99免费视频| 国产欧美日韩影院| 久久精品av麻豆的观看方式| 中文视频一区| 日本伊人久久| 日韩精选在线| 蜜桃av一区二区三区电影| 国产模特精品视频久久久久| 图片区亚洲欧美小说区| 久久国产亚洲精品| 在线天堂资源www在线污| 国产精品久久久久久久免费观看 | 国产欧美丝祙| 日韩精品1区2区3区| 99国产精品久久久久久久| 国产一区国产二区国产三区| 蜜臀精品久久久久久蜜臀 | 日韩精品久久理论片| 日本免费在线视频不卡一不卡二| 日本高清久久| 国产精选久久| 中文一区一区三区高中清不卡免费| 国产高清一区二区| 天堂av在线一区| 成人看片网站| 欧美综合另类| 国产视频一区欧美| 国际精品欧美精品| 国产日韩欧美中文在线| 日韩av片子| 国产福利电影在线播放| 国产精品麻豆久久| 色一区二区三区四区| 国产成人精品福利| 高清av一区二区三区| 欧美日韩视频| 蜜臀久久99精品久久久久宅男| 视频精品一区| 日韩高清不卡一区| 给我免费播放日韩视频| 日韩在线免费| 黄色成人精品网站| 在线午夜精品| 欧美一区二区三区久久| 精品视频在线你懂得| 日韩欧美一区二区三区在线视频| 激情婷婷久久| 日韩影片在线观看| 国产精品videosex极品| 日韩精品欧美| 亚洲精品综合| 国产精品欧美三级在线观看| 色婷婷色综合| 日韩亚洲国产欧美| 日本精品在线播放| 国产精品久久久久久久免费软件| 亚洲深夜视频| 在线一区欧美| 国产精品白浆| 99久久婷婷| 日韩激情中文字幕| 综合日韩av| 亚洲一区日韩在线| 欧美一区激情| 尤物tv在线精品| 日韩精品一区二区三区中文| 久久免费视频66| 伊人久久亚洲热| 国产欧美一区二区三区精品观看 | 青草国产精品| 亚洲综合电影| 蜜桃av一区二区在线观看| 久久精品三级| 亚洲精品一二三区区别| 国产欧美成人| 五月天久久久| 国产精品v日韩精品v欧美精品网站| av中文资源在线资源免费观看| 午夜精品网站| 久久精品国产999大香线蕉| 免费观看久久av|