




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上1、什么是 JSP的預(yù)編譯特征?答:JSP 頁面在被服務(wù)器執(zhí)行前,都是已經(jīng)被編譯好的,并且通常只進(jìn)行一次編譯,即在 JSP 頁面被第一次請(qǐng)求時(shí)進(jìn)行編譯,在后續(xù)的請(qǐng)求中如果JSP頁面沒有被修改過,服務(wù)器只需要直接調(diào)用這些已經(jīng)被編譯好的代碼,這大大提高了訪問速度。2、開發(fā) JSP 程序可采用哪幾種開發(fā)模式?分別介紹他們的優(yōu)缺點(diǎn)。答:單純的 JSP 頁面編程 優(yōu)點(diǎn):容易實(shí)現(xiàn)。通過應(yīng)用JSP中的腳本標(biāo)識(shí),可直接在JSP頁面中實(shí)現(xiàn)各種功能。缺點(diǎn):將大部分的Java代碼與HTML代碼混淆在一起,程序結(jié)構(gòu)混亂,維護(hù)調(diào)試不便。 JSP+JavaBean 編程 優(yōu)點(diǎn):網(wǎng)站的業(yè)務(wù)邏輯和顯
2、示頁面進(jìn)行分離,程序結(jié)構(gòu)比較清晰。缺點(diǎn):將流程控制放到 JSP 中,JSP 不能單純作為顯示功能。JSP+JavaBean+Servlet 編程 優(yōu)點(diǎn):層次關(guān)系明顯、組件分工明確。由Servlet來執(zhí)行業(yè)務(wù)邏輯并負(fù)責(zé)程序的流程控制,JavaBean組件實(shí)現(xiàn)業(yè)務(wù)邏輯,充當(dāng)著模型的角色,JSP用于頁面的顯示。缺點(diǎn):雖然遵循了MVC設(shè)計(jì)模式,但需要設(shè)計(jì)MVC各對(duì)象之間的數(shù)據(jù)交換格式與方法,需要花費(fèi)更多的時(shí)間在系統(tǒng)設(shè)計(jì)上;對(duì)開發(fā)人員能力要求較高,不適合 JSP 初學(xué)者。 MVC模式:將業(yè)務(wù)邏輯代碼與外觀呈現(xiàn)分離,能更容易地根據(jù)需求的改變來改進(jìn)程序。3、JSP 頁面由哪些元素組成?答:JSP頁面元素包括
3、:JSP中的指令標(biāo)識(shí) 、HTML標(biāo)記語言、嵌入的Java代碼片段、JSP表達(dá)式(、動(dòng)作標(biāo)識(shí)、JSP腳本標(biāo)識(shí)、JSP注釋)等4、有幾種方法可實(shí)現(xiàn)在頁面中來包含文件?如何實(shí)現(xiàn)?它們有什么區(qū)別?答:<jsp:include>動(dòng)作標(biāo)識(shí)與include指令都可用來包含文件,實(shí)現(xiàn)格式分別為:<jsp:include page="被包含文件的路徑" /><% include file="文件的絕對(duì)路徑或相對(duì)路徑" %>二者的區(qū)別:(1)、屬性:include指令通過file屬性來指定被包含的頁面,include指令將file屬性值看
4、作一個(gè)實(shí)際存在的文件的路徑,所以該屬性不支持任何表達(dá)式。若在file屬性值中應(yīng)用JSP表達(dá)式,則會(huì)拋出異常。<jsp:include>動(dòng)作標(biāo)識(shí)通過page屬性來指定被包含的頁面,該屬性支持JSP表達(dá)式。(2)、處理方式 :使用include指令被包含的文件,它的內(nèi)容會(huì)原封不動(dòng)地插入到包含頁中使用該指令的位置,然后JSP編譯器再對(duì)這個(gè)合成的文件進(jìn)行翻譯。所以在一個(gè)JSP頁面中使用include指令來包含另外一個(gè)JSP頁面,最終編譯后的文件只有一個(gè)。使用<jsp:include>動(dòng)作標(biāo)識(shí)包含文件時(shí),當(dāng)該標(biāo)識(shí)被執(zhí)行時(shí),程序會(huì)將請(qǐng)求轉(zhuǎn)發(fā)到(注意是轉(zhuǎn)發(fā),而不是請(qǐng)求重定向)被包含的
5、頁面,并將執(zhí)行結(jié)果輸出到瀏覽器中,然后返回包含頁繼續(xù)執(zhí)行后面的代碼。因?yàn)榉?wù)器執(zhí)行的是兩個(gè)文件,所以JSP編譯器會(huì)分別對(duì)這兩個(gè)文件進(jìn)行編譯。(3)、包含方式:使用include指令包含文件,最終服務(wù)器執(zhí)行的是將兩個(gè)文件合成后由JSP編譯器編譯成的一個(gè)Class文件,所以被包含文件的內(nèi)容應(yīng)是固定不變的,若改變了被包含的文件,則主文件的代碼就發(fā)生了改變,因此服務(wù)器會(huì)重新編譯主文件。include指令的這種包含過程稱為靜態(tài)包含。使用<jsp:include>動(dòng)作標(biāo)識(shí)通常是來包含那些經(jīng)常需要改動(dòng)的文件。此時(shí)服務(wù)器執(zhí)行的是兩個(gè)文件,被包含文件的改動(dòng)不會(huì)影響到主文件,因此服務(wù)器不會(huì)對(duì)主文件重新
6、編譯,而只需重新編譯被包含的文件即可。而對(duì)被包含文件的編譯是在執(zhí)行時(shí)才進(jìn)行的,也就是說,只有當(dāng)<jsp:include>動(dòng)作標(biāo)識(shí)被執(zhí)行時(shí),使用該識(shí)包含的目標(biāo)文件才會(huì)被編譯,否則被包含的文件不會(huì)被編譯,所以這種包含過程稱為動(dòng)態(tài)包含。(4)、對(duì)被包含文件的約定使用include指令包含文件時(shí),被包含文件必須與主文件中page指令中的contentType屬性值一致,(因?yàn)檫@兩個(gè)文件最終會(huì)被合為一個(gè)文件)否則會(huì)拋出異常。使用<jsp:include>動(dòng)作標(biāo)識(shí)無此約定。5、如果用戶長時(shí)間不操作 session 對(duì)象,用戶的 session 對(duì)象會(huì)消失嗎?答:會(huì)消失。在一定時(shí)間內(nèi)
7、(系統(tǒng)默認(rèn)在30min內(nèi)),如果客戶端不向服務(wù)器發(fā)出應(yīng)答請(qǐng)求,session對(duì)象就會(huì)自動(dòng)消失。6、用戶關(guān)閉瀏覽器后,用戶的 session 會(huì)立即消失嗎?答:會(huì)。 從一個(gè)客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個(gè)服務(wù)器結(jié)束,被稱為一個(gè)會(huì)話。 可以利用此特性來保存每個(gè)用戶信息,當(dāng)一個(gè)客戶登錄一個(gè)網(wǎng)站時(shí),系統(tǒng)將為用戶生成一個(gè)獨(dú)一無二的會(huì)話對(duì)象,用以記錄該用戶的個(gè)人信息,一旦該用戶退出網(wǎng)站,該會(huì)話對(duì)象將會(huì)被注銷。7、如何延長 session 的過期時(shí)間?答:進(jìn)行會(huì)話超時(shí)設(shè)置,利用setMaxInactiveInterval(int interval)方法以秒為單位設(shè)置超時(shí)時(shí)間。8、s
8、ession 對(duì)象與 application 對(duì)象的區(qū)別有哪些?答:session對(duì)象和用戶會(huì)話相關(guān),不同用戶的session是完全不同的對(duì)象,而用戶的application對(duì)象都是相同的一個(gè)對(duì)象,即共享這個(gè)內(nèi)置的application對(duì)象;在session中設(shè)置的屬性只是在當(dāng)前客戶的會(huì)話范圍內(nèi)容有效,客戶超過保存時(shí)間不發(fā)送請(qǐng)求時(shí),session對(duì)象將被回收,而在application對(duì)象協(xié)議設(shè)置的屬性在整個(gè)應(yīng)用范圍內(nèi)是有效的,即使所有的任務(wù)都不發(fā)送請(qǐng)求,只要不關(guān)閉應(yīng)用服務(wù)器,在其中設(shè)置的屬性仍然有效。9、什么是 JavaBean?使用 JavaBean 的優(yōu)點(diǎn)是什么?答:JavaBean組件
9、就是利用Java語言編寫的組件,它好比一個(gè)封裝好的容器,使用者并不知道其內(nèi)部是如何構(gòu)造的,但它卻具有適應(yīng)用戶要求的功能,每個(gè)JavaBean都實(shí)現(xiàn)了一個(gè)特定的功能,通過合理地組織不同功能的JavaBean,可以快速生成一個(gè)全新的應(yīng)用程序。優(yōu)點(diǎn):提高代碼的重用性,“一次編寫,任何地方執(zhí)行,任何地方重用”。10、按功能 JavaBean 可分為哪幾種?在 JSP 中最為常用的是那一種?答:JavaBean按功能可分為可視化JavaBean和不可視化JavaBean兩類。 (1)可視化JavaBean:就是具有GUI圖形用戶界面的JavaBean;(2)不可視JavaBean:就是沒有GUI圖形用戶
10、界面的JavaBean,最終對(duì)用戶是不可見的,它更多地是被應(yīng)用到JSP中。不可視JavaBean又分為值JavaBean和工具JavaBean。附:值JavaBean作為信息的容器,通常用來封裝表單數(shù)據(jù),也就是將用戶向表單字段中輸入的數(shù)據(jù)存儲(chǔ)到JavaBean對(duì)應(yīng)的屬性中。使用值JavaBean可以減少在JSP頁面中嵌入大量的Java代碼。工具JavaBean 則可以不遵循JavaBean規(guī)范,通常用于封裝業(yè)務(wù)邏輯,數(shù)據(jù)操作等,例如連接數(shù)據(jù)庫,對(duì)數(shù)據(jù)庫進(jìn)行增、刪、改、查和解決中文亂碼等操作。工具JavaBean可以實(shí)現(xiàn)業(yè)務(wù)邏輯與頁面顯示的分離,提高了代碼的可讀性與易維護(hù)性。11、什么是 ser
11、vlet?Servlet 的技術(shù)特點(diǎn)是什么?Servlet 與 JSP 有什么區(qū)別?答:(1)Servlet是在JSP之前就存在的運(yùn)行在服務(wù)端的一種Java技術(shù),它是用Java語言編寫的服務(wù)器端程序。Servlet是使用Java Servlet應(yīng)用程序設(shè)計(jì)接口(API)及相關(guān)類和方法的Java程序。Java語言能夠?qū)崿F(xiàn)的功能,Servlet基本上都能實(shí)現(xiàn)(除了圖形界面外)。Servlet主要用于處理客戶端傳來的Http請(qǐng)求,并返回一個(gè)響應(yīng)。(將處理的結(jié)果傳遞給瀏覽器生成動(dòng)態(tài)web頁面)。(2)Servlet技術(shù)特點(diǎn):高效、方便、跨平臺(tái)、功能強(qiáng)大、靈活性和可擴(kuò)展性、共享數(shù)據(jù)、安全。(3)Serv
12、let與JSP相比有以下幾點(diǎn)區(qū)別: (JSP是以Servlet為基礎(chǔ)開發(fā)的)編程方式不同;Servlet必須在編譯以后才能執(zhí)行;運(yùn)行速度不同。12、創(chuàng)建一個(gè) Servlet 通常分為哪幾個(gè)步驟?答:(1)繼承HttpServlet抽象類。(2)重載適當(dāng)?shù)姆椒?,如覆蓋(或稱為重寫)doGet()方法或doPost()方法。 (3)如果有HTTP請(qǐng)求信息的話,獲取該信息。可通過調(diào)用HttpServletRequest類對(duì)象的以下3個(gè)方法獲?。篻etParameterNames()/獲取請(qǐng)求中所有參數(shù)的名字getParameter()/獲取請(qǐng)求中指定參數(shù)的值getParameterValues()/
13、獲取請(qǐng)求中所有參數(shù)的值(4)生成HTTP響應(yīng)。HttpServletResponse類對(duì)象生成響應(yīng),并將它返回到發(fā)出請(qǐng)求的客戶機(jī)上。它的方法允許設(shè)置“請(qǐng)求”標(biāo)題和“響應(yīng)”主體。“響應(yīng)”對(duì)象還含有g(shù)etWriter()方法以返回一個(gè)PrintWriter類對(duì)象。使用PrintWriter的print()方法和println()方法以編寫Servlet響應(yīng)來返回給客戶機(jī),或者直接使用out對(duì)象輸出有關(guān)HTML文檔內(nèi)容。13、運(yùn)行 Servlet 需要在 web.xml 文件中進(jìn)行哪些配置?答:Servlet的名稱、類(必須指定)和其他選項(xiàng)的配置;可以配置一些初始化參數(shù)啟動(dòng)裝入優(yōu)先權(quán) (通過<
14、load-on-startup>元素指定)Servlet的映射14、簡述 JDBC 連接數(shù)據(jù)庫的基本步驟。答:JSP中連接數(shù)據(jù)庫的基本步驟(5個(gè)):加載JDBC驅(qū)動(dòng)程序、創(chuàng)建數(shù)據(jù)庫連接、執(zhí)行SQL語句、獲得查詢結(jié)果和關(guān)閉連接。 Class. forName(String className)實(shí)現(xiàn)加載要連接數(shù)據(jù)庫的驅(qū)動(dòng)到JVM,成功加載后,會(huì)將加載的驅(qū)動(dòng)類注冊(cè)給DriverManager類; DriverManager.getConnection(String url, String user, String password)建立數(shù)據(jù)庫連接; 通過Connection實(shí)例創(chuàng)建Statem
15、ent實(shí)例:Statement stmt=conn.createStatement(); 然后執(zhí)行SQL語句,獲得查詢結(jié)果:ResultSet rs=stmt.executeQuery(“select * from tb.user”); 關(guān)閉連接。15、簡述數(shù)據(jù)庫連接池的優(yōu)缺點(diǎn)。答:(1)連接池具有下列優(yōu)點(diǎn):節(jié)省了時(shí)間;提高了數(shù)據(jù)庫連接的重復(fù)使用率;解決了數(shù)據(jù)庫對(duì)連接數(shù)量的限制。(2)連接池具有下列缺點(diǎn):連接池中可能存在多個(gè)與數(shù)據(jù)庫保持連接但未被使用的連接,在一定程度上浪費(fèi)了資源;要求開發(fā)人員和使用者準(zhǔn)確估算系統(tǒng)需要提供的最大數(shù)據(jù)庫連接的數(shù)量。16、如何在 Tomcat 中配置數(shù)據(jù)庫連接池?答
16、:(1)將SQL Server數(shù)據(jù)庫的3個(gè)JDBC驅(qū)動(dòng)包msbase.jar、mssqlserver.jar和msutil.jar復(fù)制到Tomcat安裝路徑下的lib文件夾中。(2)配置數(shù)據(jù)源。在配置數(shù)據(jù)源時(shí),可以將其配置到Tomcat安裝目錄下的confserver.xml文件中,也可以將其配置到Web工程目錄下的META-INFcontext.xml文件中,建議采用后者,因?yàn)檫@樣配置的數(shù)據(jù)源更有針對(duì)性,配置數(shù)據(jù)源的具體代碼如下:<Context> <Resource name="TestJNDI" type="javax.sql.DataSo
17、urce" auth="Container"driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"url="jdbc:microsoft:sqlserver:/:1433;DatabaseName=db_db_database08" username="sa" password="" maxActive="4" maxIdle="2" maxWait=&quo
18、t;6000" /></Context>17、什么是Ajax?簡述Ajax中使用的技術(shù)?答:Ajax是Asynchronous JavaScript and XML的縮寫,意思是異步的JavaScript與XML。Ajax并不是一門新的語言或技術(shù),它是JavaScript、XML、CSS、DOM等多種已有技術(shù)的組合,它可以實(shí)現(xiàn)客戶端的異步請(qǐng)求操作。這樣可以實(shí)現(xiàn)在不需要刷新頁面的情況下與服務(wù)器進(jìn)行通信,從而減少了用戶的等待時(shí)間。 Ajax使用的技術(shù):JavaScript腳本語言;XMLHttpRequest(最核心的);XML語言;DOM(Document Object Model);CSS。18、如何創(chuàng)建一個(gè)跨瀏覽器的XMLHttpRequest對(duì)象?答:關(guān)鍵代碼如
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第2.6練 指數(shù)與指數(shù)函數(shù)(解析版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 2022年北京市初三一模道德與法治試題匯編:遵守社會(huì)規(guī)則
- 2024人工智能法律倫理
- 2020-2021學(xué)年江蘇省南京外國語河西初級(jí)中學(xué)等三校七年級(jí)(下)期中數(shù)學(xué)試卷
- 衢州屋檐防水施工方案
- 2024年廣西地區(qū)中考滿分作文《給小廣的一封信》5
- 第1課 十字路口-認(rèn)識(shí)多圖層動(dòng)畫 教學(xué)設(shè)計(jì)-2023-2024學(xué)年遼師大版(2015)初中信息技術(shù)八年級(jí)下冊(cè)
- 合同范例和合同范例區(qū)別
- 代銷電器合同范例
- 可持續(xù)發(fā)展的工作實(shí)踐計(jì)劃
- 道路橋梁工程技術(shù)專業(yè)學(xué)生職業(yè)規(guī)劃書
- 《十步訊問法》讀書筆記
- GB/T 42599-2023風(fēng)能發(fā)電系統(tǒng)電氣仿真模型驗(yàn)證
- 術(shù)前肺功能評(píng)估的意義
- 分布式文件系統(tǒng)
- 手槍的基礎(chǔ)射擊演示文稿
- 浮針療法的學(xué)習(xí)課件
- 12K101-1 軸流通風(fēng)機(jī)安裝
- 上海市中小學(xué)生語文學(xué)業(yè)質(zhì)量綠色指標(biāo)測(cè)試
- 消防預(yù)留預(yù)埋施工【優(yōu)質(zhì)方案】
- 兩篇古典英文版成語故事畫蛇添足
評(píng)論
0/150
提交評(píng)論