javaweb面試2

                                               Web項目答辯問題 

1. css和div 開發的優勢? 
A、顯示和內容實現分離 
B、有利於搜索引擎搜索 
C、有利於維護和程序的擴展 
2. 談談頁面間的參數傳遞有哪些方式 ? 
A、通過作用域對象session、request 的setAttribute()和getAttribute()方法進行參數傳遞。 
B、<jsp:forward> 
        <jsp:param name= value=> 
   </jsp:forward> 
C、request.gerRequestDispatcher(“1.jsp?name=XX”).forward(request,response); 
D、<jsp:useBean id=  class= scope=request/session> 
3. hidden表單域有什麼作用? 
A、多個表單的區分 
B、多個提交按鈕 
4. jsp有哪些內置對象? 
pageContex,request,session,application,out,exception,config,page, 
5. request的作用有哪些? 
獲取客戶端傳遞的參數值 
獲取客戶端請求頭信息 
獲取會話 
獲取轉發對象 
可作爲容器使用, 利用setAttribute()和getAttribute()方法進行參數傳遞 
6. session有什麼作用。 
因爲http協議是無狀態的協議,但我們需要保存客戶端在多次請求之間狀態信息的時候,我們需要session來維護客戶端的狀態 
Session對象類似於一個容器,可以存放任何對象,以供不同頁面間共享數據 

7. application有什麼作用。 
保存的一些全局性的對象信息。 
8. 在jsp中怎樣操作page作用域 
特定於 JSP 的一個類型,代表當前的 JSP 頁面。pageContext.setAttribute(“java”,”lovo”); 
9. jsp有哪些動作?作用分別是什麼? 
<jsp:include />   包含 
<jsp:forward />  轉發到另一頁面相當於 
               request.getRequestDispatcher(“1.jsp?name=XX”).forward(request,response); 
<jsp:usebean />  設置javaBean 
<jsp:setProperty /> 設置屬性 
<jsp:getProperty />  獲得屬性 
<jsp:plugin />    設置插件 
10. java servlet api中forward() 與redirect()的區別? 
1. forward客戶端請求服務器一次,redirect請求服務器兩次,所以forward方式可以獲得request作用域的信息,而redirect方式不能獲得。 
2. forward由request對象發出,而redirect由response對象發起 
3. redirect()可以跨越不同的工程之間。而forward()只能在一個工程中使用 
11. class.forname的作用?爲什麼要用? 
加載類;一般使用這個方法是反射方式創建對象;從而可以將一些類信息寫在文件中,避免硬編碼,增加靈活性。 
12. 分頁是怎麼實現的? 
Select top 5 * from 表名 where id not in(select top 10 id from 表名) 
13. cookie被禁止後怎樣使用session? 
URL重寫,對所有頁面涉及的連接都使用url重寫方式。從而將JsessionID以參數的方式鏈接到URL後面。保證每次頁面提交時服務器都能獲得sessionID,從而維持和客戶端的狀態。 
14. 項目開發經歷了哪幾個階段? 
需求分析,設計(找用例,寫用例文本,找實體,編寫數據字典,畫數據流圖),編碼,測試,部署; 
15. 談談項目的體系統架構:(客戶層,表示層)web層,業務層,數據層? 
客戶層:IE瀏覽器,Applet小應用程序,在客戶度允許 
表示層:html靜態頁面,jsp頁面,servlet在服務器上運行; 
業務層:實現業務邏輯,服務器提供系統級服務,如事務管理,安全性,並非控制 
數據層:如dao部分,實現對數據的增刪改查等。 

16. J2EE規範中的組件技術在項目中用到了哪些? 
JDBC,jsp,servlet,javabean,xml,JNDI 
17. TCP/IP通訊和UDP通迅的區別? 
1) TCP/IP面向連接,可靠連接,UDP面向不連接,不可靠連接 
2) 建立連接經歷3次握手,udp無需連接,ip和port封裝在datagram數據包中,自尋址。 
18. 瀏覽器和WEB服務器是用什麼協議通迅的? 
應用層使用的是 HTTP協議,傳輸和路由使用的是TCP/IP 
19. 網絡通訊中,端口有什麼含義。端口的取值範圍? 
端口用於區分基於TCP/IP通訊的不同應用程序, 每個基於TCP/IP應用程序都會向操作系統申請註冊一個服務,這個服務用端口表示。本質上說,端口就是一段內存中的緩衝區。可以認爲是計算機與外界交流的出口。 
建議用戶使用的端口號 1024-----65535系統使用的端口範圍0 --- 1024 
20. 說出3個常見協議的默認端口。 
Web服務器80,ftp 21,telenet 23,smtp 25 
21. socket是什麼,它有什麼作用? 
Socket是通訊的端點,是客戶端和服務器進行通訊的端點 
22. TCP/IP通訊的基本步驟是什麼? 
基於TCP/IP通訊的程序:必須先建立和服務器端的連接,然後才能通訊。 
服務器端:ServerSocket  ss = new ServerSocket(port); 創建serverSocket對象 
          ss.accept()在port端口監聽,等待客戶端請求到來 
客戶端:  Socket s = new Socket(ip,port); 建立和服務器的連接;連接不成功,拋出異常 
          s.getOutputStream()和s.getInputStream()和向服務器發送請求信息和接收服務器返回的信息 
23. UDP通訊的基本步驟是什麼? 
1) 創建DatagramSocket對象 
2) 通過datagramSocket發送(接收)datagramPacket數據包 
3) 從datagramPacket數據包中取出接收和封裝要發送的數據 
24. JDBC訪問數據庫的基本步驟是什麼? 
1) 加載驅動 
2) 通過DriverManager對象獲取連接對象Connection 
3) 通過連接對象獲取會話 
4) 通過會話進行數據的增刪改查,封裝對象 
5) 關閉資源 
25. 說說preparedStatement和Statement的區別 
1) 效率:預編譯會話比普通會話對象,數據庫系統不會對相同的sql語句不會再次編譯 
2) 安全性,可以有效的避免sql注入***!sql注入***就是從客戶端輸入一些非法的特殊字符,而使服務器端在構造sql語句的時候仍然能夠正確構造,從而收集程序和服務器的信息和數據。 
比如:“select * from t_user where userName = ‘” + userName + “ ’ and password =’” + password + “’” 
如果用戶名和密碼輸入的是’1’ or ‘1’=’1’ ;  則生產的sql語句是: 
“select * from t_user where userName = ‘1’ or ‘1’ =’1’  and password =’1’  or ‘1’=’1’  這個語句中的where 部分沒有起到對數據篩選的作用。 
26. 說說事務的概念,在JDBC編程中處理事務的步驟。 
1) 事務是作爲單個邏輯工作單元執行的一系列操作。 
2) 一個邏輯工作單元必須有四個屬性,稱爲原子性、一致性、隔離性和持久性 (ACID) 屬性,只有這樣才能成爲一個事務 
事務處理步驟: 
3) conn.setAutoComit(false);設置提交方式爲手工提交 
4) conn.commit()提交事務 
5) 出現異常,回滾 conn.rollback(); 

27. 數據庫連接池的原理。爲什麼要使用連接池。 
1) 數據庫連接是一件費時的操作,連接池可以使多個操作共享一個連接。 
2) 數據庫連接池的基本思想就是爲數據庫連接建立一個“緩衝池”。預先在緩衝池中放入一定數量的連接,當需要建立數據庫連接時,只需從“緩衝池”中取出一個,使用完畢之後再放回去。我們可以通過設定連接池最大連接數來防止系統無盡的與數據庫連接。更爲重要的是我們可以通過連接池的管理機制監視數據庫的連接的數量?使用情況,爲系統開發?測試及性能調整提供依據。 
3) 使用連接池是爲了提高對數據庫連接資源的管理 
28. 談談DAO模式的原理的作用。 
DAO是一種設計模式 
包括三個部分1)DAO接口 
2)DAO接口實現類, 
3)PO持久化對象,它和數據庫相對應 
29. servlet和jsp有什麼關係? 
       Servlet和JSP都是服務器的組件。 
       Servlet是一個接口,也是SUN公司提出的一種用戶和WEB容器之間通信的標準。由用戶實現其中的service()方法供WEB容器進行調用,從而實現servlet和WEB容器之間的交互。所以當用戶要和WEB容器通信時必須實現這種標準。而JSP規範規定,由容器翻譯好的JAVA類必須實現HttpJspPage接口,而這個接口是servlet的子接口,從這個意義上說,JSP的本質還是servlet。 
      JSP重在表示,解決了servlet頁面輸出困難的問題。而servlet重在業務處理,避免在頁面出現過多的業務處理帶來的閱讀性和維護性的困難。它們可以很好的結合。 
      Servlet編寫後需要在WEB應用的web.xml進行註冊,從而能讓WEB容器識別用戶編碼的Servlet。但JSP由容器來管理,所以無需註冊。 
30. jsp是如何被容器調用和執行的? 
1)由JSP引擎將JSP頁面翻譯成JAVA代碼 
2)將JAVA代碼編譯成class字節碼文件 
3)加載到容器 
4)由容器實例化成對象 
5)初始化階段相關的方法是jspInit() 
6)請求到達,調用服務階段相關的方法是_jspService() 
7)銷燬階段相關的方法是jspDestroy() 
31. 編寫一個servlet的步驟。 
1)新建一個類繼承於HttpServlet 
2) 重寫其中的doGet和doPost方法 
3)完成servlet的註冊。在web.xml中加入<serlvet><servlet-mapping>標記 
32. doGet和doPost方法各有什麼作用? 
doGet完成Get方式的請求處理。doPost完成Post方式請求處理 
33. 爲什麼要爲servlet配置URL映射? 
Servlet註冊包括兩部分,第一,容器如何找到Servlet,利用 
<servlet> 
     <servlet-name></servlet-name>Servlet名字 
     <servlet-class></servlet-class>Servlet類的全路徑 
</servlet> 
完成。 
第二,客戶端如何找到當前的Servlet。利用 
<servlet-mapping> 
     <servlet-name></servlet-name>Servlet名字 
     <url-pattern></ url-pattern >客戶端請求路徑 
</servlet-mapping> 
完成。 
配置URL的主要作用是客戶端通過什麼路徑能去找到Servlet 
34. servlet的類架構是什麼樣的。 
Servlet是Sun公司提供的用戶和WEB服務器通訊的接口,所有Servlet都必須實現這個接口。J2EE API中提供了一個類GenericServlet對Servlet接口作了簡單的實現。同時,這個類還實現了ServletConfig接口。來對Servlet進行一些配置。GenericServlet有一個專門針對於Http協議進行實現的一個子類HttpServlet。 
35. 談談servlet的生命週期? 
1)容器裝載並實例化Servlet 
2) 調用init()方法完成Servlet初始化 
3)當請求到達時,調用service()方法處理請求,產生響應 
4)銷燬階段調用destroy()方法完成清理工作。 
36. servlet是線程安全的嗎?爲什麼? 
不安全。因爲Servlet對象在整個過程中,至始至終只有一個對象。以節約服務器資源的消耗,這就意味着很多個線程會同時訪問一個Servlet對象。所以線程不安全。 
37. 你是如何處理servlet線程安全問題的? 
解決Servlet線程安全問題方法有三種 
1)編寫Servlet類的時候,實現SingleThreadModel接口,將Servlet變成單線程機制。 
2)涉及對共享資源訪問的時候,使用synchronized同步加鎖,實現共享資源的保護。 
3)儘量不在Servlet中定義成員變量,使用局部變量。 
三種方法中,最好使用第三種,這樣線程安全,並且性能最高。 
38. 如何得到客戶端的請求參數? 
request.getParameter()單個數據 
request.getParameterValues()一組數據 
request.getParameterMap()返回所有的鍵值對 
39. request.getParameter和request.getParameterValues的區別,它們的返回值是什麼類型? 
     request.getParameter獲得單個表單的數據。返回值是String類型。而request.getParameterValues()是獲得表單元素名相同的一組數據。返回值是String[]數組。 
40. response對象的作用? 
Response對象是對服務器的響應信息作出的一個封裝對象。主要作用有: 
1)可以從response中獲得輸出流對象,從而可以向客戶端輸出信息 
2)可以實現重定向,response.sendRedirect(); 
3) 可以設置響應頭和狀態碼。 
4)可以實現URL重寫 
41. request對象的作用範圍是什麼? 
一次請求響應完成後,就會銷燬。 
42. session對象的作用範圍是什麼 
在一個用戶會話期間有效。 
43. application對象的作用範圍是什麼。 
存在於整個web應用。當WEB容器關閉時,纔會銷燬 
44. session對象是什麼時候產生的,什麼時候銷燬的? 
當用戶訪問web容器,而容器調用了request.getSession()方法後,產生Session對象。用以保存客戶端在服務器上的信息。同時給這個Session分配一個唯一的標識ID。併產生一個set-cookies的響應頭,以JsessionID作爲鍵,標識ID作爲值向客戶端的cookie中寫入內容,當客戶端下次再發出請求時,就會將這個JsessionID以請求頭的方式向服務器進行發送。而容器讀取了JsessionID請求頭後,就會根據這個ID找到相對應的Session對象,從而維持服務器和客戶端的狀態。 
銷燬session方法有三種 
1)session超時 
2)調用session對象的invalidate()方法 
3)web容器關閉或崩潰 
程序能控制是前二種。 

45. 項目中用到了session對象嗎,在哪裏用到的? 
登陸時,使用session保持用戶信息。購物車製作時,使用session保持用戶的購物信息 
46. session和cookie有什麼區別。 
1) session保存在服務器,客戶端不知道它的信息;而cookie保存在客戶端,服務器知道其中的信息。 
2) session中 保存的是對象,而cookie中保存的是字符串 
3) session是不能區分路徑的,同一個客戶在訪問web服務器之間,在任何地方都能夠訪問得到session中保存的信息的。而cookie如果設置了路徑參數,同一個網站下的不同路徑的cookie互相是訪問不到的。 
4) session是以cookie或URL重寫爲基礎的,默認使用cookie來實現,系統會創造一個名爲JSESSIONID的輸出cookie,我們叫做session cookie,以區別persistent cookies,也就是我們通常所說的cookie,注意session cookie是存儲於瀏覽器內存中的,並不是寫到硬盤上的,這也就是我們剛纔看到的JSESSIONID,我們通常情是看不到JSESSIONID的,但是當我們把瀏覽器的cookie禁止後,web服務器會採用URL重寫的方式傳遞Sessionid,我們就可以在地址欄看到sessionid=KWJHUG6JJM65HS2K6之類的字符串。 
47. .Http協議是無狀態的,服務器是用什麼方式爲一個客戶端保存狀態的? 
Hidden表單域   cookie   session   URL重寫 
48. servlet或jsp能同時響應多個客戶端的請求嗎?是通過什麼方式做到的? 
能夠。多線程 
49. 請簡述servlet多線程的實現方式? 
每次客戶端請求過來的時候,WEB容器會產生一個線程來處理這個請求,這樣就實現了servlet多線程。 
50. 在servlet中定義成員變量(全局變量),有線程安全問題嗎?如何處理? 
有。避免使用實例變量是保證servlet線程安全的最佳選擇。每個線程有自己私有的棧空間,方法中的臨時變量是在棧上分配空間,他們不會影響線程的安全。 
51. 請求轉發和重定向的區別。 
1) 內部轉發客戶端向服務器發起一次請求,重定向客戶端向服務器發出兩次請求 
2) 內部轉發由request對象發起,重定向是response發起的 
3) 內部轉發不會引起地址欄的變化,而重定向會導致地址欄變化 
52. JSP中動態包含和靜態包含的區別。 
1) 靜態包含在轉換成爲java文件的時候將要包含的文件包含進來,作爲一個整體編譯。動態包含是各個包含文件分別轉換,分別編譯。 
2) 靜態包含在兩個文件中不能有相同的變量,動態包含允許 
3) 靜態包含只能包含文件,動態包含還可以包含servlet輸出的結果 
4) 靜態包含不能使用變量作爲文件名,動態包含可以使用變量作爲文件名 
5) 動態包含文件發生變化,包含文件會感知變化。 


53. 談談MVC設計模式的概念,使用MVC的好處。 
M模型層:模型層專注於處理業務邏輯和業務數據,它可以爲多個視圖準備數據,提高了應用的可重用性。 
V視圖層:用戶看到的並與系統交互的界面,接收用戶數據,向用戶顯示相關的數據。 
C控制層:是模型層和視圖層聯繫的紐帶;接收視圖層提交的請求,調用模型層的業務邏輯,根據業務邏輯的調用結果,控制系統轉發的頁面。 
MVC模式的好處:實現了業務邏輯和界面顯示處理的分離;J2EE架構實現了業務邏輯和數據存儲的分離,界面顯示和業務邏輯的分離。各層之間不受影響。 
54. 模式1和模式2和區別。 
模式1:jsp+javabean 
模式2:jsp+servlet+javabean 
55. 你的項目中建有多少張表,字段最多的表是哪一張?每張表裏都有些什麼字段? 
56. 說說你項目開發的流程? 
57. 說說你所開發模塊的業務流程,業務是什麼? 
58. 談談監聽器的原理、配置及使用。你在項目中是怎麼用的? 
用於監聽請求,會話,上下文件對象相關事件,並在事件發生後作出處理。 
只要寫一個類實現相應的監聽器接口,就寫了一個相應的監聽處理類。 
在web.xml中使用<listener><listener-class></listener-class></listener> 
59. 談談過濾器的原理,配置及使用。有多個過濾器如何進行配置? 
過濾器允許你攔截請求,還可以允許你控制響應。還可以能夠對請求頭、響應頭、消息體的數據進行更改。同時,還可以對返回的流信息進行壓縮。項目中使用字符編碼格式的處理使用了過濾器和包裝器。過濾器需要在web.xml容器中進行註冊,才能被web容器識別 
<filter><filter-name></filter-name><filter-class><filter-class></filter> 
<filter-mapping><filter-name></filter-name> 
<url-pattern></url-pattern >(<servlet-name></servlet-name>)</filter-mapping > 

如果有多個過濾器優先執行url-pattern,再執行servlet-name;如果有多個url-pattern按web.xml佈署順序執行。 
60. 你在項目中的角色是什麼,你是如何進行工作的? 
61. 你所做的工作,如何和小組其它人員所做的工作進行協調(數據庫設計、程序模塊編寫等兩個方面來說); 
62. 一個頁面中有兩個form,如何處理提交? 
可以使用提交按鈕的名稱來判斷,也可以使用hidden隱藏表單進行值的區分。 
63. web項目與java項目有什麼區別? 
64. 不用eclipse,如何手工發佈tomcat項目? 
65. MVC模式在項目中,都是怎麼用的? 
    
66. 請談談請求轉發的原理? 
請求轉發是針對同一工程下資源的轉發。客戶端在這個過程中,只請求服務器一次,請求轉發由request.getRequestDispather(“”).forward(request,response). 
67. 請說明重定向的原理? 
重定向由response發起。當用戶請求服務器時,由服務器向客戶端發送一個302的狀態碼,併產生一個Location的響應頭。當客戶端接受到這樣的狀態碼時,會馬上讀取Location響應頭,並將地址欄改爲Location裏的內容。然後再向服務器發出請求。這個過程中客戶端發出了兩次請求。並可向不同的服務器發送請求。 
68. 你是否從其它人的表中調用數據,如何進行協調? 
69. 在家開發的模塊,如何拿到公司與小組成員的進行合併? 
70. 你在項目中是如何處理亂碼的? 
1) 使用過濾器和包裝器設置統一的字符編碼格式。 
2) 頁面使用統一的編碼格式<%@page contentType=”text/html;charset=utf-8”%> 
71. 談談項目中分頁的實現? 
    select top "+ count+" * from t_info where id not in(select top " 
+(page-1)* count+" id from t_info) 
72. CSS有哪幾中選擇器?有什麼區別? 
類選擇器  ID選擇器  元素選擇器 
73. 你在web項目中,數據共享有哪些方式 ?如果實現的? 
Request,session,application(servletContext).   通過setAttribute和getAttribute實現 
74. 項目各個階段會產生什麼樣的文檔?都有什麼作用? 
75. 項目結構是如何劃分的?應該注意些什麼? 
76. servlet中,如何取得HTTP頭信息? 
Request.getHeader(); 
Request.getHeaders(); 

77. servlet程序中,可以獲得客戶機的IP地址嗎?如何得到? 
request.getRemoteAddr(); request.getRemoteHost(),request.getRemotePort(),request.getRemoteUser 
78. URL與URI的區別? 
    url:統一資源定位符, url定位客戶端連接到服務器所需要的信息 
uri:統一資源標誌符: 
    uri是url的一部分,沒有域名和查詢字符串,即域名之後查詢字符串之前所有的信息,用於指定資源 
79. servlet中的service方法在什麼時候調用? 
每一次客戶端請求一個servlet資源的時候,由web容器調用。 
80. 文件上傳的原理是什麼? 
<form method=POST, enctype=”multipart/form-data” action=””> 
<input type=file name=filesss /> 
    瀏覽器會把 文件內容連同 form的所有字段 格式化後傳遞到服務器,以二進制方式讀取流後,就不能以request.getParameter的方式讀取表單中的參數信息了。 
81. 文件上傳的form編寫中,應該注意些什麼? 
    enctype=multipart/form-data method=post 
82. 在項目中,文件上傳到服務器上後,你是怎麼處理的? 
使用request.getInputStream()獲得字節流,然後將字節流寫入文件。 
83. 如何打包一個web項目? 
Jar  –cf   xx.war  WEB-INF  *.html  *.jsp  *.jpg 
84. MIME的作用是什麼? 
告訴客戶端瀏覽器你返回的內容是哪一種類型的,讓瀏覽器採取相應的策略來顯示處理你返回的文檔或者文件。 
85. tomcat容器是如何創建servlet類實例?用到了什麼原理? 
當容器啓動時,會讀取在webapps目錄下所有的web應用中的web.xml文件,然後對xml文件進行解析,並讀取servlet註冊信息。然後,將每個應用中註冊的servlet類都進行加載,並通過反射的方式實例化。(有時候也是在第一次請求時實例化) 
在servlet註冊時加上<load-on-startup>1</load-on-startup>如果爲正數,則在一開始就實例化,如果不寫或爲負數,則第一次請求實例化。 
86. servlet構造函數中可以執行初始化代碼,爲什麼還要init方法呢? 
如果在servlet構造函數中放置初始化代碼,很容易導致servlet實例的創建失敗。這樣會導致Servlet無法響應客戶端的請求 
87. HttpServletRequest和HttpServletResponse是在哪裏創建的? 
當客戶端請求到來的時候,由web容器創建。 
88. 如何在一個servlet中,把頁面轉到www.qq.com.頁面中。 
Response.sendRedirect(“http://www.qq.com”); 
89. ServletRequest與HttpServletRequest有什麼區別與聯繫? 
ServletRequest是HttpServletRequest的父接口,HttpServletRequest是特別針對Http協議而定義的接口,裏面定義了得到http協議請求信息的方法。 
90. servlet中如何到得項目的絕對路徑? 
Request.getContextPath(); 
91. jsp中taglib指令的作用是什麼? 
這個指令是標籤庫指令。指示標籤庫的邏輯路徑,以及標籤庫的使用前綴。 
使用taglib指令<%@taglib uri=””  prefix=””  %> 
92. 文件下載如何實現?如何保證授權用戶的下載? 
1) 設置setContextType(),MIME類型。 
2) 打開文件,按照二進制流的方式將字節數發往客戶端。 
93. 在servlet中,如何得到web.xml中配置的初始化參數? 
      ServletConfig.getInitParameter() 
94. 在doGet方法中,使用synchronized會產生什麼樣的後果? 
這是由於對共享資源的訪問而採取的線程安全措施,但是在多線程環境下,同步加鎖會帶來性能的下降。 
95. 如何進行URL重寫?要用到什麼方法? 
當客戶端禁用cookie後,服務器的sessionID就無法發送給客戶端。從而無法維持和客戶端的狀態。解決方法是,對鏈接重新編碼。在鏈接產生時,在鏈接後面加上一個JsessionID用以維持客戶端和服務器的狀態 
Response.encodeURL(); 
96. session如何過期?項目中該怎麼應用? 
setMaxInternalTime(); session.invalide();…. 
在web.xml中加入 
<session-config> 
        <session-timeout>30</session-timeout> 
</session-config> 
97. tomcat容器的作用是什麼? 
   a) 通信支持: 
   b) 生命週期管理。 
   c) 多線程支持: 
   d) jsp支持 
   e) 安全性管理 
98. 在servlet中,怎麼直接往客戶端輸出信息? 
out = response.getWriter(),  out = response.getOutputStream(). 
99. 直接在jsp中調用DAO的方法,並顯示數據,可以嗎?這種方式有什麼缺點? 
可以在jsp中調用DAO的方法,顯示數據。但是這種方式使得數據顯示和數據持久化混雜在一起,不利於代碼的維護。使得數據操作和頁面顯示耦合在了一起。 
100. jsp中的import指令有什麼作用? 
導入在jsp中要使用的類文件。 
101. 如何在jsp中使用bean? 
使用javabean。 
<jsp:userBean  id=  class=  />設置JavaBean 
<jsp:setProperty name=  property=  value=>設置JavaBean屬性值 
<jsp:getProperty name=  property=  >獲得JavaBean屬性值 

102. 請寫出DAO中,針對User的CRUD方法設計。 
Public void save(BookInfoPO po); 
Public void update(BookInfoPO po); 
Public void del(int  id); 
Public List  findAll(); 

103. 發佈項目時,把一jsp文件放到webroot下,與放在web-inf下,有什麼區別? 
因爲web-inf下,應用服務器把它指爲禁訪目錄,即直接在瀏覽器裏是不能訪問到的.   
  但是可以讓servlet進行訪問,如web-inf下有a.jsp則可以用  request.getRequestDispatcher("/WEB-INF/a.jsp").forward(request,response);  
<jsp:forward page="/WEB-INF/a.jsp"></jsp:forward> 
104. web.xml中welcome-file配置項的作用是什麼? 
當我們在訪問web應用時,如果沒有指定訪問的頁面的時候,會自動定向到welcome-file所指定的頁面 
105. servlet中的response.sendError的作用是什麼? 
這是設置響應信息中狀態碼的方法。當我們使用response.sendError(404,”file  not  found”);之後就是發送了一個404的狀態碼,並作了狀態碼的描述。瀏覽器接受了狀態碼後,就可對不同的狀態碼作出相應的處理。 
106. 如何用過濾器實現用戶登錄認證? 
107. xml有什麼作用? 
108. 請說明什麼是格式良好的xml文檔? 
109. 請說明什麼是格式有效的xml文檔? 
110. 一個格式良好的xml文檔有哪些規範?請列舉? 
111. DTD和schema有什麼作用?兩者什麼區別? 
112. 請談談你所知道的xml解析方式? 
113. 不使用eclipse,如何啓動tomcat? 
114. jstl是什麼? 
標準標籤庫,對於在JSP頁面上的JAVA常用的代碼作出了一些封裝,並以標記的格式顯示。從而避免在JSP頁面上直接寫入java代碼,增加頁面的可讀性和可維護性。 
115. 對客戶輸入的數據,可以在哪些方面對數據格式的合法性進行驗證? 
在服務器端寫入方法對客戶端的數據進行合性性驗證。主要有長度判斷,正規表達式等等。 
116. 在web項目中,如何配置出錯頁面? 
在web.xml中寫入: 
<error-page> 
<error-code>404</error-code> 
<location>/error.jsp</location> 
   <error-page> 
117. 任意抽取一段學生所寫的代碼,談談這段代碼的作用。 
118. ajax的基本原理是什麼。 
Javascript + asynchornors + xml 異步向服務器發起請求,AJAX可以像桌面應用程序一樣只同服務器進行數據交換,卻不用每次都刷新界面,也不用每次將數據處理的工作都交給服務器來做;這樣既可減輕服務器負擔又加快了響應速度、縮短了用戶等待時間。 
119. 119、jsp和javascript的區別? 
Jsp是服務器端的動態網頁技術,javascrip是操作客戶端瀏覽器上元素的語言。 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章