Java面試總結——Java web(二)

Java web面試寶典(二)

1.如何使用JSP與Servlet實現MVC模型:

MVC是Model(模型)、View(視圖)、Controller(控制器)字母的縮寫,MVC強制地分離 web應用的輸入、處理和輸出。
(1)模型(業務邏輯層)
模型表示企業數據和業務邏輯,它是應用程序的主體部分。
(2)視圖(表示層)
視圖是用戶看到的並與之交互的界面。
(3)控制器
控制器接收用戶的輸入並調用模型和視圖去完成用戶的需求。
MVC設計結構主要有以下幾個方面的優點:

  • 低耦合 (視圖層和業務層分離)
  • 高重用性和可適用性
  • 較低的成本開發週期
  • 部署快速
  • 可維護性
  • 有利於軟件工程化管理
    用JSP與Servlet實現的MVC模型如下圖所示:
    在這裏插入圖片描述

MVC處理過程如下:
對於每個用戶輸入的請求,先被控制器接收,並決定由哪個模型來進行處理,然後模型通過業務邏輯層處理用戶的請求並返回數據,最後控制器用相應的視圖格式化模型 返回的數據,並通過顯示頁面呈現給用戶。

2. Servlet中forward和redirect有什麼區別?

(1)forward是服務器內部的重定向,
一個web應用程序一般都是由客戶端程序與服務器端程序兩部分組成。其中客戶端主要是指用戶和瀏覽器。用戶通過瀏覽器查找所需資源,而這些資源位於服務器上。

  • 用戶輸入網址。
  • 把用戶請求發送給服務器。
  • 服務器查找請求的網頁
  • 找到用戶請求的網頁
  • 發送響應消息
  • 瀏覽器顯示返回結果
3.Servlet中forward和redirect有什麼區別

forward是服務器內部的重定向,服務器直接訪問目標地址的URL,把那個URL的響應內容讀取過來,在客戶端瀏覽器地址中不會顯示轉向後的地址,整個定向的過程中用的是同一個Request。
redirect則是客戶端的重定向,是完全的跳轉,即客戶端瀏覽器會獲取到跳轉後的地址,然後重新發送請求,因此瀏覽器中會顯示跳轉後的地址。

4.JSP內置對象

(1)Servlet有關的page和config
(2)與input,output有關的out、request和response
(3)與Context有關的application、session和pageContext
(4)與Error有關的exception

5.request對象

request對象就是用來封裝用戶請求數據的,每當有請求到達服務器時,系統都會創建一個request對象。

6.JSP有哪些動作

(1)jsp:include :用來在頁面被請求時引入一個文件
(2)jsp:useBean:用來尋找或者實例化一個javaBean
(3)jsp:setProperty
(4)jsp:getProperty
(5)jsp:forward
(6)jsp:plugin

7. JSP中include指令和include動作有什麼區別

調用時間的差別:
include指令是編譯階段的指令,即在編譯時,編譯器會把指令所指向目標文件的內容複製到指令所在位置,替換指令,最終形成一個文件。
include動作是運行時的語法,在被請求時,把頁面包含進來,涉及兩個方法,類似於方法調用。

8。會話跟蹤技術

會話跟蹤是對同一個用戶對服務器的連續請求和接受響應的監視。有以下四種會話跟蹤技術:

  • page
  • request
  • session
  • application
9.什麼是Ajax

Ajax異步JavaScript與XML,其主要目的是在不刷新新頁面的情況下通過與服務器進行少量數據的交互來提高頁面的交互性,減少響應時間,從而改善用戶體驗。

10.cookie和session有什麼區別

(1)cookie採用客戶端保持狀態的方案,即數據存放在客戶的瀏覽器上;session採用服務器端保持狀態方案,即數據存放在服務器上。
(2)cookie存放在客戶端不夠安全,session較爲安全。
(3)cookie性能較高,session放在服務器上。當訪問增多時,會降低服務器性能。
(4)cookie保存不能超過4KB,session不存在這個問題。
鑑於以上原因,登錄信息放在session,其他保留信息放在cookies。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章