av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

java語言

經(jīng)典Java、Web筆試題

時間:2025-06-05 01:54:21 java語言 我要投稿
  • 相關(guān)推薦

經(jīng)典Java、Web筆試題

  計(jì)算機(jī)知識對于很多人來說都是比較難以掌握的,為了加強(qiáng)大家的計(jì)算機(jī)知識學(xué)習(xí),今天百分網(wǎng)小編就整理了以下經(jīng)典Java、Web筆試題,歡迎學(xué)習(xí)!

經(jīng)典Java、Web筆試題

  1、Tomcat的優(yōu)化經(jīng)驗(yàn)

  答:去掉對web.xml的監(jiān)視,把jsp提前編輯成Servlet。

  有富余物理內(nèi)存的情況,加大tomcat使用的jvm的內(nèi)存

  2、HTTP請求的GET與POST方式的區(qū)別

  答:servlet有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。

  3、解釋一下什么是servlet;

  答:servlet有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。

  4、說一說Servlet的生命周期?

  答:servlet有良好的生存期的定義,包括加載和實(shí)例化、初始化、處理請求以及服務(wù)結(jié)束。這個生存期由javax.servlet.Servlet接口的init,service和destroy方法表達(dá)。

  Servlet被服務(wù)器實(shí)例化后,容器運(yùn)行其init方法,請求到達(dá)時運(yùn)行其service方法,service方法自動派遣運(yùn)行與請求對應(yīng)的doXXX方法(doGet,doPost)等,當(dāng)服務(wù)器決定將實(shí)例銷毀的時候調(diào)用其destroy方法。

  web容器加載servlet,生命周期開始。通過調(diào)用servlet的init()方法進(jìn)行servlet的初始化。通過調(diào)用service()方法實(shí)現(xiàn),根據(jù)請求的不同調(diào)用不同的do***()方法。結(jié)束服務(wù),web容器調(diào)用servlet的destroy()方法。

  5、Servlet的基本架構(gòu)

  public class ServletName extends HttpServlet {

  public void doPost(HttpServletRequest request, HttpServletResponse response) throws

  ServletException, IOException {

  }

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws

  ServletException, IOException {

  }

  }

  6、SERVLET API中forward() 與redirect()的區(qū)別?

  答:前者僅是容器中控制權(quán)的轉(zhuǎn)向,在客戶端瀏覽器地址欄中不會顯示出轉(zhuǎn)向后的地址;后者則是完全的跳轉(zhuǎn),瀏覽器將會得到跳轉(zhuǎn)的地址,并重新發(fā)送請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實(shí)際的鏈接。在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務(wù)器上的資源,則必須使用sendRedirect()方法。

  7、什么情況下調(diào)用doGet()和doPost()?

  Jsp頁面中的FORM標(biāo)簽里的method屬性為get時調(diào)用doGet(),為post時調(diào)用doPost()。

  8、Request對象的主要方法:

  setAttribute(String name,Object):設(shè)置名字為name的request的參數(shù)值

  getAttribute(String name):返回由name指定的屬性值

  getAttributeNames():返回request對象所有屬性的名字集合,結(jié)果是一個枚舉的實(shí)例

  getCookies():返回客戶端的所有Cookie對象,結(jié)果是一個Cookie數(shù)組

  getCharacterEncoding():返回請求中的字符編碼方式

  getContentLength():返回請求的Body的長度

  getHeader(String name):獲得HTTP協(xié)議定義的文件頭信息

  getHeaders(String name):返回指定名字的request Header的所有值,結(jié)果是一個枚舉的實(shí)例

  getHeaderNames():返回所以request Header的名字,結(jié)果是一個枚舉的實(shí)例

  getInputStream():返回請求的輸入流,用于獲得請求中的數(shù)據(jù)

  getMethod():獲得客戶端向服務(wù)器端傳送數(shù)據(jù)的方法

  getParameter(String name):獲得客戶端傳送給服務(wù)器端的有name指定的參數(shù)值

  getParameterNames():獲得客戶端傳送給服務(wù)器端的所有參數(shù)的名字,結(jié)果是一個枚舉的實(shí)例

  getParametervalues(String name):獲得有name指定的參數(shù)的所有值

  getProtocol():獲取客戶端向服務(wù)器端傳送數(shù)據(jù)所依據(jù)的協(xié)議名稱

  getQueryString():獲得查詢字符串

  getRequestURI():獲取發(fā)出請求字符串的客戶端地址

  getRemoteAddr():獲取客戶端的IP地址

  getRemoteHost():獲取客戶端的名字

  getSession([Boolean create]):返回和請求相關(guān)Session

  getServerName():獲取服務(wù)器的名字

  getServletPath():獲取客戶端所請求的腳本文件的路徑

  getServerPort():獲取服務(wù)器的端口號

  removeAttribute(String name):刪除請求中的一個屬性

  9、forward 和redirect的區(qū)別

  forward是服務(wù)器請求資源,服務(wù)器直接訪問目標(biāo)地址的URL,把那個URL的響應(yīng)內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務(wù)器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。 redirect就是服務(wù)端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新請求,所以session,request參數(shù)都可以獲取。

  10、request.getAttribute() 和 request.getParameter() 有何區(qū)別?

  11. jsp有哪些內(nèi)置對象?作用分別是什么? 分別有什么方法?

  答:JSP共有以下9個內(nèi)置的對象:

  request 用戶端請求,此請求會包含來自GET/POST請求的參數(shù)

  response 網(wǎng)頁傳回用戶端的回應(yīng)

  pageContext 網(wǎng)頁的屬性是在這里管理

  session 與請求有關(guān)的會話期

  application servlet 正在執(zhí)行的內(nèi)容

  out 用來傳送回應(yīng)的輸出

  config servlet的構(gòu)架部件

  page JSP網(wǎng)頁本身

  exception 針對錯誤網(wǎng)頁,未捕捉的例外

  request表示HttpServletRequest對象。它包含了有關(guān)瀏覽器請求的信息,并且提供了幾個用于獲取cookie, header,和session數(shù)據(jù)的有用的方法。

  response表示HttpServletResponse對象,并提供了幾個用于設(shè)置送回瀏覽器的響應(yīng)的方法(如cookies,頭信息等)

  o ut對象是javax.jsp.JspWriter的一個實(shí)例,并提供了幾個方法使你能用于向?yàn)g覽器回送輸出結(jié)果。

  pageContext表示一個javax.servlet.jsp.PageContext對象。它是用于方便存取各種范圍的名字空間、servlet相關(guān)的對象的API,并且包裝了通用的servlet相關(guān)功能的方法。

  session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態(tài)信息

  applicaton 表示一個javax.servle.ServletContext對象。這有助于查找有關(guān)servlet引擎和servlet環(huán)境的信息

  config表示一個javax.servlet.ServletConfig對象。該對象用于存取servlet實(shí)例的初始化參數(shù)。

  page表示從該頁面產(chǎn)生的一個servlet實(shí)例

  12. jsp有哪些動作?作用分別是什么?

  (這個問題似乎不重要,不明白為何有此題)

  答:JSP共有以下6種基本動作

  jsp:include:在頁面被請求的時候引入一個文件。

  jsp:useBean:尋找或者實(shí)例化一個JavaBean。

  jsp:setProperty:設(shè)置JavaBean的屬性。

  jsp:getProperty:輸出某個JavaBean的屬性。

  jsp:forward:把請求轉(zhuǎn)到一個新的頁面。

  jsp:plugin:根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED標(biāo)記

  13、JSP的常用指令

  isErrorPage(是否能使用Exception對象),isELIgnored(是否忽略表達(dá)式)

  14. JSP中動態(tài)INCLUDE與靜態(tài)INCLUDE的區(qū)別?

  答:動態(tài)INCLUDE用jsp:include動作實(shí)現(xiàn)

  它總是會檢查所含文件中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù)靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會檢查所含文件的變化,適用于包含靜態(tài)頁面

  15、兩種跳轉(zhuǎn)方式分別是什么?有什么區(qū)別?

  (下面的回答嚴(yán)重錯誤,應(yīng)該是想問forward和sendRedirect 的區(qū)別,畢竟出題的人不是專業(yè)搞文字藝術(shù)的人,可能表達(dá)能力并不見得很強(qiáng),用詞不一定精準(zhǔn),加之其自身的技術(shù)面也可能存在一些問題,不一定真正將他的意思表達(dá)清楚了,嚴(yán)格意思上來講,一些題目可能根本就無人能答,所以,答題時要掌握主動,只要把自己知道的表達(dá)清楚就夠了,而不要去推敲原始題目的具體含義是什么,不要一味想著是在答題)

  答:有兩種,分別為:

  前者頁面不會轉(zhuǎn)向include所指的頁面,只是顯示該頁的結(jié)果,主頁面還是原來的頁面。執(zhí)行完后還會回來,相當(dāng)于函數(shù)調(diào)用。并且可以帶參數(shù).后者完全轉(zhuǎn)向新頁面,不會再回來。相當(dāng)于go to 語句。

  16、頁面間對象傳遞的方法

  request,session,application,cookie等

  17、JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?

  JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是"類servlet"。Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。

  18、MVC的各個部分都有那些技術(shù)來實(shí)現(xiàn)?如何實(shí)現(xiàn)?

  答:MVC是Model-View-Controller的簡寫。Model 代表的是應(yīng)用的業(yè)務(wù)邏輯(通過JavaBean,EJB組件實(shí)現(xiàn)), View是應(yīng)用的表示面(由JSP頁面產(chǎn)生),Controller 是提供應(yīng)用的處理過程控制(一般是一個Servlet),通過這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用。

  19、我們在web應(yīng)用開發(fā)過程中經(jīng)常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串?

  Public String translate (String str) {

  String tempStr = "";

  try {

  tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");

  tempStr = tempStr.trim();

  }

  catch (Exception e) {

  System.err.println(e.getMessage());

  }

  return tempStr;

  }

  20.現(xiàn)在輸入n個數(shù)字,以逗號,分開;然后可選擇升或者降序排序;按提交鍵就在另一頁面顯示按什么排序,結(jié)果為,提供reset

  21. 實(shí)際項(xiàng)目開發(fā)

  22、在eclipse中調(diào)試時,怎樣查看一個變量的值?

  在要查看的變量前先設(shè)置斷點(diǎn),然后選中變量,右鍵選debug as-->Java Application,打開debug透視圖,這時在Variables窗口中可以看到變量當(dāng)前的值。

  如果是局部變量,也可以在局部變量窗口中查看。

  要知道一個方法被調(diào)用的方法調(diào)用鏈,可以在方法棧中查看。

  23、你們公司使用的代碼配置管理工具是什么?

  除了說以前使用cvs,現(xiàn)在新項(xiàng)目使用svn了,還簡要說一下使用的過程,如果有可能,還說說倉庫的概念和如何使用鎖之類的細(xì)節(jié)。

  24、你們的項(xiàng)目總金額多少,多少人開發(fā),總共花了多少個月?

  像巴巴運(yùn)動網(wǎng)這種規(guī)模的項(xiàng)目,可以說是4、5個人、開發(fā)了4、5個月,費(fèi)用則是4、50萬。按每人每月兩萬收入去計(jì)算,就差不多了。

【經(jīng)典Java、Web筆試題】相關(guān)文章:

Java與Java web的區(qū)別01-30

Java與Java web有什么不同04-16

java web基礎(chǔ)知識06-19

Java Web架構(gòu)知識匯總08-03

Java獲得web的根路徑方法08-11

java實(shí)現(xiàn)web服務(wù)器的方法05-20

Java模擬試題04-27

Java試題筆試題目05-24

Java Web項(xiàng)目中解決中文亂碼的方法05-01