![javaweb期末復(fù)習(xí)知識點整理_第1頁](http://file4.renrendoc.com/view/08d7593ddeef7f2cce9f7e7560eeb883/08d7593ddeef7f2cce9f7e7560eeb8831.gif)
![javaweb期末復(fù)習(xí)知識點整理_第2頁](http://file4.renrendoc.com/view/08d7593ddeef7f2cce9f7e7560eeb883/08d7593ddeef7f2cce9f7e7560eeb8832.gif)
![javaweb期末復(fù)習(xí)知識點整理_第3頁](http://file4.renrendoc.com/view/08d7593ddeef7f2cce9f7e7560eeb883/08d7593ddeef7f2cce9f7e7560eeb8833.gif)
![javaweb期末復(fù)習(xí)知識點整理_第4頁](http://file4.renrendoc.com/view/08d7593ddeef7f2cce9f7e7560eeb883/08d7593ddeef7f2cce9f7e7560eeb8834.gif)
![javaweb期末復(fù)習(xí)知識點整理_第5頁](http://file4.renrendoc.com/view/08d7593ddeef7f2cce9f7e7560eeb883/08d7593ddeef7f2cce9f7e7560eeb8835.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Web應(yīng)用概述URL與URIURL:統(tǒng)一資源定位器URI:統(tǒng)一資源定位符常見HTML標(biāo)簽表單的處理靜態(tài)文檔與動態(tài)文檔的概念:靜態(tài)文檔是一種以文件的形式存放在服務(wù)器端的文檔,客戶發(fā)出對該文檔的請求,服務(wù)器返回這個文檔。動態(tài)文檔是指文檔的內(nèi)容可根據(jù)需要動態(tài)生成,又可分為服務(wù)器端動態(tài)文檔和客戶端動態(tài)文檔技術(shù)。Servlet概念:服務(wù)器端小程序,是使用ServletAPI以及相關(guān)類編寫的java程序,主要用來擴展web服務(wù)器的功能。處理404錯誤:查看給定的路徑名是否正確,查看Servlet類文件是否在classes目錄下,查看web.xml文件內(nèi)容是否正確,查看tomcat是否啟動Servlet技術(shù)模型Servlet的API:javax.servlet包,javax.servlet.http包Servlet接口及方法:publicvoidinit(ServletConfigconfig):完成Servlet初始化并準(zhǔn)備提供服務(wù)。容器傳給該方法一個ServletConfig類型的參數(shù)。publicvoidservice(ServletRequestreq,ServletResponseres)throwServletException,IOException:對每個客戶請求容器調(diào)用一次該方法,它允許Servlet為請求提供響應(yīng)。publicvoiddestroy()該方法由容器調(diào)用,指示Servlet清除本身,釋放請求的資源并準(zhǔn)備結(jié)束服務(wù)。publicServletConfiggetServletConfig()返回關(guān)于Servlet的配置信息,如傳遞給init()方法的參數(shù)。publicStringgetServletInfo()返回關(guān)于Servlet的信息,如作者,版本及版權(quán)信息。ServleConfig接口作用及方法HttpServlet類:新的service方法,doGet,doPostHttpServletRequest接口及常用方法HttpServletResponse接口及常用方法Servlet的開發(fā)步驟編寫一個Servlet類編譯部署(1)在tomcat的虛擬目錄下,創(chuàng)建Web目錄(2)將編譯好的.class文件復(fù)制到Web目錄的WEB-INF\classes目錄(3)修改配置文件WEB-INF\web.xml(4)啟動tomcat運行Servlet的執(zhí)行過程用戶通過單擊超鏈接或提交表單向容器請求訪問Servlet,容器分析這個請求,創(chuàng)建request和response兩個對象容器根據(jù)請求的URL找到正確的Servlet,為這個請求創(chuàng)建一個線程對象(每次請求都創(chuàng)建一個線程)容器調(diào)用Servlet的service方法,把請求和響應(yīng)對象作為參數(shù)傳遞給該方法調(diào)用Servlet的doGet()或doPost()方法向客戶發(fā)送響應(yīng):Servlet使用相應(yīng)對象獲得輸出流對象,調(diào)用有關(guān)方法將響應(yīng)寫給客戶,響應(yīng)通過容器發(fā)送給瀏覽器。Servlet的生命周期加載實例化Servlet——初始化Servlet(init)——為客戶提供服務(wù)(service)——銷毀Servlet(destroy)分析請求http請求結(jié)構(gòu):請求行——請求頭——空行——數(shù)據(jù)get方法與post方法的對比publicStringgetParameter(Stringname)publicString[]getParameterValues(Stringname)publicEnumerationgetParameterNames()請求轉(zhuǎn)發(fā)RequestDispatcherdispatcher=request.getRequestDispatcher(location);Dispatcher.forward(request,response)request.setAttributerequest.getAttribute發(fā)送響應(yīng)響應(yīng)結(jié)構(gòu):狀態(tài)行——響應(yīng)頭——空行——響應(yīng)數(shù)據(jù)response.setContentType(“text/html;charset=gb2312”);PrintWriterout=response.getWriter();響應(yīng)重定向:response.sendRedirect(“URL”);return;響應(yīng)重定向與請求轉(zhuǎn)發(fā)的比較:forward()方法轉(zhuǎn)發(fā)請求是服務(wù)器端控制權(quán)的轉(zhuǎn)向,客戶端地址欄中不顯示轉(zhuǎn)發(fā)后的資源地址。sendRedirect()方法是服務(wù)器向瀏覽器發(fā)送一個特殊的響應(yīng),它使瀏覽器連接到新的位置,瀏覽器地址欄可看到地址的變化。使用重定向,資源不能位于WEB-INF目錄下。頁面錯誤:200表示請求成功,404表示頁面沒有找到,500表示服務(wù)器內(nèi)部錯誤Servlet容器模型Web應(yīng)用程序的部署(1)在tomcat的虛擬目錄下,創(chuàng)建Web目錄(2)將編譯好的.class文件復(fù)制到Web目錄的WEB-INF\classes目錄(3)修改配置文件WEB-INF\web.xml(4)啟動tomcat理解Web應(yīng)用程序的部署描述文件web.xml下面的代碼展示了在部署描述文件中<servlet>元素的一個典型的使用:<servlet><servlet-name>helloServlet</servlet-name>定義Servlet名稱<servlet-class>com.myserver.HelloServlet指定Servlet類的完整名稱</servlet-class><init-param>向Servlet傳遞的初始化參數(shù),可以定義多個<param-name>email</param-name><param-value>hacker@163.com</param-value></init-param><servlet-mapping>定義一個映射<servlet-name>HelloServlet</servlet-name><url-pattern>/Hello</url-pattern></servlet-mapping><load-on-startup>2</load-on-startup></servlet>ServletConfig得到ServletConfig接口對象的方法:ServletConfigconfig=getServletConfig();覆蓋Servlet的init方法。ServletConfig接口共定義了下面4個方法:publicStringgetInitParameter(Stringname):返回指定名稱的初始化參數(shù)值(是從DD文件中取出)publicEnumerationgetInitParameterNames()publicStringgetServletName():返回DD文件中<servlet-name>的名稱publicServletContextgetServletContext():返回Servlet所在上下文對象ServletContext接口使用RequestDispatcher實現(xiàn)請求轉(zhuǎn)發(fā)ServletRequest的getRequestDispatcher()方法,可以傳遞一個相對路徑,ServletContext的getRequestDispatcher()方法只能傳遞以“/”開頭的路徑。通過ServletContext對象共享數(shù)據(jù)會話管理會話管理理解會話的基本思想和管理機制了解會話對象HttpSession及常見方法調(diào)用request.getSession獲取HttpSession對象:HttpSessionsession=request.getSession(true);將信息存入會話publicvoidsetAttribute(Stringname,Objectvalue)查找與會話相關(guān)聯(lián)的信息publicObjectgetAttribute(Stringname)publicEnumerationgetAttributeNames()publicvoidremoveAttribute(Stringname)使用HttpSession對象通常需要三步:(1)為客戶創(chuàng)建或獲得與請求關(guān)聯(lián)的會話對象;(2)在會話對象中添加或刪除名/值對屬性;(3)如果需要可使會話失效。通過Cookie(一小段文字信息)支持會話Cookie類的常用方法:getName、getValue、setValue、setMaxAge和getMaxAge;向客戶端發(fā)送Cookie創(chuàng)建Cookie對象Cookiec=newCookie("username","hacker");
將Cookie放入到HTTP響應(yīng)中response.addCookie(c)從客戶端讀取CookieCookie[]cookies=request.getCookies();if(cookies!=null){for(inti=0;i<cookies.length;i++){Cookiecookie=cookies[i];if(cookie.getName().equals(cookieName))cookieValue=cookie.getValue();}}URL重寫與隱藏表單域重寫正在重定向的URL調(diào)用encodeRedirectURL()方法response.sendRedirect(
response.encodeRedirectURL(http://localhost/store/catalog)在HTML頁面中,可以使用下面代碼實現(xiàn)隱藏的表單域:<inputtype="hidden"name="session"value="a1234">JSP技術(shù)模型JSP基本語法<%@%>JSP指令:page指令、include指令和taglib指令<%!%>JSP聲明:理解<%!intcount=0;%>和<%intcount=0;%>的區(qū)別<%%>JSP小腳本<%=%>JSP表達式<jsp:>JSP動作:jsp標(biāo)準(zhǔn)動作、JSTL中的動作、用戶自定義動作jsp標(biāo)準(zhǔn)動作包括<jsp:forward>、<jsp:include>、<jsp:plugin>、<jsp:useBean>、<jsp:getProperty>、<jsp:setProperty><%----%>JSP注釋JSP頁面生命周期理解JSP的執(zhí)行過程瀏覽器訪問一個jsp頁面,服務(wù)器端的web容器將jsp轉(zhuǎn)換為servlet,并處理執(zhí)行此servlet中的相關(guān)內(nèi)容,產(chǎn)生響應(yīng)結(jié)果,然后再由web容器將響應(yīng)結(jié)果返回客戶端瀏覽器。理解JSP頁面轉(zhuǎn)換理解JSP頁面的生命周期頁面轉(zhuǎn)換——頁面編譯——加載類——創(chuàng)建實例——調(diào)用jspInit()方法——調(diào)用_jspService()方法——調(diào)用jspDestroy()方法理解page指令屬性page指令用于告訴容器關(guān)于JSP頁面的全局屬性,該指令適用于整個轉(zhuǎn)換單元而不僅僅是它所聲明的頁面。語法格式如下:<%@page[language="java"][extends="package.class"]合法的實現(xiàn)了javax.servlet.jsp.JspPage接口的java類[import="{package.class|package.*},..."]導(dǎo)入在jsp中使用的java類和接口[contentType="mimeType[;charset=characterSet]"|"text/html;charset=ISO-8859-1"]指定輸出類型[session="true|false"]指定jsp是否參加http會話[buffer="none|8kb|sizekb"]指定輸出緩沖區(qū)的大小[autoFlush="true|false"][isThreadSafe="true|false"][info="text"][errorPage="relativeURL"]用相對URL指定另一個jsp頁面來處理錯誤[isErrorPage="true|false"]指定是否要用另一個jsp頁面來處理錯誤%>
JSP隱含變量(內(nèi)置對象)JSP有以下九種內(nèi)置對象,包括:request,請求對象(是HttpServletRequest的隱含變量)session,會話對象(是HttpSession的隱含變量)application,應(yīng)用程序?qū)ο螅ㄊ荢ervletContext的隱含變量)page,頁面對象response,響應(yīng)對象pageContext,頁面上下文對象out,輸出對象config,配置對象exception,例外對象作用域?qū)ο髴?yīng)用作用域application:ServletContext:在整個web應(yīng)用程序有效會話作用域session:HttpSession:在一個用戶會話范圍內(nèi)有效請求作用域request:ServletRequest:在用戶的請求和轉(zhuǎn)發(fā)的請求內(nèi)有效頁面作用域page:PageContext:只在當(dāng)前頁面內(nèi)有效Web組件重用與JavaBeans靜態(tài)包含和動態(tài)包含靜態(tài)包含是在JSP頁面轉(zhuǎn)換階段將另一個文件的內(nèi)容包含到當(dāng)前JSP文件中產(chǎn)生一個servlet。靜態(tài)包含使用include指令,語法:<%@includefile="relativeURL"%>包含的文件在當(dāng)前Web應(yīng)用程序下,可以是任何基于文本的文件,如HTML、JSP、XML文件,甚至是簡單的.txt文件。動態(tài)包含是通過JSP標(biāo)準(zhǔn)動作<jsp:include>實現(xiàn)的,它是在請求時將另一個頁面的輸出包含到主頁面的輸出中。動態(tài)包含使用jsp:include標(biāo)準(zhǔn)動作,其語法如下所示:<jsp:includepage="relativeURL"flush="true"/><jsp:include><%@cincludefile=””%><jsp:includepage=””flush=”true”/>修改了被包含的文件后,需更新源文件修改了被包含的文件后,不需更新源文件包含外部頁面的過程在原JSP頁面被編譯成Servlet時進行包含外部頁面的過程在運行時進行
使用<jsp:forward>動作把請求轉(zhuǎn)發(fā)到其他組件,然后由轉(zhuǎn)發(fā)到的組件把響應(yīng)發(fā)送給客戶該動作的格式為:<jsp:forwardpage="relativeURL"/>page屬性的值為轉(zhuǎn)發(fā)到的組件的相對URL,它可以使用請求時屬性表達式。它與<jsp:include>動作的不同之處在于,當(dāng)轉(zhuǎn)發(fā)到的頁面處理完輸出后,并不將控制轉(zhuǎn)回主頁面。使用<jsp:forward>動作,主頁面也不能包含任何輸出。JavaBeans及序列化JavaBean就是使用Java語言定義的類,而這種類的設(shè)計需要遵循Sun制定的JavaBean規(guī)范文檔中描述的有關(guān)約定。在Java模型中,通過JavaBean可以無限擴充Java程序的功能。JavaBean的最大好處是可以實現(xiàn)代碼的重復(fù)利用,另外在JSP頁面中使用JavaBean可使代碼更簡潔,也易維護,也可充分利用面向?qū)ο笳Z言的特性。在JSP程序中常用JavaBean來封裝業(yè)務(wù)邏輯、數(shù)據(jù)庫操作等等,可以很好地實現(xiàn)業(yè)務(wù)邏輯和表示邏輯的分離。Javabeans規(guī)范遵循下面3個規(guī)范的Java類作為JavaBean類必須是public的;類必須具有無參數(shù)的public構(gòu)造方法,JavaBeans類的成員變量一般稱為屬性(property)。對每個屬性訪問權(quán)限一般定義為private或protected,而不是定義為public的。注意:屬性名必須以小寫字母開頭。對每個屬性,一般定義兩個public方法,它們分別稱為訪問方法(getXxx)和修改方法(setXxx),允許容器訪問和修改bean的屬性。JavaBean的主要特性是一個Java類有一個無參數(shù)的構(gòu)造函數(shù)不應(yīng)該有公開的實例變量對值的獲取采用getXxx和setXxx方法來訪問boolean型屬性,允許用is代替get和set在Servlet中使用JavaBeans通過JavaBeans共享數(shù)據(jù)//創(chuàng)建實例并設(shè)置屬性CustomerBeancustomer=newCustomerBean();customer.setCustName(request.getParameter("custName"));customer.setEmail(request.getParameter("email"));customer.setPhone(request.getParameter("phone"));request.setAttribute("customer"customer);getServletContext().getRequestDispatcher("/customer.jsp").forward(request,response);在JSP中使用JavaBeans使用<jsp:useBean><jsp:useBean>動作通過五個屬性來定制該動作的行為:id、scope、class、type、beanName<jsp:useBeanid=”customer”class=”com.model.CustomerBean”scope="session"/>使用<jsp:setProperty><%@pageimport="com.model.CustomerBean"%><jsp:useBeanid="customer"class="com.model.CustomerBean"/><jsp:setPropertyname="customer"property="custName"value=“zxm"/>使用<jsp:getProperty><jsp:getPropertyname="customer"property="email"/>理解MVC設(shè)計模式及其開發(fā)步驟理解MVC設(shè)計模式Model—代表了數(shù)據(jù)對象,用JavaBeans實現(xiàn)View—用來在屏幕上顯示數(shù)據(jù)對象的當(dāng)前狀態(tài),是應(yīng)用程序的外觀,用JSP頁面實現(xiàn)Controller—定義了用戶接口對用戶輸入反應(yīng)的方式,它處理數(shù)據(jù)對象,用Servlet實現(xiàn)開發(fā)步驟1.定義JavaBeans表示數(shù)據(jù)2.使用Servlet處理請求3.調(diào)用業(yè)務(wù)邏輯完成相應(yīng)功能,填寫JavaBeans對象數(shù)據(jù)4.結(jié)果的存儲5.轉(zhuǎn)發(fā)請求到JSP頁面6.從JavaBeans對象中提取數(shù)據(jù)JDBC數(shù)據(jù)庫訪問JDBC數(shù)據(jù)庫訪問的一般步驟1)加載驅(qū)動程序:使用Class類的forName()靜態(tài)方法,如Class.forName("com.mysql.jdbc.Driver");2)建立連接對象:使用DriverManager類的getConnection(),如Stringdburl=jdbc:mysql://localhost:3306/bankConnectionconn=DriverManager.getConnection(dburl,"root","111111");3)創(chuàng)建語句對象:使用Connection接口的不同方法創(chuàng)建,如Statementstmt=conn.createStatement();4)獲得SQL語句的執(zhí)行結(jié)果:對于查詢語句,調(diào)用executeQuery(Stringsql)方法,如:Stringsql="SELECT*FROMbooks";ResultSetrst=stmt.executeQuery(sql);while(rst.next()){out.print(rst.getString(1)+"\t");}對于語句如CREATE、ALTER、DROP、INSERT、UPDATE、DELETE等須executeUpdate(Stringsql)方法。5)關(guān)閉建立的對象:close()方法釋放資源JDBCAPI:Connection接口、Statement接口、ResultSet接口理解DAO設(shè)計模式DAO(DataAccessObject)稱為數(shù)據(jù)訪問對象。DAO設(shè)計模式可以在使用數(shù)據(jù)庫的應(yīng)用程序中實現(xiàn)業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,從而使應(yīng)用的維護變得簡單。它通過將數(shù)據(jù)訪問實現(xiàn)(通常使用JDBC技術(shù))封裝在DAO類中,提高應(yīng)用程序的靈活性。自定義標(biāo)簽自定義標(biāo)簽的開發(fā)步驟創(chuàng)建標(biāo)簽處理類(taghandler);創(chuàng)建標(biāo)簽庫描述文件(TLD);在JSP文件中導(dǎo)入標(biāo)簽庫和使用標(biāo)簽。理解TLD文件<?xmlversion="1.0"encoding="UTF-8"?><taglibversion="2.0"><tlib-version>1.0</tlib-version><uri>http://localhost/sampleLib</uri>
<tag><name>hello2</name><tag-class>sampleLib.HelloTag2</tag-class><body-content>empty</body-content><description>PrintsHellouser!</description><attribute><name>user</name><required>false</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>空標(biāo)簽、帶屬性標(biāo)簽和帶標(biāo)簽體的開發(fā)在JSP頁面要使用自定義標(biāo)簽,需要通過<taglib>指令聲明自定義標(biāo)簽的前綴和標(biāo)簽庫的URI,格
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國低軌互聯(lián)網(wǎng)星座行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國碳封存解決方案行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球高速木屑制粒機行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球家用吊扇燈行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國非動力重力滾筒輸送機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國超聲波封訂機行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球PTC熱敏電阻燒結(jié)爐行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球纖維蛋白密封劑行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球全向堆高AGV行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球天花板安裝防護罩行業(yè)調(diào)研及趨勢分析報告
- (完整版)牧場物語精靈驛站詳細攻略
- 鉗工考試題及參考答案
- 醫(yī)藥高等數(shù)學(xué)知到章節(jié)答案智慧樹2023年浙江中醫(yī)藥大學(xué)
- 第4章操作臂的雅可比
- 人教版初中英語八年級下冊 單詞默寫表 漢譯英
- 學(xué)校網(wǎng)絡(luò)信息安全管理辦法
- 中國古代文學(xué)史 馬工程課件(下)21第九編晚清文學(xué) 緒論
- 2023年鐵嶺衛(wèi)生職業(yè)學(xué)院高職單招(語文)試題庫含答案解析
- 外科學(xué)-第三章-水、電解質(zhì)代謝紊亂和酸堿平衡失調(diào)課件
- 人事測評理論與方法-課件
- 最新卷宗的整理、裝訂(全)課件
評論
0/150
提交評論