1. 程式人生 > >JavaWeb判斷題詳解

JavaWeb判斷題詳解

JavaBean

  1. jsp:getProperty中的name及property區分大小寫。(t)
    用於獲取被載入到當前頁面中的JavaBean的某個屬性值:
    <jsp:getProperty name=”beanInstanceName” property=”propertyName”>
    name:JavaBean物件的名字,property:獲取哪個屬性的值
  2. 在JavaBean中有很多方法,其中包含了主方法。(f)
    所有屬性的Get/Set方法
  3. JavaBean中的屬性既可以是public型的,也可以是private型的。(f)
    都是private
  4. JavaBean中的方法既可以是public型的,也可以是private型的。(f)
    都是public
  5. JavaBean實質上是一個Java類,該類可以被JSP程式進行直接呼叫。(f)
    需要使用<jsp:useBean id=” beanInstanceName” class=”package.class”
    scope=”page”>標籤裝載一個在JSP頁面中使用的JavaBean
  6. 編寫JavaBean可以先不必加入到JSP程式中呼叫,而直接用main方法來進行除錯,除錯好後就可以在JSP中使用了。(t)

JSP內建物件部分

  1. Application的生命週期比session的生命週期長。(t)
    Application:儲存整個web應用執行期間的全域性資料和資訊。只要web應
    用正常執行,application物件就可以訪問
    Session:當用戶開啟網頁,伺服器就生成一個session物件。除非使用者關閉
    瀏覽器,否則該物件一直伴隨使用者(例如在使用者登入過程中,可以用session記錄使用者的登入狀態:session.setAttribute(“status”, “Login”);)
    兩者區別:只要web應用還在正常執行,application物件就可以訪問,而
    session物件在使用者離開系統就被登出(關閉瀏覽器再開啟新視窗,application物件還在)

  2. Request的生命週期比Session的生命週期長。(f)
    request:使用者的需求被抽象成request物件,該物件包括:使用者所有的請求
    資料(例如通過表單提交的表單資料、通過URL等方式傳遞的數等)、伺服器的資訊(埠、真實路徑、訪問協議等)…
    生命範圍:從http請求發起,到伺服器處理結束返回響應的整個過程(響應完成,request消失)

  3. 當request物件獲取客戶端提交的漢字字元時,會出現亂碼問題,解決方式是改變編碼格式為UTF-8。(f)
    亂碼問題:本質就是把中文字元轉換成合適的編碼方式,或者是在顯示中文
    的環境中宣告採用GB2312的編碼(UTF-8、GBK、GB2312都支援中文顯示)
    1.JSP頁面:設定對整個頁面起作用的page指令,讓其支援中文顯示的編碼方式:<%@ page language=”java” import=”java.util.*” contentType=”text/html; charset=gb2312”%>


    2.URL傳遞引數:咱可以用類似

    http://localhost:8080/chapt4/ URLCharset.jsp? param='中文’

    這種形式傳遞引數(通過URL連結)。僅僅轉換這個字串的編碼或設定JSP頁面顯示編碼都不能解決問題。需要修改Tomcat的
    conf目錄下的server.xml配置檔案:<Connector port=”8080” URIEncoding =”gbk2312” …>
    3.表單提交:在Tomcat中,對於以POST方法提交的表單採用的預設編碼為
    ISO-8859-1(不支援中文字元)。使用過濾器filter解決,對所有的請求進行編碼格式的處理:在web.xml中新增如下內容:

    <filter>
    	<filter-name>SetCharacterEncoding</filter-name>
    	<filter-class> SetCharacterEncodingFilter</filter-class>
    	<init-param>
    		<param-name>encoding</param-name>
    		<param-value>gb2312</param-value>
    	</init-param>
    	<init-param>
    		<param-name>enable</param-name>
    		<param-value>true</param-value>
    	</init-param>
    </filter>
    <filter-mapping>
    	<filter-name> SetCharacterEncoding</filter-name>
    	<url-pattern>/*</url-pattern>
    </filter-mapping>
    

    過濾器的基本原理:對於每一個使用者請求,都必須經過過濾器的處理才能發到目的頁面。在JSP中,以POST方式提交的表單在本質上就是封裝在request物件中,而request物件是必須要經過過濾器處理的
    4.資料庫操作:
    向資料庫中正常寫入中文資料:

    jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=pubs;
    useUnicode=true; characterEncoding=gb2312

  4. 使用Request物件的getRemoteAddr()方法可以獲取客戶端的IP地址。(t)

  5. 通過Post方法提交資料,會將所有資料顯示在URL地址的後面。(f)
    Get方法:把引數資料新增到表單的action屬性所指向的URL中,例如:

    http://www.xxx.com?sessonid=1234&name=hongten&age=20

    因此安全性較差
    Post方法:將表單內各個欄位與其內容放置在Html Header內,對使用者來說是透明的,較安全

  6. Cookie檔案是存放在伺服器端的。(f)
    cookie物件將資料寫到客戶端瀏覽器的cookie檔案中,該檔案儲存再客戶端
    記憶體中

  7. 在設定cookie的最大存在時間時,可以設定為負值和零。(t)

    cookie.setMaxAge(0) ; //不記錄cookie
    cookie.setMaxAge(-1); //會話級cookie,關閉瀏覽器失效

  8. JSP內建物件是指不用宣告就可以在JSP頁面的指令碼部分使用的物件。(t)

  9. Out物件的作用範圍是Application。(f)
    功能:想JSP頁面輸出資料資訊

  10. Out物件的clearBuffer()方法用來清除快取區裡的資料,但並不把資料寫到客戶端。(f)

  11. Out物件的clear()方法用來清除快取區裡的資料,並把資料寫到客戶端。(f)
    1.clear()方法:清除緩衝區資料(僅僅是清楚),不向使用者輸出
    2.clearBuffer()方法:清除緩衝區資料,同時向用戶輸出

  12. 空字串“”和NULL的意義是相同的,都表示這個物件不存在。(f)

  13. 當request物件獲取客戶提交的漢字字元時,會出現亂碼問題,解決亂碼問題的關鍵是將編碼方式改變為UTF8.(f)
    同題目3

  14. Session物件的存在期限是指瀏覽器未關閉之前及預設時間內。(t)

  15. Cookie物件的存在期限是指瀏覽器未關閉之前及設定時間內。(t)

  16. Session物件通常存在於客戶端。(f)
    資料儲存到伺服器端記憶體:session物件、application物件
    資料儲存到客戶端記憶體:cookie物件

  17. 在某些情況下,當響應客戶時,需要將客戶重新引導指另外一個頁面,這時可以使用response物件的sendRedirect(URL)方法實現客戶的重定向。(t)

  18. Response.setHeader(“refresh”,“2”)可以實現兩秒鐘重新整理一次的效果。(t)

  19. 和Session物件一樣,當不同的客戶在訪問伺服器時,伺服器會建立不同的Application物件。(f)
    Application物件被所有使用者共享

  20. 與Session不同到的是,所有客戶的application物件都是同一個,即所有客戶共享這個內建的application物件。(t)

  21. 在瀏覽器上存放cookie的數量是沒有限制的。(f)
    有限制的

  22. 在伺服器上存放cookie的數量是有限制的。(f)
    存放在客戶端上

  23. 從執行的速度上來分析,Session物件的處理速度通常比Cookie物件的處理速度快。(f)

  24. 可以通過呼叫SetMaxAge()方法來設定Cookie將要存在的最大時間。(T)

  25. 如果SetMaxAge()方法中的值為負值表明要立即刪除該Cookie物件。(f)
    不是立即刪除,表明當關閉瀏覽器時,cookie失效

  26. 如果SetMaxAge()方法中的值為0表明當瀏覽器關閉時,該Cookie物件將被刪除。(f)
    cookie物件立即失效,不需要關閉瀏覽器

Jsp資料庫部分

  1. JDBC不支援三層模型。(f)

  2. 使用JSP不能實現資料庫的分頁瀏覽。(f)

  3. 在進行資料庫連線時,作用於使用者和驅動程式之間的類是DriverManager類(t)

  4. Connection介面代表與資料庫的連線,並擁有建立SQL語句的方法。(t)

  5. 在執行一個儲存過程之前,必須先對其中的Out引數進行註冊。(t)
    儲存過程:存在資料庫伺服器中的函式,接受輸入並返回輸出。該函式會在
    資料庫伺服器上進行編譯,供使用者多次使用,可大大提高資料操作的效率
    利用CallableStatement物件可以呼叫儲存過程,該物件可處理兩種形式的儲存過程(帶/不帶結果引數)。如果儲存過程返回的是輸出引數,則在執行CallableStatement物件前必須註冊每個輸出引數的JDBC型別。當儲存過程從執行中返回後,它會用之前設定的JDBC型別設定OUT引數的值。

    CallableStatement cstmt = conn.prepareCall(“{ call insertNewStudent(?, ?) }”);
    cstmt.registerOutParameter(1, java.sql.Types.INTEGER); //註冊out引數
    cstmt.execute(); //執行儲存過程
    Int number=cstmt.getInt(1); //從第一個引數中取出Integer物件

  6. DriverManger類是JDBC的管理者,主要負責載入、註冊JDBC驅動程式。(t)

  7. DriverManager類的getConnection()方法用於建立指定資料庫的連線,該方法中有三個引數,第一個引數就是資料庫的使用者名稱,第二個引數是密碼,第三個引數指定資料庫的URL。(f)
    第一個引數是url:

    ”jdbc:mysql://localhost:3306/simple”
    (資料庫的連線字串=連線協議+資料庫地址+資料庫名稱)

    第二個引數是username:root
    第三個引數是password:root

  8. 可以通過檢查機器中的1433埠是否已經開啟來判斷SQL Server 2000 是否安裝了SP3 或 SP4.(t)

  9. JSP連線資料庫需要使用的埠是80埠。(f)

  10. 執行Statement介面的executeUpdate()方法會返回一個ResultSet物件。(f)
    返回整數值
    Statement介面提供3種執行語句的方法:
    1.executeQuery(String sql):產生單個結果集的語句(執行select查詢語句)
    2.executeUpdate(String sql):
    返回值是一個整數(指示受影響的行數):執行insert、update或delete語句;
    返回值為0:執行DDL語句,例如Create table或Drop table
    3.execute(String sql):執行返回多個結果集、多個更新計數或二者組合

  11. Statement介面的executeQuery()方法的返回型別是Boolean型。(f)
    返回單個結果集ResultSet物件

  12. Statement介面的execute()方法的返回型別是Int型。(f)
    返回多個結果集ResultSet物件

  13. 通常執行Statement介面的executeQuery()方法會得到一個ResultSet,且指標指向記錄的第1行。(f)

  14. Statement介面是PreparedStatement介面的子介面,它直接繼承並重載PreparedStatement的方法。(f)
    PreparedStatement介面繼承並擴充套件了Statement介面,用來執行動態SQL
    語句。該SQL語句可具有一個或多個引數,每個引數保留一個問號(?,作為佔位符)

  15. 一個PreparedStatement的物件中包含的SQL語句是預編譯的,允許包含多個輸入引數,輸入引數用?代替。(t)
    JSP語法部分
    JSP指令標識:設定當前頁面範圍內有效的資訊,被伺服器解釋執行,不產
    生輸出到網頁的內容
    <%@ 指令名 attribute1=”attributeValue1” attribute2=”attributeValue2”%>

  16. 會在客戶端(瀏覽器)顯示的註釋是隱藏註釋。(f)

  17. 會在客戶端(瀏覽器)顯示的註釋是輸出註釋。(t)

  18. <%@ page%>指令不一定放在頁面的頭部。(t)

  19. <%@ page import=”java.util.,java.lang.”buffer=”5kb”autoFlush=”false”%>,這句程式碼是正確。(t)

  20. <%@ Include%>指令只能包括字尾名為.jsp的檔案。(f)
    include指令:僅僅是靜態包含一個檔案(和當前頁面組成一個整體檔案)

    <%@ include file=”header.txt”%>

    include動作指令:可以動態包含一個檔案(靜態檔案或動態指令碼)

    <jsp:include flust=”true” page=”header.txt” page=”header.txt”>
    <jsp:param name=”param” value=”test”/ >
    </jsp:include>

  21. 使用jsp:forward指令可以傳遞引數。(t)
    可以用來控制網頁的重定向(從當前頁面跳轉到另一個頁面)

    <jsp:forward page=”www.sohu.com”></jsp:forward>

  22. <%@ Include%>指令只能包括字尾名為.jsp的檔案。(f)

  23. 格式如”<!—註釋內容–>”的註釋是隱藏註釋。(f)
    輸出註釋:”<!—註釋內容–>”
    隱藏註釋:”<%–註釋內容–%>”

  24. 格式如”<%–註釋內容–%>”的註釋是輸出註釋。(f)

  25. JSP編譯器是不會對”<%–“和”–%>”之間的語句進行編譯的,它不會顯示在客戶的瀏覽器中,也不會在原始碼中被看到。(t)

  26. 在JSP宣告中只能一次一個的宣告要用到的變數和方法。(f)

    <%! 宣告變數或方法 %>
    <%! int number=0;
    int count() {
    number++;
    return number;
    }
    %>

  27. 在JSP中使用表示式必須以“;”作為表示式的結束符。(f)
    <%= 表示式 %>:用於向頁面輸出資訊
    表示式可以是任何合法的Java語言表示式(運算結果轉換為字串),其
    可以插入到頁面文字/插入HTML標記
    <%= now%>:當前時間

  28. JSP中的表示式必須有返回值,且返回值被轉換為字串。(t)

  29. Page指令的language屬性用於指定在指令碼元素中的指令碼語言,預設值是Java,在JSP2.0規範中,該屬性的值也可以是JavaScript和vbscript等語言。(f)
    當前只支援Java

  30. 即使沒有使用Page指令設定charset為GB2312,JSP程式終中的中文顯示也不會出現亂碼。(f)

  31. Page指令的所有屬性都可以重複設定。(f)

  32. Page指令中只有import屬性可以重複設定。(t)

  33. 無論將Page指令放在JSP檔案的哪個位置,它的作用範圍都是整個JSP頁面。(t)
    因此<%@ page %>指令不一定放在頁面頭部

  34. 在使用include指令時,在被包含檔案中可以使用、、、<等標籤時,不會引發錯誤。(f)
    Include指令是靜態包含,include動作指令可以包含,詳見題5

  35. 在使用include指令時,包含檔案中的變數和方法可以與包含檔案中的變數和方法同名,不會引發錯誤。(f)

  36. 在使用自定義標籤之前必須使用<%@ taglib>指令引用標籤庫,但是,在一個頁面中只能使用一次。(f)

  37. jsp:include動作元素允許在頁面被請求的時候包含一些其他的資源,如一個靜態的HTML檔案或動態的JSP檔案。(t)

  38. jsp:forward操作允許將請求轉發到其他的HTML檔案、JSP檔案或者是一個程式段,通常請求被轉發後,會停止當前JSP檔案的執行。(t)
    不確定

Servlet技術部分

  1. Servlet包含類包javax.servlet與javax.servlet.http。(f)
    Java Servlet API包含兩個基本的包:
    javax.servlet:提供控制Servlet生命週期所需的類和介面
    javax.servlet.http:提供處理與http相關操作的類和介面
    一般通過繼承javax.servlet.http.HttpServlet或javax.servlet.GenericServlet間
    接實現Servlet介面
  2. 在Servlet中系統自動解決中文顯示問題。(f)
  3. 如果用JDK直接編譯Servlet將引起程式錯誤。(t)
    Servlet本質上Java類,但是需要在特定的容器中才能執行(伺服器端)
  4. Session不可以與Servlet進行通訊。(f)
  5. Servlet和applet一樣都是執行在瀏覽器上的程式。(f)
  6. Servlet程序只有在Web Server解除安裝時被解除安裝。(t)
  7. 在編譯Servlet之前,無須像JDK一樣設定Classpath。(f)
    編寫一個servlet的步驟:
    1)編寫servlet的功能程式碼(實現功能的程式碼類)
    2)將servlet放在伺服器端編譯,生成對應servlet類檔案,將編譯成功的
    Servlet功能程式碼類檔案拷貝到當前專案的WEB-INF/classes目錄下
    3)在web.xml中新增對servlet的配置資訊:

servlet>

<servlet-name>HelloWorld</servlet-name>
<servlet-class>servlets.HelloWorld</servlet-class>

/servlet>
servlet-mapping>

<servlet-name> HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>

/servlet-mapping>

  1. 編寫Servlet程式以後,不需要進行任何配置就可以正常訪問。(f)
  2. doGet和doPost方法通常會丟擲兩個異常:ClassNotFoundException和ServletException。(f)
    丟擲IOException和ServletException
  3. Javax.servlet.GenericServlet類為java.lang.Object類的子類,並且實現了javax.servlet.Servlet介面、javax.servlet.ServletConfig介面和javax.io.Serializable介面。(t)

基礎部分

  1. JSP(Java Server Pages)是由Sun公司在Java語言開發出來的一種靜態網頁製作技術。(f)
  2. Charset=GB2312指明瞭頁面中html靜態內容的編碼方式。(t)
  3. Charset=GB2312指明瞭頁面中html動態內容的編碼方式。(f)
  4. 學習JSP並不需要學習JavaBean。(f)
  5. JSP的執行肯定要經過Servlet才能執行。(f)
  6. JSP就是ASP,它們沒什麼區別。(f)
  7. JSP不帶Session的管理。(f)
  8. 不能應用JSP製作聊天室。(f)
  9. JSP不帶Application處理。(f)
  10. 在JSP開頭並不需要<% page language=”java”%>這句話。(t)
    <%@ page language=”java” %>
  11. Myname與myname是同樣的兩個變數。(f)
  12. 靜態網頁的每個網頁都有一個固定的URL,且網頁URL以.html、.htm、.shtml等常見形式為副檔名,而不含“?”。(t)
  13. 靜態網頁的每個網頁都有一個固定的URL,且網頁URL以.html、.htm、.shtml等常見形式為副檔名,但可以包含“?”。(f)
  14. 通常,靜態網頁不需要資料庫的支援,而動態網頁卻需要資料庫的支援。(t)
  15. 通常,靜態網頁需要資料庫的支援,而動態網頁卻不需要資料庫的支援。(f)
  16. 動態網頁是指在接到使用者訪問要求後動態生成的頁面,頁面內容會隨著訪問時間和訪問者發生變化。(t)
  17. 靜態網頁實際上並不是獨立存在於伺服器上的網頁檔案,只有當用戶請求時伺服器才返回一個完整的網頁。(f)
    靜態頁面:不能自主釋出管理更新
    動態頁面:可以通過網站後臺管理下系統對內容進行更新管理
  18. CGI的中文全稱叫通用閘道器介面。(t)
  19. 一臺普通的計算機不需要做任何配置就可以成為Web伺服器。(f)
  20. 一臺普通的計算機要想成為Web伺服器,必須通過相應的程式(如IIS、PWS和Apache等)來實現。(t)
  21. JSP擁有Java語言“一次編寫,各處執行”的特點,幾乎可以執行在所有平臺上。(t)
  22. 運用JSP技術進行開發可以將內容的生成和顯示相分離。(t)
  23. 在維護方面,B/S結構的維護比C/S困難,維護開支更大。(f)
  24. 在安全性方面,B/S結構對安全的控制能力比C/S結構強。(f)
  25. 在重用性方面,B/S程式側重整體性考慮,構件的重用性不是很好,而C/S一般採用多重結構,要求構件相對獨立的功能,能夠相對較好地實現重用。(f)
  26. JSP頁面在第一次開啟時速度較慢,因為要將JSP檔案轉換成Servlet檔案。(t)
  27. 在伺服器端執行環境的搭建中,Tomcat既可以作為JSP引擎,也可以作為Web伺服器。(t)
  28. 在JDK環境變數的配置中,path的功能是說明java實用程式所在的位置。而CLASSPATH的功能是說明類和包檔案的搜尋路徑。(f)
    不明白
  29. .html檔案可以由瀏覽器直接解釋執行,而.jsp檔案不能由瀏覽器直接解釋執行,必須由JSP引擎解釋執行。(t)