大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 2020年java web基礎面試題

2020年java web基礎面試題

更新時間:2020-03-30 15:29:59 來源:動力節點 瀏覽2886次


  jsp和servlet有什么區別?


  jsp經編譯后就變成了Servlet.(JSP的本質就是Servlet,JVM只能識別java的類,不能識別JSP的代碼,Web容器將JSP的代碼編譯成JVM能夠識別的java類)


  jsp更擅長表現于頁面顯示,servlet更擅長于邏輯控制。


  Servlet中沒有內置對象,Jsp中的內置對象都是必須通過HttpServletRequest對象,HttpServletResponse對象以及HttpServlet對象得到。


  Jsp是Servlet的一種簡化,使用Jsp只需要完成程序員需要輸出到客戶端的內容,Jsp中的Java腳本如何鑲嵌到一個類中,由Jsp容器完成。而Servlet則是個完整的Java類,這個類的Service方法用于生成對客戶端的響應。


  jsp有哪些內置對象?作用分別是什么?


  JSP有9個內置對象:


  request:封裝客戶端的請求,其中包含來自GET或POST請求的參數;


  response:封裝服務器對客戶端的響應;


  pageContext:通過該對象可以獲取其他對象;


  session:封裝用戶會話的對象;


  application:封裝服務器運行環境的對象;


  out:輸出服務器響應的輸出流對象;


  config:Web應用的配置對象;


  page:JSP頁面本身(相當于Java程序中的this);


  exception:封裝頁面拋出異常的對象。


  說一下jsp的4種作用域?


  JSP中的四種作用域包括page、request、session和application,具體來說:


  page代表與一個頁面相關的對象和屬性。


  request代表與Web客戶機發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個Web組件;需要在頁面顯示的臨時數據可以置于此作用域。


  session代表與某個用戶與服務器建立的一次會話相關的對象和屬性。跟某個用戶相關的數據應該放在用戶自己的session中。


  application代表與整個Web應用程序相關的對象和屬性,它實質上是跨越整個Web應用程序,包括多個頁面、請求和會話的一個全局作用域。


  session和cookie有什么區別?


  由于HTTP協議是無狀態的協議,所以服務端需要記錄用戶的狀態時,就需要用某種機制來識具體的用戶,這個機制就是Session.典型的場景比如購物車,當你點擊下單按鈕時,由于HTTP協議無狀態,所以并不知道是哪個用戶操作的,所以服務端要為特定的用戶創建了特定的Session,用用于標識這個用戶,并且跟蹤用戶,這樣才知道購物車里面有幾本書。


  這個Session是保存在服務端的,有一個唯一標識。在服務端保存Session的方法很多,內存、數據庫、文件都有。


  集群的時候也要考慮Session的轉移,在大型的網站,一般會有專門的Session服務器集群,用來保存用戶會話,這個時候Session信息都是放在內存的,使用一些緩存服務比如Memcached之類的來放Session。


  思考一下服務端如何識別特定的客戶?


  這個時候Cookie就登場了。每次HTTP請求的時候,客戶端都會發送相應的Cookie信息到服務端。實際上大多數的應用都是用Cookie來實現Session跟蹤的,第一次創建Session的時候,服務端會在HTTP協議中告訴客戶端,需要在Cookie里面記錄一個SessionID,以后每次請求把這個會話ID發送到服務器,我就知道你是誰了。


  有人問,如果客戶端的瀏覽器禁用了Cookie怎么辦?


  一般這種情況下,會使用一種叫做URL重寫的技術來進行會話跟蹤,即每次HTTP交互,URL后面都會被附加上一個諸如sid=xxxxx這樣的參數,服務端據此來識別用戶。


  Cookie其實還可以用在一些方便用戶的場景下,設想你某次登陸過一個網站,下次登錄的時候不想再次輸入賬號了,怎么辦?


  這個信息可以寫到Cookie里面,訪問網站的時候,網站頁面的腳本可以讀取這個信息,就自動幫你把用戶名給填了,能夠方便一下用戶。這也是Cookie名稱的由來,給用戶的一點甜頭。


  所以,總結一下:


  Session是在服務端保存的一個數據結構,用來跟蹤用戶的狀態,這個數據可以保存在集群、數據庫、文件中;


  Cookie是客戶端保存用戶信息的一種機制,用來記錄用戶的一些信息,也是實現Session的一種方式。


  說一下session的工作原理?


  其實session是一個存在服務器上的類似于一個散列表格的文件。里面存有我們需要的信息,在我們需要用的時候可以從里面取出來。


  類似于一個大號的map吧,里面的鍵存儲的是用戶的sessionid,用戶向服務器發送請求的時候會帶上這個sessionid。這時就可以從中取出對應的值了。


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


  Cookie與Session,一般認為是兩個獨立的東西,Session采用的是在服務器端保持狀態的方案,而Cookie采用的是在客戶端保持狀態的方案。


  但為什么禁用Cookie就不能得到Session呢?


  因為Session是用SessionID來確定當前對話所對應的服務器Session,而SessionID是通過Cookie來傳遞的,禁用Cookie相當于失去了SessionID,也就得不到Session了。


  假定用戶關閉Cookie的情況下使用Session,其實現途徑有以下幾種:


  設置php.ini配置文件中的“session.use_trans_sid=1”,或者編譯時打開打開了“--enable-trans-sid”選項,讓PHP自動跨頁傳遞SessionID。


  手動通過URL傳值、隱藏表單傳遞SessionID。


  用文件、數據庫等形式保存SessionID,在跨頁過程中手動調用。


2020年java web基礎面試題


  以上就是動力節點java培訓機構的小編針對“2020年java web基礎面試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 老司机深夜影院入口aaaa | 99视频久久 | 国内精品小视频 | 亚洲成人综合网站 | 国产一级淫片a | 欧美精品视 | www.夜夜骑.com| 久久精品日日躁夜夜躁欧美 | 色国产精品| 夜色福利一区二区三区 | 日韩欧美第一页 | 国产成人久久精品 | 免费在线黄色网 | 清纯唯美亚洲综合日韩第 | 天天躁狠狠躁狠狠躁夜夜躁 | 欧美aⅴ | 久热天堂 | 99视频有精品 | 四虎影视永久地址www成人污 | 欧美一级毛片一免费 | 亚洲日本在线观看视频 | 日日爱夜夜操 | 中文字幕91| 国产精品第二页 | 99在线观看视频免费精品9 | 久久亚洲国产精品 | 久久久久国产成人精品亚洲午夜 | 欧美成人免费高清网站 | 伊人二区| 国产99免费视频 | 91精品国产91久久久久福利 | 97影院九七理论片男女高清 | 日本免费一区二区三区a区 日本免费一区二区三区看片 | 在线观看人成午夜影片 | 久久久99精品 | 国产首页精品 | 久久精品免视看国产盗摄 | 精品久久久中文字幕 | 欧美久久综合网 | 国内亚州视频在线观看 | 国产精品66 |