JSP復(fù)習(xí)題-簡答_第1頁
JSP復(fù)習(xí)題-簡答_第2頁
JSP復(fù)習(xí)題-簡答_第3頁
JSP復(fù)習(xí)題-簡答_第4頁
JSP復(fù)習(xí)題-簡答_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、.1-1 JSP的全稱是什么?JSP有什么優(yōu)點?JSP與ASP、PHP的相同點是什么?答:全稱Java Server Page優(yōu)點:繼承了Java技術(shù)的簡單、便利、面向?qū)ο?,跨平臺和安全可靠等優(yōu)點,在JSP中利用了。JavaBean和JSP元素,可以有效的將靜態(tài)的HTML代碼和動態(tài)數(shù)據(jù)區(qū)分開來,給程序的修改和擴展帶來了很大方便;與其他動態(tài)網(wǎng)頁技術(shù)相同點,通過在頁面中加入腳本代碼來生成動態(tài)內(nèi)容。1-2 JSP中可重復(fù)使用的組件有哪些?JavaBean/JSP標準標簽/自定義標簽1-3 什么是JSP的預(yù)編譯特征?答:JSP頁面在被服務(wù)器執(zhí)行前,都是已經(jīng)被編譯好的,并且通常只進行一次編譯,即在JSP

2、頁面被第一次請求時進行編譯,在后續(xù)的請求中如果JSP頁面沒有被修改過,服務(wù)器只需要直接調(diào)用這些已經(jīng)被編譯好的代碼,這大大提高了訪問速度。1-4 開發(fā)JSP程序需要具備哪些開發(fā)環(huán)境?答:Web瀏覽器/Web服務(wù)器/JDK/數(shù)據(jù)庫1-7 本章介紹的用來開發(fā)JSP程序的開發(fā)工具是什么?答:Eclipse+MyEclipse2-1 什么是類?如何定義類?類的成員一般由哪兩部分組成?這兩部分的區(qū)別是什么?答:類是用來創(chuàng)建對象的模板,它包含被創(chuàng)建的對象的狀態(tài)描述和方法的定義。定義類的格式:修飾符 class extends 父類名 implements 接口列表定義成員變量定義成員方法類的成員由成員變量和

3、成員方法組成,成員變量用來表示類的狀態(tài)和屬性,成員方法表示類的行為。2-2 什么是成員變量和局部變量?他們的區(qū)別是什么答:成員變量是在類體中變量定義部分所聲明的變量;局部變量是在方法體重聲明的變量和方法的參數(shù)兩者的區(qū)別在于有效范圍不同,成員變量在整個類內(nèi)都有效,而局部變量只在定義他的成員方法內(nèi)才有效。2-3 如何創(chuàng)建、使用并銷毀對象?答:創(chuàng)建對象的方法: 類名 對象名; 對象名 = new 構(gòu)造方法名(參數(shù)列表);或者: 類名 對象名 = new 構(gòu)造方法名(參數(shù)列表);使用對象的方法:可以通過對象來引用其成員變量,并改變成員變量的值,而且還可以通過對象來調(diào)用其成員方法。通過使用運“.”實現(xiàn)對

4、成員變量的訪問和成員方法的調(diào)用。銷毀對象的操作由Java提供的垃圾回收機制自動完成 。不需要手工完成銷毀對象操作?;蛘哒{(diào)用對象的finalize()方法。2-4 構(gòu)造方法的概念及用途是什么?答:構(gòu)造方法是一種特殊的方法,它的名字必須與它所在類的名字完全相同,并且沒有返回值,也不需要使用關(guān)鍵字void進行標識。構(gòu)造方法用于對對象中的所有成員變量進行初始化,在創(chuàng)建對象時立即被調(diào)用。2-6 在Java語言中,處理異常的語句有哪4種?答try catch、finally 、throw、throws2-7 在JSP中引入JavaScript的方法有哪些?方法1 在頁面中直接嵌入JavaScript方法

5、2 鏈接外部JavaScript2-9 在JavaScript中如何定義并調(diào)用函數(shù)?function functionName(parameter1, parameter2,)statementsreturn expression 如果要調(diào)用不帶參數(shù)的函數(shù),則使用函數(shù)名加上括號即可;如果要調(diào)用的函數(shù)帶參數(shù),則在括號中加上需要傳遞的參數(shù),如果包含多個參數(shù),各參數(shù)間用逗號分隔。如果函數(shù)有返回值,那么可以使用賦值語句將函數(shù)值賦給一個變量。3-1 JSP頁面由哪些元素組成? JSP頁面的基本構(gòu)成今天是:3-2 JSP中主要包含哪幾種指令標識?它們的作用及語法格式是什么?page指令定義在整個JSP頁面

6、范圍內(nèi)有效的屬性。include指令用于在當前的JSP頁面中使用該指令的位置嵌入其他的文件,如果被包含的文件中有可執(zhí)行的代碼,則顯示代碼執(zhí)行后的結(jié)果。通過使用taglib指令,開發(fā)者就可以在頁面中使用標準標簽或自定義標簽來完成特殊的功能。3-3 JSP中的腳本標識包含哪些元素?它們的作用及語法格式是什么? 聲明(Declaration) 表達式(Expression) 腳本程序(Scriptlet)在頁面中通過聲明標識聲明的變量和方法,在整個頁面內(nèi)都有效,它們將成為JSP頁面被轉(zhuǎn)換為Java類后類成員變量和成員方法。并且它們會被多個線程即多個用戶共享,其中的任何一個線程對聲明的變量或方法的修改

7、都會改變它們原來的狀態(tài)。它們的生命周期從創(chuàng)建到服務(wù)器關(guān)閉后結(jié)束。表達式用于向頁面中輸出信息。(1)向頁面輸出內(nèi)容:用戶名:(2)生成動態(tài)的鏈接地址:a href=鏈接到welcom.jsp(3)動態(tài)指定Form表單處理頁面:form action=(4)為通過循環(huán)語句生成的元素命名:% for(int i=1;i :input type=text name=在腳本程序中可以定義變量、調(diào)用方法和進行各種表達式運算。在腳本程序中定義的變量在當前的整個頁面內(nèi)都有效,當前用戶對該變量的操作不會影響到其他的用戶。當變量所在的頁面關(guān)閉后就會被銷毀。注意:在聲明中聲明變量 與 在腳本標識中聲明變量不同,前者

8、是全局后者是局部3-4 在JSP中可以使用哪些釋?它們的語法格式是什么?HTML中的注釋 帶有JSP表達式的!-comment-隱藏注釋 腳本程序(Scriptlet)中A 3-1 完成下面代碼的空白部分。Hello! The time is now_A 3-2 完成下面代碼的空白部分。使用數(shù)組顯示%_int_ a =13,27,21,17,39;for(int i=0;i=4;i+)out.print(第+i+個元素);out.print();A3-3 完成下面代碼的空白部分(輸出156)= 1)int a = 1;for(int i=1;i4-2 當表單提交信息中包括漢字時,在獲取時應(yīng)該做

9、怎樣的處理?當request對象獲取客戶提交的漢字字符時,會出現(xiàn)亂碼問題,必須進行特殊處理。首先,將獲取的字符串用ISO-8859-1進行編碼,并將編碼存放到一個字節(jié)數(shù)組中,然后再將這個數(shù)組轉(zhuǎn)化為字符串對象即可。4-3 如何實現(xiàn)禁用緩存功能?技巧:通過設(shè)置HTTP頭可實現(xiàn)禁用緩存功能注意:下面的代碼必須在沒有任何輸出發(fā)送到客戶端之前使用response.setHeader(Cache-Control,no-store); response.setDateHeader(Expires,0); 4-5 如果用戶長時間不操作session對象,用戶的session對象會消失嗎?為了彌補HTTP協(xié)議的

10、“無狀態(tài)”的這一缺點,JSP提供了一個session對象,這樣服務(wù)器和客戶端之間的連接就會一直保持下去,在一定時間內(nèi)(系統(tǒng)默認在30分鐘內(nèi)),如果客戶端不向服務(wù)器發(fā)出應(yīng)答請求,session對象就會自動消失。 在編寫程序時,可以修改這個時間限定值,使session對象在特定時間內(nèi)保存信息。4-6 用戶關(guān)閉瀏覽器后,用戶的session會立即消失嗎?從一個客戶打開瀏覽器并連接到服務(wù)器開始,到客戶關(guān)閉瀏覽器離開這個服務(wù)器結(jié)束,被稱為一個會話。可以利用此特性來保存每個用戶信息,當一個客戶登錄一個網(wǎng)站時,系統(tǒng)將為用戶生成一個獨一無二的會話對象,用以記錄該用戶的個人信息,一旦該用戶退出網(wǎng)站,該會話對象將

11、會被注銷。4-8 session對象與application對象的區(qū)別有哪些?session對象和用戶會話相關(guān),不同用戶的session是完全不同的對象;application對象都是相同的一個對象,即共享這個內(nèi)置的application對象。A4-5 分別闡述session及application的生命周期。session:從用戶打開瀏覽器窗口連接到網(wǎng)站上的一個頁面開始,到用戶關(guān)閉所有與這個網(wǎng)站連接窗口為止。每個用戶單獨一個該對象;application:從Web服務(wù)期啟動開始,到Web服務(wù)器停止為止。所有用戶共享該對象。A4-7 要獲得一個文本框表單控件傳遞的值,可以使用requeset對

12、象的_getparameter()_法,要獲得一組復(fù)選框表單控件傳遞的值,需要使用_ getparametervalues()_方法。5-1 什么是JavaBean?使用JavaBean的優(yōu)點是什么?JavaBean組件就是利用Java語言編寫的組件,它好比一個封裝好的容器,使用者并不知道其內(nèi)部是如何構(gòu)造的,但它卻具有適應(yīng)用戶要求的功能,每個JavaBean都實現(xiàn)了一個特定的功能,通過合理地組織不同功能的JavaBean,可以快速生成一個全新的應(yīng)用程序。JSP較其他同類語言最強有力的方面就是能夠使用JavaBean組件1一次性編寫:JavaBean組件重用時不需要重新編寫,只需要根據(jù)需求修改和

13、升級代碼即可2任何地方執(zhí):JavaBean組件可以在任何平臺上運行,可以輕易移植到各種運行平臺上。3任何地方重用:JavaBean組件能夠被在多種方案中使用,包括應(yīng)用程序、其他組件、Web應(yīng)用等。5-3 在JSP中一個標準的JavaBean需要具備哪些條件?通常一個標準的JavaBean需遵循以下規(guī)范:【1】實現(xiàn)java.io.Serializable接口;【2】是一個公共類;【3】類中必須存在一個無參數(shù)的構(gòu)造函數(shù);【4】提供對應(yīng)的setXxx()和getXxx()方法來存取類中的屬性,方法中的“Xxx”為屬性名稱,屬性的第一個字母應(yīng)大寫。若屬性為布爾類型,則可使用isXxx()方法代替get

14、Xxx()方法。5-4 分別介紹值JavaBean與工具JavaBean的作用。值JavaBean嚴格遵循了JavaBean的命名規(guī)范,通常用來封裝表單數(shù)據(jù),作為信息的容器。工具JavaBean可以不遵循JavaBean規(guī)范,通常用于封裝業(yè)務(wù)邏輯,數(shù)據(jù)操作等,例如連接數(shù)據(jù)庫,對數(shù)據(jù)庫進行增、刪、改、查和解決中文亂碼等操作。工具JavaBean可以實現(xiàn)業(yè)務(wù)邏輯與頁面顯示的分離,提高了代碼的可讀性與易維護性。本例中的JavaBean就是一個工具JavaBean,它用來轉(zhuǎn)換字符串中的“”字符。A5-5 為什么JavaBean必須遵守特定的規(guī)范,比如對于CounterBean的count屬性,必須提供

15、getCount()和setCount()方法,而不能隨心所欲的定義為getCOunt()、insertcount()等等其他名字?實現(xiàn)java.io.Serializable接口的類實例化的對象被JVM轉(zhuǎn)化為一個字節(jié)序列,并且能夠?qū)⑦@個字節(jié)序列完全恢復(fù)為原來的對象,序列化機制可以彌補網(wǎng)絡(luò)傳輸中不同操作系統(tǒng)的差異問題。作為JavaBean,必須進行對象的序列化。使用一個JavaBean時,一般情況下是在設(shè)計階段對它的狀態(tài)信息進行配置,并在程序啟動后期恢復(fù),這種具體工作是由序列化完成的。6-1 什么是servlet?Servlet的技術(shù)特點是什么?Servlet與JSP有什么區(qū)別?技術(shù)簡介是一種

16、獨立于平臺和協(xié)議的服務(wù)器端的Java技術(shù),可以用來生成動態(tài)的Web頁面。是遵循Servlet API規(guī)范的Java程序。Java語言能夠?qū)崿F(xiàn)的功能,Servlet基本上都能實現(xiàn)。主要用于處理客戶端傳來的Http請求,并返回一個響應(yīng)。直接繼承javax.servlet.http.HttpServlet。需要在web.xml中進行描述,例如,映射執(zhí)行Servlet的名字,配置Servlet類、初始化參數(shù),進行安全配置、URL映射和設(shè)置啟動的優(yōu)先權(quán)等。6-2 創(chuàng)建一個Servlet通常分為哪幾個步驟?繼承HttpServlet抽象類。public class xxx extends HttpServ

17、let覆蓋HttpServlet的部分方法,如覆蓋service()或doGet()或doPost()方法重載。 如果有HTTP請求信息的話,獲取該信息??赏ㄟ^調(diào)用HttpServletRequest類對象的以下方法獲取:getParameterNames()/獲取請求中所有參數(shù)的名字getParameter()/獲取請求中指定參數(shù)的值getParameterValues()/獲取請求中所有參數(shù)的值生成HTTP響應(yīng)。HttpServletResponse類對象生成響應(yīng),并將它返回到發(fā)出請求的客戶機上。編譯servlet。javac -classpath .;servlet-api.jar x.

18、java7-1 JSPSmartUpload、Java Mail、JFreeChart和iText組件的作用是什么?jspSmartUpload組件上傳&下載;JavaMail組件Email發(fā)送接收; jFreeChart組件圖表; iText組件PDF讀寫; jExcel組件Excel讀寫7-2 怎么解決在實現(xiàn)文件下載時拋出getOutputStream() has already been called for this response異常的情況?下載文件原理: JSP內(nèi)置對象response調(diào)用方法getOutputStream()可以獲取一個指向客戶輸出流,服務(wù)器將文件寫入這個流,客

19、戶就可以下載這個文件了。當JSP頁面提供下載功能時,應(yīng)當使用response對象向客戶發(fā)送HTTP頭信息,說明文件的MIME類型,這樣瀏覽器就會調(diào)用相應(yīng)的外部程序打開下載的文件。7-3 在使用JFreeChart組件時,需要進行哪些準備工作?利用JFreeChart組件生成動態(tài)統(tǒng)計圖表的基本步驟:(1)創(chuàng)建繪圖數(shù)據(jù)集合;(2)創(chuàng)建JFreeChart實例;(3)自定義圖表繪制屬性,該步可選;(4)生成指定格式的圖片,并返回圖片名稱;(5)組織圖片瀏覽路徑;(6)通過HTML中的標記顯示圖片。7-4 在使用iText組件時,如何將PDF文檔設(shè)定成B5頁面大???利用iText組件生成PDF的基本步

20、驟:(1)建立com.lowagie.text.Document對象的實例;Document document = new Document(); (2)建立一個書寫器(Writer)與document對象關(guān)聯(lián),通過書寫器(Writer)可以將文檔寫入到磁盤中;PdfWriter.getInstance(document, new (a.pdf); (3)打開文檔;document.open(); (4)向文檔中添加內(nèi)容;document.add(new Paragraph(Hello World); (5)關(guān)閉文檔;document.close(); 8-1 在Windows2003Serv

21、er操作系統(tǒng)中,通過JDBC連接SQL Server2000數(shù)據(jù)庫需要進行什么操作?下載jar包,放在WEB-INF下,ab夾下,使用JDBC-ODBC橋,創(chuàng)建數(shù)據(jù)源/直接連接數(shù)據(jù)。8-3 寫出SQL Server2000數(shù)據(jù)庫的驅(qū)動及連接本地機器上的數(shù)據(jù)庫db_database的URL地址。String driverClass=com.microsoft.jdbc.sqlserver.SQLServerDriver;String url =jdbc:microsoft:sqlserver:/:1433;DatabaseName=db_database08;8-4 執(zhí)行動態(tài)S

22、QL語句的接口是什么?通過Statement接口的executeUpdate()或executeQuery()方法,可以執(zhí)行SQL語句,同時將返回執(zhí)行結(jié)果。Prepared Statement8-5 Statement實例又可以分為哪3種類型?功能分別是什么?(1)Statement狀態(tài)集:能用來執(zhí)行靜態(tài)的SQL語句;(2)PreparedStatement預(yù)編譯狀態(tài)集:增加了執(zhí)行動態(tài)SQL語句的功能;(3)CallableStatement存儲過程狀態(tài)集:增加了執(zhí)行數(shù)據(jù)庫存儲過程的功能。8-6 JDBC中提供的兩種實現(xiàn)數(shù)據(jù)查詢的方法是什么?如果執(zhí)行的是executeUpdate()方法,將返

23、回一個int型數(shù)值,代表影響數(shù)據(jù)庫記錄的條數(shù),即插入、修改或刪除記錄的條數(shù);如果執(zhí)行的是executeQuery()方法,將返回一個ResultSet型的結(jié)果集,其中不僅包含所有滿足查詢條件的記錄還包含相應(yīng)數(shù)據(jù)表的相關(guān)信息,例如,列的名稱、類型和列的數(shù)量等。8-7 簡述數(shù)據(jù)庫連接池的優(yōu)缺點。使用連接池的優(yōu)點:(1)節(jié)省時間:創(chuàng)建一個新的數(shù)據(jù)庫連接所耗費的時間主要取決于網(wǎng)絡(luò)的速度以及應(yīng)用程序和數(shù)據(jù)庫服務(wù)器的(網(wǎng)絡(luò))距離,而且這個過程通常是一個很耗時的過程,而采用數(shù)據(jù)庫連接池后,數(shù)據(jù)庫連接請求則可以直接通過連接池滿足,而不需要為該請求重新連接、認證到數(shù)據(jù)庫服務(wù)器,從而節(jié)省了時間;(2)提高了數(shù)據(jù)庫

24、連接的重復(fù)使用率;(3)解決了數(shù)據(jù)庫對連接數(shù)量的限制。使用連接池的缺點:(1)連接池中可能存在多個與數(shù)據(jù)庫保持連接但未被使用的連接,在一定程度上浪費了資源(2)要求開發(fā)人員和使用者準確估算系統(tǒng)需要提供的最大數(shù)據(jù)庫連接的數(shù)量。A8-2請為下面的代碼片段增加注釋/ (1)加載JDBC驅(qū)動程序Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/ (2)創(chuàng)建Connection對象的實例Connection conn = DriverManager.getConnection(jdbc:odbc:db,);/ (3)創(chuàng)建狀態(tài)集Statement stmt = co

25、nn.createStatement();/ (4)執(zhí)行SQL語句ResultSet rs = stmt.executeQuery(select * from tabs);/ (5)獲得查詢結(jié)果while(rs.next()System.out.println(rs.getString(1);rs.close();stmt.close();conn.close(); 1JDBC-ODBC Bridge 通過本地的ODBC Driver連接到RDBMS上。這種連接方式必須將ODBC二進制代碼(許多情況下還包括數(shù)據(jù)庫客戶機代碼)加載到使用該驅(qū)動程序的每個客戶機上,因此,這種類型的驅(qū)動程序最適合于企

26、業(yè)網(wǎng),或者是利用Java編寫的3層結(jié)構(gòu)的應(yīng)用程序服務(wù)器代碼。2JDBC-Native API Bridge通過調(diào)用本地的程序?qū)崿F(xiàn)數(shù)據(jù)庫連接,這種類型的驅(qū)動程序把客戶機API上的JDBC調(diào)用轉(zhuǎn)換為Oracle、Sybase、Informix、DB2或其他DBMS的調(diào)用。需要注意的是,和JDBC-ODBC Bridge驅(qū)動程序一樣,這種類型的驅(qū)動程序要求將某些二進制代碼加載到每臺客戶機上。3JDBC-middleware是一種完全利用Java編寫的JDBC驅(qū)動,將JDBC轉(zhuǎn)換為與DBMS無關(guān)的網(wǎng)絡(luò)協(xié)議,然后將這種協(xié)議通過網(wǎng)絡(luò)服務(wù)器轉(zhuǎn)換為DBMS協(xié)議,這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⒓僇ava客戶機連接到

27、多種不同的數(shù)據(jù)庫上,使用的具體協(xié)議取決于提供者。通常情況下,這是最為靈活的JDBC驅(qū)動程序,有可能所有這種解決方案的提供者都提供適合于Intranet用的產(chǎn)品。為了使這些產(chǎn)品也支持Internet訪問,它們必須處理Web所提出的安全性、通過防火墻的訪問等方面的額外要求。4Pure JDBC Driver是一種完全利用Java編寫的JDBC驅(qū)動,這種類型的驅(qū)動程序?qū)DBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機機器上直接調(diào)用DBMS服務(wù)器,是Intranet訪問的一個很實用的解決方法。由于許多這樣的協(xié)議都是專用的,因此數(shù)據(jù)庫提供者自己將是主要來源,而且主流的數(shù)據(jù)庫目前基本都提供

28、了針對自身數(shù)據(jù)庫的這種驅(qū)動。A8-7 為什么傳統(tǒng)的JDBC連接方式在連接過于頻繁的情況下會造成數(shù)據(jù)庫的不穩(wěn)定?傳統(tǒng)沒有使用連接池,連接沒有上下限控制連接數(shù)據(jù)庫占用資源較高補充程序Xample5_2.jsp = 80 );out.print();out.print();out.print(+姓名);out.print(+英語成績);out.print();while(rs.next()out.print(+rs.getString(2)+); out.print(+rs.getInt(英語成績)+); out.print() ; out.print(); con.close();catch(SQ

29、LException e1) %Xample5_1.jsp% Connection con;Statement sql; ResultSet rs;try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch(ClassNotFoundException e)try con=DriverManager.getConnection(jdbc:odbc:sun,sa,);sql=con.createStatement();rs=sql.executeQuery(SELECT * FROM students);out.print();out.print

30、();out.print(+學(xué)號);out.print(+數(shù)學(xué)成績);out.print(+英語成績);out.print(+物理成績);out.print();while(rs.next() out.print();out.print(+rs.getString(1)+); out.print(+rs.getString(2)+);out.print(+rs.getInt(數(shù)學(xué)成績)+); out.print(+rs.getInt(英語成績)+);out.print(+rs.getInt(物理成績)+); out.print() ; out.print();con.close();catch(SQLException e1) %1姓

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論