第一章
Servlet
使用入門
1. HTTP Servlet的基礎知識:HttpServlet作為一個抽象類別用來建立使用者自己的HTTP Servle,擴充了GenericServlet類,HttpServlet類的子類必須至少重寫兩個方法的一個:doGet()和doPost()。Ø Servlet格式: public class ClassName extends HttpServlet{ public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ } public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{
}
}
Ø Servlet生命週期:1) 執行個體化:Servlet容器建立Servlet類的執行個體對象。
2)
初始化:Servlet容器調用Servlet的init()方法,通常回申請資源。
I nit()方法
3)
服務:有容器使用以響應客戶對Servlet的請求。
4) 破壞:在釋放Servlet執行個體之前調用,通常會釋放資源。destory()5) 不可用:釋放記憶體中的執行個體。
2. HttpServletRequest介面:Ø 取中文參數:request.setCharacterEncoding(“GBK”)Ø 取請求參數:String str=request.getParameter(“”); String[] arr=request.getParameterValues(“”)Ø 返回會話對象:HttpSession session=request.getSession(true/false);Ø 綁定索引值對:request.setAttribute(“attrName”,attrValueObject);Ø 取綁定對象:Object obj=request.getAttribute(“attrName”);Ø 內部跳轉:request.getRequestDispatcher(“/url”).forward(request,response);Ø 取得所有的Cookie:Cookies[] arr=request.getCookies();3. HttpServletResponse介面:Ø 設定中文參數:response.setContentType(“text/html;charset=GBK”);Ø 獲得響應體輸出值:PrintWriter out=response.getWriter();Ø 外部重新導向:response.sendRedirect(“url”);Ø URL重寫把sessionID編寫到url中:response.encodeURL(“url”);Ø 在回應標頭中加入cookie: response.addCookie(cookie)Ø 設定響應標題:response.setHead(“refalsh”,2)Ø 兩秒後重新整理到url:4. HttpSession介面:Ø 綁定索引值對:session.setAttrbute(“attrName”,attrValue);Ø 主動無效:session.invalidate();5. ServletContext介面:Ø 綁定索引值對:context.setAttrbute(“attrName”,attrValue);Ø 獲得檔案在磁碟上的絕對位置: String filepath=context.getRealPath(“/WEB-INF/password.txt”)
第二章
JSP1. JSP頁面構成:l 靜態網頁:HTML內容l 指令:<%@ %> 有三種:page指令,clude指令,taglib指令 如:<%page import=”” %>,<%@include file=”檔案名稱” %>l 運算式:<%= %> 裡面不能有符號,如”;”l Sciptlet:JAVA代碼 <% %> l 聲明:<%! %>l 動作:<jsp:useBean /> 有六種l 注釋:有兩種:1。<!-- -- > 和<%-- --%>2. 隱式對象:JSP隱式對象是WEB容器載入的一組類的執行個體,它不象一般的Java對象那樣用“new”去擷取執行個體,而是可以直接在JSP頁面使用的對象。JSP提供的隱式對象分為4個主要類別,
3. JSP標準動作簡介:l <jsp:useBean id=”” class=”” scope=”” />其中: id 專用於建立Bean的引用名。 class 指定的Bean的類。Scope指定Bean的範圍,預設情況是pagel <jsp:setProperty name=”” property=”” value=”” param=””/>其中: Name指定useBean中使用的Bean的ID。 Property指定要為之設定值的Bean的屬性名稱。 Value指定要為屬性設定的顯式值 Param指定用於輸入並給屬性賦值的HTML標籤l <jsp:getProperty name=”” property=””/> Name指定useBean中使用的Bean的ID。 Property指定要為之設定值的Bean的屬性名稱。l <jsp:forward page=”url”/>l <jsp:include page=”” flush=”true”/>,其中: Page指定要嵌入當前頁面的網址。 Flush屬性用於在嵌入其他響應前清空儲存在緩衝區中的資料。 <jsp:param>元素可與include動作同時使用。如: <jsp:include page=”url” flush=”true”>
<jsp:param name=”paramName” value=”paramValue”/> </jsp:include>4. JSP標準標籤庫,有四種。主要是核心標籤庫,如下是核心標籤庫的內容:
l
通用標籤:三個
l 迴圈標籤:兩個l 國際化和格式化標籤庫
5.
過濾器
l 生命週期 過濾器必須實現javax.servlet.Filter介面以匯入Filer介面中的所有方法
過濾器的生命週期類似Servlet,其中包括的階段分別如下:
1. 執行個體化:2. 初始化:調用init()方法完成過濾器的初始化。
3.
過濾:每當使用者提交請求或Web資源發送響應時,調用doFilter()方法
4. 銷毀:調用過濾器的destroy()方法,完成必要的清除和釋放資源。l 過濾器定義和過濾器映射:使用過濾器之前,需要在web.xml檔案中定義過濾 器及其映射。格式: <filter> <filter-name>MyFilter</filter-name> <filter-class>ClassName</filter-class> <init-param>
<param-name>參數名</param-name>
<param-value>參數值</param-value> </init-param> </filter> <filter-mapping> <filter-name>MyFilter</fiter-name> <url-pattern>/*</url-pattern> <filter-mapping> 其中:<filter-name>指定過濾器的名稱 <filter-class>指定類的名稱。 <param-name>指定參數的名稱 <param-value>指定參數的值 <url-pattern>指定Servlet、JSP頁面或HTML頁面的URL。要將過濾器應用Web應用程 序中的每個資源,請在<url-pattern>元素中使用/* l 過濾器的格式:public class FilterName extends HttpServlet implements Filter{ public void init(FilterConfig filterConfig) throws ServletException {} public void doFilter(ServletRequest request,ServletResponse response,FilterChain filterChain) {} public void destroy(){}}