Servlet
初始Servlet
Servlet是sun公司提供的一門用于開發動態web資源的技術,
Sun公司在其API中提供了一個servlet介面,用戶若想用發一個動態web資源(即開發一個Java程式向瀏覽器輸出資料),需要完成以下2個步驟:
1、撰寫一個Java類,繼承servlet介面,
2、把開發好的Java類部署到web服務器中,
按照一種約定俗成的稱呼習慣,通常我們也把實作了servlet介面的java程式,稱之為Servlet
用戶可以通過瀏覽器的url訪問到的一個Java小程式
單例多執行緒
創建web專案 Test_Servlet
第一個Servlet
1. 寫一個Servlet類

2. 配置web.xml檔案

//處理請求亂碼
req.setCharacterEncoding("utf-8");
//處理回應亂碼
resp.setContentType("text/html;charset=utf-8");

web專案的引入jar方式
1. 復制jar到專案\WebContent\WEB-INF\lib 下
2. Add to Build Path (若jar包沒有自動出現)

進一步了解Servlet
1. 轉發 攜帶資料
1.1 地址欄不變;
1.2 服務器內部跳轉,瀏覽器不知道
1.3 公用一個request,所以可以在request作用域中存盤資料
1.4 A接到用戶請求,幫助用戶找到B
1.5 只能跳轉到當前專案下
1.5 代碼實作:req.getRequestDispatcher(URI).forward(req, resp);

2. 重定向 不攜帶資料
2.1 地址欄改變
2.2 瀏覽器發送新的請求
2.3 不共享一個request
2.4 A接到用戶的請求,告訴用戶,你去找B
2.5 可以到跳轉到其它專案下
2.5 代碼實作:resp.sendRedirect(URI);

小技巧
如果需要傳遞資料 就使用轉發
如果不需要傳遞資料,可以使用重定向
3. request 轉發
獲取前端資料: req.getParameter("username")
設定資料到request作用域: req.setAttribute(key , Value);
前臺EL運算式取值:${requestScope.Key}
轉發:req.getRequestDispatcher(URI).forward(req, resp);
內部跳轉,URI只能當前專案下,故不需要加專案名
4. response 重定向
重定向:resp.sendRedirect(URI);
可以跳轉到外部專案,URI前需要加專案名
獲取當前專案名:req.getContextPath()
第二個Servlet,登錄跳轉展示頁面
1. 添加登錄界面login.jsp,成功界面success.jsp,失敗界面fail.jsp
2. 新建ServletLoginAction類,web.xml 設定其 URI的路徑
3. 在ServletLoginAction類中,添加邏輯:
2.1 獲取login.jsp前臺頁面引數
2.2 設定賬號驗證規則
2.3 驗證成功到 success.jsp; 驗證失敗到 fail.jsp
2.4 測驗重定向和轉發 跳轉
4. 使用注解 @WebServlet("URI"),替代web.xml設定
5. 添加MyBatis邏輯
Junit測驗類
用于測驗service層邏輯
1. 創建一個普通的類
2. 測驗類的方法必須是公開,無回傳值的方法
3. 被注釋@Test修飾
4. 導包Junit4

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/5508.html
標籤:Oracle
上一篇:Tomcat
