web總結(jié)
1.Web資源分為主動資源和被動資源,Web文檔分為靜態(tài)文檔和被動文檔。2.Web應(yīng)用程序通常是主動資源與被動資源的混合。3.當(dāng)瀏覽器發(fā)送一個請求,Web服務(wù)器就在myserver.com上將請求轉(zhuǎn)發(fā)給reportServlet,
該Servlet將生成HTML文本并把它發(fā)送給瀏覽器,該Servlet就是一個主動資源。
4.任何Web應(yīng)用程序在其WEB-INF目錄下都應(yīng)該有一個部署描述文件,它是一個名為
web.xml的文本文件。該文件是一個XML文件,它的最外層是,其中包含兩個子元素和。
5.HTTP請求結(jié)構(gòu):請求行,請求頭,空行,數(shù)據(jù)。6.HTTP請求方法GETPOSTPUTHEADDELETETRACEOPTIONSCONNECT請求讀取一個Web頁面請求向服務(wù)器發(fā)送數(shù)據(jù)請求存儲一個Web頁面請求讀取一個Web頁面頭部移除Web頁面反悔收到的請求查詢特定選項保留做將來用7.在HttpServlet類中,除定義了service()方法為客戶提供服務(wù)外,還針對每個HTTP
方法定義了相應(yīng)的doXxx()方法。8.所有的doXxx方法都有兩個參數(shù):HttpServletRequest對象和HttpServletResponse對象。9.HTTP方法及相應(yīng)的處理方法:HTTP方法GETPOSTHttpServlet方法doGet()doPost()11.為實現(xiàn)請求轉(zhuǎn)發(fā),需要使用RequestDispatcher對象,通過ServletRequest接口中定義的getRequestDispatcher()方法得到該對象。
12.HTTP響應(yīng)的狀態(tài)行由三部分組成:狀態(tài)行、響應(yīng)頭、響應(yīng)的數(shù)據(jù)。
13.HTTP響應(yīng)的狀態(tài)行由三部分組成,各部分由空格分隔:HTTP版本、說明請求結(jié)果的相應(yīng)狀態(tài)碼以及描述狀態(tài)碼以及描述狀態(tài)碼的短語。
14.HTTP定義了許多狀態(tài)碼,常見的狀態(tài)碼是200,它是表示請求被正常處理。
15.Data響應(yīng)頭表示消息發(fā)送的日期:Content-Type響應(yīng)頭指定響應(yīng)的內(nèi)容類型:Content-Length指示響應(yīng)內(nèi)容的長度。
16.調(diào)用響應(yīng)對象的getWriter()方法可以得到PrintWriter對象,調(diào)用響應(yīng)對象的getOutputStream()可以得到ServletOutputStream對象,使用它可以向客戶發(fā)送二進(jìn)制數(shù)據(jù)。
17.Servlet可能決定不直接向瀏覽器發(fā)送響應(yīng),而是將相應(yīng)將重定向到其他資源,這可通過HttpservletResponse接口的sendRedirect()方法實現(xiàn)。
18.在Servlet中直接使用ServletConfig接口對象有兩種方法:(1)在servlet中直接使用getServletConfig()方法獲得ServletConfig對象;(2)覆蓋servlet的Init(ServletConfigconfig)方法,然后把容器創(chuàng)建的ServletConfig對象保存到一個成員變量中。19.在Servlet中可以有兩種方法得到ServletContext引用:(1)直接使用Servlet的getServletContext()方法;(2)使用getServletConfig()方法得到ServletConfig引用,再調(diào)用它的getServletContext()方法。20.HttpSession接口中定義常用的方法:(1)publicStringgetId()方法,返回為該會話指定的唯一標(biāo)識符;(2)publiclonggetCreationTime()返回會話創(chuàng)建的時間(3)publiclonggetLastAccessdTime()返回會話最后被訪問的時間(4)publicbooleanisNew()如果會話對象還沒有同客戶關(guān)聯(lián),則返回true(5)publicServletContextgetServletContext()返回該會話所屬的ServletContext對象。
21.元素中指定的以分鐘為單位的超時期限,0或小于0的值表示會話永不過期,默認(rèn)為30分鐘。
22.PublicviodsetMaxInactiveInterval(intinterval)設(shè)置在容器使該會話失效前客戶的兩個請求之間最大間隔的秒數(shù),參數(shù)為負(fù)值,表示會話永不失效。
23.PublicintgetMaxInactiveInterval()返回以秒為單位最大的間隔時間,在這段時間內(nèi)容器將在客戶請求之間保持該會話打開狀態(tài)。
24.Publicvoidinvaliddate()是會話失效并解除綁定到其上的任何對象。25.Cookie的常用方法:publicStringgetName()返回cookie名稱;publicStringgetValue()返回cookie的值。26.JSP頁面元素分類:;;;;;${applicationScope.email}(EL表達(dá)式);.27.指令的三種類型:page指令,include指令,taglib指令。
28.JSP頁面生命周期階段:頁面轉(zhuǎn)換、頁面編譯、加載類、創(chuàng)建實例、調(diào)用jspInit()方法、調(diào)用_jspService()方法、調(diào)用jspDestroy()方法。
29.Page指令的屬性:import:導(dǎo)入在JSP頁面中使用的Java類和接口列表,其間用逗號分隔;contentType:指定輸出的內(nèi)容類型和字符集;pageEncoding:指定JSP文件的字符編碼。30.JSP使用的隱含變量:application、session、request、response、out、page、pageContext、config、exception。
31.Jsp作用域?qū)ο螅簯?yīng)用作用域,application,在整個web應(yīng)用程序中有效;
會話作用域,Session,在一個用戶范圍內(nèi)有效;請求作用域,request,在用戶的請求和轉(zhuǎn)發(fā)的請求內(nèi)有效;頁面作用域,pageContext,只在當(dāng)前的頁面內(nèi)有效。
32.Sun公司在推出JSP技術(shù)后提出了簡歷Web應(yīng)用程序的兩種體系結(jié)構(gòu)方法,這兩種方法分別稱為JSPModel1體系結(jié)構(gòu)和JSPModel2體系結(jié)構(gòu)。
33.Model2體系結(jié)構(gòu)又稱為MVC(Model-View-Controller)體系結(jié)構(gòu)或MVC設(shè)計模式,這種結(jié)構(gòu)將Web應(yīng)用的組件分為模型,視圖,控制器。、
34.JDBC的基本功能包括:建立與數(shù)據(jù)庫的連接;發(fā)送SQL語句;處理數(shù)據(jù)庫操作結(jié)果。35.兩層模型即客戶機(jī)/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),也就是通常所說的C/S結(jié)構(gòu)。
36.三層模型即客戶機(jī)/應(yīng)用服務(wù)器/數(shù)據(jù)庫服務(wù)器結(jié)構(gòu),即通常所說的B/S結(jié)構(gòu)。37.加載JDBC驅(qū)動程序最常用的方法是使用Class類的forName()靜態(tài)方法。
38.元素各屬性的含義:name:數(shù)據(jù)源名;driverClassName:使用的JDBC驅(qū)動程序的完整類名;url:傳遞給JDBC驅(qū)動程序的數(shù)據(jù)庫URL;username:數(shù)據(jù)庫用戶名;password:數(shù)據(jù)庫用戶口令;type:指定該資源的類型,這里為DataSource類型;maxActive:可同時為該連接池分配的活動連接實例的最大數(shù)。39.監(jiān)聽器可分為三類:ServletContext事件監(jiān)聽器,HttpSession事件監(jiān)聽器,ServletRequest事件監(jiān)聽器。
40.元素只有一個子元素用來指定監(jiān)聽器類的完整類名。41.Servlet規(guī)范中過濾器一些常見應(yīng)用:驗證過濾器,登錄和審計過濾器,數(shù)據(jù)壓縮過濾器,加密過濾器,XSLT過濾器。42.Struts框架是基于MVC設(shè)計模式的Web應(yīng)用開發(fā)框架,它主要包括核心控制器,表單bean,動作對象,JSP頁面和配置文件等。
1.超文本傳輸協(xié)議(HypertextTransferProtocol,HTTP)是Web使用的協(xié)議,該協(xié)議規(guī)
定了Web客戶與服務(wù)器之間如何通信。
2.靜態(tài)文檔:在Web發(fā)展的早期,Web文檔只是一種以文件的形式存放在服務(wù)器端的文
檔,客戶發(fā)出對該文檔的請求,服務(wù)器返回這個文件,這種文檔稱之為靜態(tài)文檔。3.動態(tài)文檔:動態(tài)文檔是指文檔的內(nèi)容可根據(jù)需要動態(tài)生成,動態(tài)文檔又分為服務(wù)器端動
態(tài)技術(shù)和客戶動態(tài)文檔技術(shù)。
4.請求參數(shù)是隨著請求一起發(fā)送到服務(wù)器的數(shù)據(jù),它是以名/值對的形式發(fā)送的。
5.JSP是JavaServletPages的縮寫,含義是Java服務(wù)器頁面,它與PHP非常相似,只不過頁面中的動態(tài)部分是Java語言編寫的,使用這種技術(shù)的文件的擴(kuò)展名為jsp。
6.當(dāng)瀏覽器發(fā)送一個請求,Web服務(wù)器就在myserver.com上查找myfile.html文件,然后把它返回給瀏覽器,它是被動資源,又稱之為靜態(tài)資源。1.請求響應(yīng)過程:
Web瀏覽器首先建立到Web服務(wù)器的連接并向服務(wù)器發(fā)送HTTP請求消息。服務(wù)器接收到客戶的請求后,對請求進(jìn)行處理,然后向客戶發(fā)送回響應(yīng)。客戶接收服務(wù)器發(fā)送的HTTP響應(yīng)消息,對消息進(jìn)行處理并關(guān)閉連接。2.Servlet生命周期的四個階段:
加載和實例化Servlet;初始化Servlet;為客戶提供服務(wù);銷毀和卸載Servlet。3.GET方法和POST方法的區(qū)別:
GET方法的資源類型可以是主動也可以是被動的,數(shù)據(jù)類型為文本型,數(shù)據(jù)量一般不超過255個字,數(shù)據(jù)是URL的一部分,在瀏覽器的URL地址欄中用戶可見,數(shù)據(jù)可以在瀏覽器的URL歷史緩存。POST方法的數(shù)據(jù)類型是主動的,數(shù)據(jù)類型是文本或二進(jìn)制數(shù)據(jù),數(shù)據(jù)量沒有限制,數(shù)據(jù)不是URL的一部分而是作為請求的信息體發(fā)送,因此在瀏覽器的URL地址欄中對用戶不可見,數(shù)據(jù)不能在瀏覽器的URL歷史中緩存。
4.在客戶端如果發(fā)生下面事件之一,瀏覽器就向Web服務(wù)器發(fā)送了一個HTTP請求:用戶在瀏覽器的地址欄中輸入URL并按Enter鍵;用戶單擊了HTML頁面中的超鏈接;用戶在HTML頁面中添寫一個表單并提交。
5.Web服務(wù)器跟蹤客戶的狀態(tài)通常有4種方法;使用servletAPI的session機(jī)制;使用持久的cookie對象;使用URL重寫機(jī)制;使用隱藏的表單域。
6.使用Httpsession對象的三個步驟:為客戶創(chuàng)建或獲得與請求關(guān)聯(lián)的會話對象;在會話對象中添加或刪除名/值對屬性;如果需要可使會話失效。7.向客戶端發(fā)送Cookie的步驟:(1)創(chuàng)建cookie對象;(2)設(shè)置cookie的最大存活時間;(3)向客戶發(fā)送cookie對象。8.理解頁面轉(zhuǎn)換的過程:(1)所以的JSP都變成產(chǎn)生的servlet類的一部分(2)所有的JSP小腳本都變成jspService()方法的一部分,在Java語言中不能在方法中定義方法(3)所有的Jsp表達(dá)式都成為_jspService()方法的一部分,表達(dá)式的值使用out.print()語句輸出。
9.靜態(tài)包含和動態(tài)包含的區(qū)別:靜態(tài)包含是在Jsp頁面轉(zhuǎn)換階段將另一個文件的內(nèi)容包含到當(dāng)前的Jsp頁面中,使用JSP的include指令完成這一功能。語法為:;動態(tài)包含是通過JSP標(biāo)準(zhǔn)動作實現(xiàn)的,動作的功能是把被包含的頁面的輸出包含到當(dāng)前頁面的輸出。該動作格式為10.JavaBeans就是使用Java語言定義的類,可以在JSP頁面中作為JavaBeans使用的情況:(1)JavaBeans應(yīng)該是public類,并且必須具有無參數(shù)的public構(gòu)造方法(2)JavaBeans類的成員變量一般稱為屬性,對每個屬性訪問權(quán)限一般定義為private或protected,而不定義為public的,屬性名必須以小寫字母開頭(3)對每個屬性通常定義兩個public方法,一個是訪問方法,另一個是修改方法,他們允許訪問和修改JavaBean的屬性值。
11.的屬性:id:在JSP中bean名稱的標(biāo)識;scope:bean實例的作用域(page,request,session或application,默認(rèn)值為page);class:bean的Java完整類名;type:指定用來引用bean的類型;beanName:從文件裝載的序列化的bean的名稱或創(chuàng)建一個新實例的類名。
12.使用MVC色及模式開發(fā)Web應(yīng)用程序可采用如下步驟:定義JavaBean表示數(shù)據(jù);使用Servlet處理請求;填寫JavaBean對象數(shù)據(jù);結(jié)果存儲;轉(zhuǎn)發(fā)請求到JSP頁面;從JavaBean對象中提取數(shù)據(jù)。
13.傳統(tǒng)數(shù)據(jù)庫的連接方法:加載驅(qū)動程序;建立連接對象;創(chuàng)建語句對象;獲得SQL語句的執(zhí)行結(jié)果;關(guān)閉建立的對象。
....................................................................Web.xml文件:
loginServlet
com.model.LoginServlet
greeting
goodmorning
2EventTestServlet/eventtest
BookqueryServlet.Javapackagecom.control;importjava.io.*;importjava.sql.*;
importjavax.servlet.*;
importjavax.servlet.http.*;importcom.model.BookBean;
publicclassBookQueryServletextendsHttpServlet{ConnectiondbConnection;publicvoidinit(){Stringdriver="org.postgresql.Driver";Stringdburl="jdbc:postgresql://127.0.0.1:5432/bookstore";Stringusername="bookstore";Stringpassword="bookstore";try{Class.forName(driver);
dbConnection=DriverManager.getConnection(dburl,username,password);}catch(ClassNotFoundExceptione1){}catch(SQLEXCEPTIONe2){}}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
Stringbookid=request.getParameter("bookid");try{
Stringsql="SELECT*FORMbooksWHEREbookid=?";
PreparedStatementpstmt=dbConnection.prepareStatement(sql);pstmt.setString(1,bookid);
ResultSetrst=pstmt.executeQuery();if(rst.next()){
BookBeanbook=newBookBean();
book.setBookid(rst.getString("bookid"));book.setTitle(rst.getString("title"));book.setAuthor(rst.getString("author"));book.setPrice(rst.getDouble("price"));
book.setPublisher(rst.getString("publisher"));request.getSession().setAttribute("book",book);
RequestDispatcherview=request.getRequestDispatcher("/showBook.jsp");view.forward(request,response);}else{
RequestDispatcherview=request.getRequestDispatcher("/error.jsp");view.forward(request,response);}
}catch(SQLExceptione){e.printStackTrace();}}
publicvoiddestroy(){try{
dbConnection.close();}catch(Exceptione){e.printStackTrace();}}}
....................................................................
showBook.jsp
書號:
書名:
作者:
出版社:
擴(kuò)展閱讀:Web總結(jié)
web開發(fā)為什么考慮采用優(yōu)秀的框架?有什么好處?①提高效率,提高開發(fā)速度②保證質(zhì)量;好處:維護(hù)性好,分層清晰,業(yè)務(wù)邏輯單獨分離,軟件復(fù)用性好2、MVC模式的原理和結(jié)構(gòu)?可用圖示說明V圖:可用JSP頁面負(fù)責(zé)數(shù)據(jù)顯示M型:可用JavaBean封裝業(yè)務(wù)邏輯實現(xiàn)C控制器:可用Servlet負(fù)責(zé)接收客戶端請求,然后調(diào)用后端JavaBean3、struts基于MVC模式的開放分為哪些部分?Model部分:由ActionFrom和JavaBean組成,ActionForm用于封裝用戶請求參數(shù),JavaBean實現(xiàn)底層業(yè)務(wù)邏輯。View部分:由Jsp實現(xiàn),struts提供豐富的標(biāo)簽庫,實現(xiàn)與Model交互。Controller部分:系統(tǒng)核心控制器>ActionServlet,負(fù)責(zé)攔截Http請求;業(yè)務(wù)邏輯控制器>Action處理4、struts配置性文件的說明,各部分的作用?(給出文件,能說明一些配置含義)①struts-config.xml的配置:②struts-config.xml的其他配置::定義控制配置類:消息資源配置:插件配置5、struts框架下實現(xiàn)驗證有哪些方法?重寫ActionForm的validate方法,形式如下:publicActionErrorsvalidate(ActionMapping,HttpServerltRequestrequest{ActionErrors=newActionErrors();②在Action中的execute()中驗證代碼編寫③結(jié)合commons-validator.Jar校驗可彈出JavaScript提示6、Hibernate框架中的常用接口及作用?①Configuration:用于解析hibernate.cfg.xml和xx.hbm.xml文件,生成SessionFactory對象。②SessionFactory:初始化Hibernate,充當(dāng)數(shù)據(jù)存儲源代理,創(chuàng)建session對象。③Session:持久管理器,對象級數(shù)據(jù)庫操作。④Query:執(zhí)行數(shù)據(jù)庫查詢操作,使用面向?qū)ο驢QL語句。⑤Transaction:用于管理操作事務(wù),對底層事務(wù)接口封裝。7、Hibernate如何實現(xiàn)ORM操作,實現(xiàn)數(shù)據(jù)庫操作的步驟是什么?(1)開發(fā)持久化類,由POJO加映射文件組成(2)獲取Configuration(3)獲取SessionFactory(4)獲取Session打開事務(wù)(5)用面向?qū)ο蟮姆绞讲僮鲾?shù)據(jù)庫(6)關(guān)閉事務(wù),關(guān)閉Session。
8、Hibernate如何實現(xiàn)數(shù)據(jù)庫查詢有哪些方法?increment:對long,short或int的數(shù)據(jù)列生成自增長;identity:對SQLserver,MySQL支持自增長列的數(shù)據(jù)庫;Sequence:對Oracle,DB2支持sequence的數(shù)據(jù)庫;UUID:對字符串列用128位UUID算法生成唯一字符串主鍵。9、Hibernate主鍵生成策略有哪些?(1)increment:對long.short或int的數(shù)據(jù)列生成自增長列(2)identity:對SQLServer、MySql支持自增長列的數(shù)據(jù)庫(3)Sequence:對Oracle,DB2支持sequence的數(shù)據(jù)庫(4)uuid:對字符串列用128位uuid算法生成唯一字符串主鍵(5)assigned:如果沒有一個主鍵明確指令生成策略,一般就會使用這個默認(rèn)策略,它實際上可看成是無策略10、Hibernate表間關(guān)聯(lián)有哪些方式?如果不是一對一關(guān)系,類中可采用哪些類表示多的一方?(1)、一對一、一對多(2)、list、set、map、array、bag、idbag。11、Spring框架由哪些功能模塊組成?SpringAOP、SpringORM、SpringWeb、SpringContext、SpringDAO、SpringWebMVC和SpringCore,而前六種模塊又構(gòu)建在SpringCore之上。12、Spring的核心技術(shù)包括哪兩個方面?如何理解?①依賴注入與控制反轉(zhuǎn):當(dāng)某個Java實例需要其它Java實例時,系統(tǒng)自動提供需要的實例,無須顯示獲取。②AOP面向切面編程:從程序運行角度考慮程序流程,提供業(yè)務(wù)處理的切面,能處理程序執(zhí)行中的特定點。13、實際開發(fā)中如何把Sturts,Spring,Hibernate整合在一起?①Spring與Struts整合:1、利用Struts的PugIn啟動Spring容器2、使用Spring的DelegationRequestProcessor。3、使用DelegationActionProxy4、使用ActionSupport代替Action②Spring與Hibernate整合:1、通過Spring的配制文件管理SessionFactory2、使用HibernateTemplate和HibernateCallBack。14、Hibernate配置文件的說明,映射文件的說明?(給出文件,能說明一些配置含義)①Hibernate.Cfg.xmltestjdbc:mysql://localhost:3305/testdborg.hibernate.dialect.MySQLDialecttesedbtestcom.mysql.jdbc.Driver②StuBasicInfo.hbm.xml15、Spring(依賴注入整合)配置文件的說明(給出文件,能說明一些配置含義)world好元素1元素2元素1元素2map值1map值
友情提示:本文中關(guān)于《web總結(jié)》給出的范例僅供您參考拓展思維使用,web總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。