-
jsp作用域由大到小
-
過濾器有哪些作用?
-
過濾器的用法?(對客戶端的請求統一編碼和對客戶端進行認證)
-
JSP和Servlet中的請求轉發分別如何實現?
-
JSP 和 Servlet 有哪些相同點和不同點,他們之間的聯系是什么?
-
詳細描述 MVC。
-
做項目中得到經驗。
①:DNS解析域名得到IP地址
②:客戶端與服務器建立連接(TCP三次握手)
③:客戶端發起請求
④:服務器接收到請求根據端口號.路徑等找到對應資源文件,響應源代碼給客戶端
⑤:客戶端拿到請求到的數據(html頁面的源代碼),開始解析頁面以及請求資源
⑥:客戶端渲染頁面
⑦:web服務器斷開連接(四次揮手)
Form 中的get和post方法,在數據傳輸過程中分別對應了http協議的GET和POST方法。二者主要區別如下:
(1)Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據;
(2)Get將表單中數據按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個變量之間使用“&”連接;Post是將表單中的數據放在form的數據體中,按照變量和值相對應的方式,傳遞到action所指向URL;
(3)Get是不安全的,因為在傳輸過程,數據被放到請求的URL中;Post的所有操作對用戶來說都是不可見的;
(4)Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post;
(5)Get限制Form表單的數據集必須為ASCII字符,而Post支持整個ISO10646字符集;
(6)Get是form的默認方法。
Servlet 是一種獨立于平臺和協議的服務器端的 Java 技術,可以用來生成動態的 Web 頁面。與傳統的 CGI(計算機圖形接口)和許多其他類似 CGI 技術相比,Servlet 具有更好的可移植性、更強大的功能,更少的投資,更高的效率,更好的安全性等特點。
Servlet 是使用 Java Servlet 應用程序接口(API)及相關類和方法的 Java 程序。Java 語言能夠實現的功能,Servlet 基本上都能實現(除了圖形界面之外)。Servlet 主要用于處理客戶端傳來的 Http 請求,并返回一個響應。通常所說的 Servlet 就是指 HttpServlet,用于處理Http 請求,其能夠處理的請求有 doGet()、doPost()、service()等方法。在開發 Servlet 時,可以直接繼承javax.servlet.http.HttpServlet。Servlet 需要在web.xml 中進行描述,例如:映射執行 Servlet 的名字,配置 Servlet 類、初始化參數,進行安全配置、URL 映射和設置啟動的優先權等。Servlet 不僅可以生成 HTML腳本輸出,也可以生成二進制表單輸出。
Servlet 應用范圍很廣泛,我們現在用的很多流行的框架技術,其最基本的代碼離不開
Servelt 的支持。比如我所熟悉的 SSH 框架,Spring 容器啟動時,要在 web.xml 中裝載 Spring容器的 ActionContext 類來初始化 Spring 的一些參數,如進行依賴注入、數據庫表的映射、初始化系統的安全配置設置 read 等屬性等一些相關操作。
servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達。
servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調用其destroy方法。
web容器加載servlet,生命周期開始。通過調用servlet的init()方法進行servlet的初始化。通過調用service()方法實現,根據請求的不同調用不同的do***()方法。結束服務,web容器調用servlet的destroy()方法。
package test;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
}
}
6、servlet API 中forward()與redirect()的區別?
前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量用forward()方法,并且,這樣也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其他服務器上的資源,則必須使用sendRedirect()方法。
setAttribute(String name,Object):設置名字為 name 的 request 的參數值
getAttribute(String name):返回由 name
getCookies():返回客戶端的所有 Cookie 對象,結果是一個 Cookie 數組
getCharacterEncoding():返回請求中的字符編碼方式
getParameter(String name):獲得客戶端傳送給服務器端的有 name 指定的參數
getRequestURI():獲取發出請求字符串的客戶端地址
getRemoteAddr():獲取客戶端的 IP 地址
getRemoteHost():獲取客戶端的名字
getServerName():獲取服務器的名字
getServletPath():獲取客戶端所請求的腳本文件的路徑
getServerPort():獲取服務器的端口號
removeAttribute(String name):刪除請求中的一個屬性
8、簡述HttpSession的作用、使用方法,可用代碼說明
HttpSession中可以跟蹤并存儲用戶信息,把值設置到屬性中,有2個方法:setAttribute()、getAttribute();
例如:在一個方法中用session.setAttribute(“student”,student);在一個session中設置一個屬性名為student,值為一個名為student的對象。而后可在同一session范圍內用getAttribute(“student”)取出該屬性,得到student對象。
jsp共有以下9個內置對象:
request 用戶端請求,此請求會包含來自GET/POST請求的參數
response 網頁傳回用戶端的回應
pageContext 網頁的屬性是在這里管理
session 與請求有關的會話期
application servlet正在執行的內容
out 用來傳送回應的輸出
config servlet 的構架部件
page JSP網頁本身
exception 針對錯誤網頁,未捕捉的例外
request:表示 HttpServletRequest 對象。它包含了有關瀏覽器請求的信息,并且提供了幾個用于獲取 cookie, header, 和 session 數據的有用的方法。
response:表示 HttpServletResponse 對象,并提供了幾個用于設置送回 瀏覽器的響應的方法(如 cookies,頭信息等)
out:對象是 javax.jsp.JspWriter 的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結果。
pageContext:表示一個 javax.servlet.jsp.PageContext 對象。它是用于方便存取各種范圍的名字空間、servlet 相關的對象的 API,并且包裝了通用的 servlet 相關功能的方法。
session:表示一個請求的 javax.servlet.http.HttpSession 對象。Session 可以存貯用戶的狀態信息
applicaton :表示一個 javax.servle.ServletContext 對象。這有助于查找有關 servlet 引擎和servlet 環境的信息
config:表示一個 javax.servlet.ServletConfig 對象。該對象用于存取 servlet 實例的初始化參數。
page:表示從該頁面產生的一個 servlet 實例
在 JSP 中使用 JavaBean 常用的動作有:
<jsp:useBean />:用來創建和查找 bean 對象;
<jsp:setProperty />:用來設置 bean 的屬性,即調用其 setXxx()方法;
<jsp:getProperty />:用來獲得 bean 的屬性,即調用其 getXxx()方法
isErrorPage(是否能使用Exception對象),isELIgnored(是否忽略表達式)
常用的JavaScript設計模式
-
單體模式
-
工廠模式
-
例模式
函數
-
函數的定義
-
局部變量和全局變量
-
返回值
-
匿名函數
-
自運行函數
-
閉包