成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

我要投稿 投訴建議

java面試筆試題 WEB

時(shí)間:2023-02-16 15:30:58 面試試題 我要投稿
  • 相關(guān)推薦

java面試筆試題 (WEB)

  1. jsp有哪些內(nèi)置對(duì)象?作用分別是什么?

java面試筆試題 (WEB)

  一共有9個(gè)內(nèi)置對(duì)象

  pageContext javax.servlet.jsp.pageContext

  request javax.servlet.http.HttpServletRequest

  response javax.servlet.http.HttpServletResponse

  session javax.servlet.http.HttpSession

  application javax.servlet.ServletContext àthis.getServletContext()

  config javax.serlvet.ServletConfig

  exception java.lang.Throwable

  page java.lang.Object

  out javax.servlet.jsp.JspWriter

  作用:

  1、pageContext 表示頁(yè)容器 àEL表達(dá)式、 標(biāo)簽 、上傳

  2、request 服務(wù)器端取得客戶端的信息:頭信息 、Cookie 、請(qǐng)求參數(shù) ,最大用處在MVC設(shè)計(jì)模式上

  3、response 服務(wù)器端回應(yīng)客戶端信息:Cookie、重定向

  4、session 表示每一個(gè)用戶,用于登錄驗(yàn)證上

  5、application 表示整個(gè)服務(wù)器

  6、config 取得初始化參數(shù),初始化參數(shù)在web.xml文件中配置

  7、exception 表示的是錯(cuò)誤頁(yè)的處理操作

  8、page 如同this一樣,代表整個(gè)jsp頁(yè)面自身

  9、out 輸出 ,但是盡量使用表達(dá)式輸出

  2. jsp有哪些動(dòng)作?作用分別是什么?

  jsp共有以下6中基本動(dòng)作

  :在頁(yè)面被請(qǐng)求的時(shí)候包含一個(gè)文件

  :尋找或者實(shí)例化一個(gè)javaBean

  :設(shè)置javaBean的屬性,通過(guò)反射調(diào)用方法

  :取得某個(gè)javaBean的屬性

  :把請(qǐng)求轉(zhuǎn)到一個(gè)新的頁(yè)面

  :插入Applet程序的代碼

  :用于傳參數(shù),和forward一起使用

  3. jsp 中動(dòng)態(tài)INCLUDE和靜態(tài)INCLUDE 的區(qū)別?

  動(dòng)態(tài)INCLUDE 用動(dòng)作實(shí)現(xiàn):

   如果包含的是動(dòng)態(tài)頁(yè),則先編譯之后再進(jìn)行處理,它總是會(huì)檢查所包含文件中的變化,并且可以帶參數(shù)

  靜態(tài)INCLUDE用<%@ include %>偽碼實(shí)現(xiàn):

  <%@ include file=”include.jsp” %> 直接將內(nèi)容先包含后處理,它不會(huì)檢查所包含的文件的變化,適用于包含靜態(tài)頁(yè)面

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

  客戶端跳轉(zhuǎn):跳轉(zhuǎn)之后地址欄不改變,執(zhí)行完頁(yè)面后不會(huì)轉(zhuǎn)向還會(huì)回來(lái),相當(dāng)于函數(shù)調(diào)用,并且可以傳遞request屬性,實(shí)際上是對(duì)RequestDispatcher接口的封裝

  服務(wù)器端跳轉(zhuǎn):response.sendRedirect(),跳轉(zhuǎn)之后地址欄改變,完全轉(zhuǎn)向新的頁(yè)面,不會(huì)再回來(lái),相當(dāng)于go to 語(yǔ)句。

  5. 請(qǐng)總結(jié)一下WEB開(kāi)發(fā)中的會(huì)話跟蹤實(shí)現(xiàn)

  1、 Session也是最常用的一種

  2、 Cookie

  3、 地址重寫(xiě)

  4、 隱藏域

  6. 在Web開(kāi)發(fā)中需要處理HTML標(biāo)記時(shí),應(yīng)做什么樣的處理,要篩選哪些字符

  (< > & “ ‘ 空格 乘號(hào) 除號(hào) .........)

  因?yàn)橐陨系臉?biāo)記都屬于HTML范疇的內(nèi)容,所以必須進(jìn)行轉(zhuǎn)義操作

  顯示效果 符號(hào)說(shuō)明 實(shí)體名表示 實(shí)體編號(hào)表示

  空格符    

  < 小于號(hào) < <

  > 大于號(hào) > >

  & 符號(hào)& & &

  “ 雙引號(hào) " "

  C 版權(quán)符號(hào) © &169;

  R 注冊(cè)商標(biāo) ® ®

  × 乘號(hào) × ×

  ÷ 除號(hào) ÷ ÷

  ‘ 單引號(hào) ´

  7. 說(shuō)明Jsp中errorpage的作用域,應(yīng)用范圍

  表示錯(cuò)誤頁(yè)的操作,在一般的站點(diǎn)中,只要一個(gè)程序出現(xiàn)了錯(cuò)誤,就是產(chǎn)生了異常,則可以統(tǒng)一跳轉(zhuǎn)到一個(gè)頁(yè)面上進(jìn)行顯示,那么這種操作就屬于錯(cuò)誤頁(yè)的處理,但是簡(jiǎn)單的錯(cuò)誤頁(yè)基本上都是在Jsp的開(kāi)發(fā)中使用的。要想進(jìn)行錯(cuò)誤頁(yè)的設(shè)置,需要滿足以下兩個(gè)條件:

  1. 在錯(cuò)誤能夠處理的頁(yè)上的page指令中,增加:isErrorpage=”true”,表示可以處理錯(cuò)誤

  2. 在每一個(gè)頁(yè)面指定errorpage,執(zhí)行isErrorpage為true的頁(yè)面。

  如果現(xiàn)在希望能夠配置一種全局的錯(cuò)誤處理的話,則可以在Web.xml文件中進(jìn)行配置

  

  404

  /errors.jsp

  

  

  java.lang.NullpointerException

  /errors.jsp

  

  一旦出現(xiàn)錯(cuò)誤之后,會(huì)自動(dòng)跳轉(zhuǎn)到指定的頁(yè)面,但是這樣的跳轉(zhuǎn),永遠(yuǎn)都是屬于服務(wù)器端跳轉(zhuǎn)

  8. 寫(xiě)一段JDBC連接Oracle的程序,并實(shí)現(xiàn)數(shù)據(jù)查詢。

  package com.jdbc;

  //import java.sql.*;

  import java.sql.Connection;

  import java.sql.DriverManager;

  import java.sql.preparedStatement;

  import java.sql.ResultSet;

  import java.sql.SQLException;

  import java.sql.Statement;

  public class TestJdbc {

  public static void main(String[] args) {

  String url = "jdbc:oracle:thin:@localhost:1521:orcl";

  String username = "lanlan"; //scott

  String password = "123456"; //tiger

  String sql = "select * from users t";

  try {

  Class.forName("oracle.jdbc.driver.OracleDriver");

  Connection conn = DriverManager.getConnection(url, username, password);

  // preparedStatement pstmt = conn.prepareStatement(sql);

  // ResultSet rs = pstmt.executeQuery();

  Statement stmt = conn.createStatement();

  ResultSet rs = stmt.executeQuery(sql);

  while (rs.next()) {

  System.out.println(rs.getInt("id"));

  System.out.println(rs.getString("username"));

  System.out.println(rs.getString("password"));

  }

  rs.close();

  stmt.close();

  // pstmt.close();

  conn.close();

  } catch (ClassNotFoundException e) {

  e.printStackTrace();

  } catch (SQLException e) {

  e.printStackTrace();

  }

  }

  }

  9. Class.forName 的作用?為什么要用?

  Class.forName(xxx.xx.xx) 返回的是一個(gè)類

  Class.forName(xxx.xx.xx)的作用是要求JVM查找并加載指定的類,也就是說(shuō)JVM會(huì)執(zhí)行該類的靜態(tài)代碼段

  10. 簡(jiǎn)述在JSp中是如何實(shí)現(xiàn)分頁(yè)操作的?

  分頁(yè)有兩種情況:

  真分頁(yè):性能高,是基于數(shù)據(jù)庫(kù)的操作,只是從數(shù)據(jù)庫(kù)中取出部分的數(shù)據(jù)進(jìn)行顯示,所以性能高,但是可移植性低

  假分頁(yè):性能低,是將全部的結(jié)果查詢出來(lái),之后依靠算法分頁(yè),只顯示部分?jǐn)?shù)據(jù),因?yàn)槭褂昧送ㄓ玫恼Z(yǔ)法,所以可移植性高

  真分頁(yè)實(shí)現(xiàn)原理:

  1.定義一系列的變量:currentpage(當(dāng)前頁(yè)) showResultNumber(每頁(yè)顯示記錄數(shù)),

  并通過(guò)查詢求出countResultNumber(總記錄數(shù))求出countpage(總頁(yè)數(shù))

  |- countpage=(countResultNumber-1)/showResultNumber+1

  2.然后根據(jù)currentpage 和 showResultNumber到數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)

  |- Oracle中用rownumber MySql中用limit()

  3.然后在表單中不斷地修改currentpage和showResutlNumber就可以實(shí)現(xiàn)分頁(yè)

  11. 介紹在JSp中如何使用javaBeans

  1. javaBean的格式要求:必須有包、public calss 聲明、屬性封裝、無(wú)參的構(gòu)造函數(shù)、setter() 和getter()方法

  2. jsp中導(dǎo)入javaBean:

  使用import導(dǎo)入 如:

  <%@ page import="com.model.User" %>

  使用 導(dǎo)入如:

  

  12. 說(shuō)一說(shuō)什么是Servlet 和Servlet的生命周期?

  什么是Servlet:

  Servlet是用Java編寫(xiě)的服務(wù)端程序,它與協(xié)議和平臺(tái)無(wú)關(guān)。Servlet運(yùn)行于Java-enabled Web Server中。Servlet可以動(dòng)態(tài)地?cái)U(kuò)展Server的能力,并采用 請(qǐng)求-響應(yīng) 模式提供Web服務(wù)。

  Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。這個(gè)過(guò)程為:

  1.客戶端發(fā)送請(qǐng)求至服務(wù)器端;

  2.服務(wù)器將請(qǐng)求信息發(fā)送至Servlet

  3.Servlet生成響應(yīng)內(nèi)容并將其傳給Server。響應(yīng)內(nèi)容動(dòng)態(tài)生成,通常取決于客戶端的請(qǐng)求

  4.服務(wù)器將響應(yīng)返回給客戶端

  Servlet的生命周期:

  加載

  初始化:(由應(yīng)用服務(wù)器Tomcat創(chuàng)建)

  正常一次,對(duì)應(yīng) init()方法,有兩個(gè) init()方法,其中一個(gè)是具有ServletConfig對(duì)象,此方法存在則無(wú)參不調(diào)用,Servlet對(duì)象是由應(yīng)用服務(wù)器在第一次使用的時(shí)候創(chuàng)建,一個(gè)Servlet只有一個(gè)Servlet對(duì)象存在。也可以通過(guò)在web.xml文件中配置在容器啟動(dòng)的時(shí)候自動(dòng)進(jìn)行初始化操作

  服務(wù):

  服務(wù)多次,所有的服務(wù)都由service()方法分配,包括 dopost() 和doGet(),分別處理post和get 請(qǐng)求

  銷毀:

  正常一次,調(diào)用destroy()方法,當(dāng)重新加載或者關(guān)閉應(yīng)用服務(wù)器的時(shí)候應(yīng)用服務(wù)器會(huì)銷毀Servlet對(duì)象,如果一個(gè)Servlet長(zhǎng)時(shí)間不使用,也會(huì)自動(dòng)銷毀,而當(dāng)再次使用的時(shí)候就必須重新進(jìn)行初始化的操作

  卸載

  13. Servlet中forward()與sendRedirect()的區(qū)別?

  forward()方法是RequestDispatcher接口定義的,而sendRedirect()是response定義的,sendRedirect()是服務(wù)器端的跳轉(zhuǎn),forward()是客戶端的跳轉(zhuǎn)

  14. MVC的各個(gè)部分都有哪些技術(shù)來(lái)實(shí)現(xiàn)?如何實(shí)現(xiàn)?

  1.面向事件驅(qū)動(dòng)的(JSF)

  2.面向請(qǐng)求驅(qū)動(dòng)的(Struts1.X,Struts2.X,WebWork)

  · MVC: Model 、View 、Controller

  |- Model(模型)JavaBean:業(yè)務(wù)處理、數(shù)據(jù)處理

  |- View(視圖)JSp:最好不存在scriptlet,可以使用標(biāo)簽消除

  |- Controller(控制器):接受View提交的內(nèi)容并調(diào)用JavaBean,并根據(jù)JavaBean的處理結(jié)果進(jìn)行跳轉(zhuǎn)

  ·實(shí)現(xiàn)原理:

  所有的JSp將內(nèi)容提交給Servlet,Servlet接收這些內(nèi)容并調(diào)用相對(duì)應(yīng)的JavaBean進(jìn)行業(yè)務(wù)及數(shù)據(jù)的處理,完成業(yè)務(wù)的操作流程。Servlet調(diào)用的只是接口,并根據(jù)這些接口的操作結(jié)果將內(nèi)容交給JSp顯示,在顯示的時(shí)候盡量少出現(xiàn)scriptlet代碼。

  15. 簡(jiǎn)述國(guó)際化程序的實(shí)現(xiàn)思路?

  ·Locale 、屬性文件 、 ResourceBundle

  ·國(guó)際化程序的實(shí)現(xiàn),是根據(jù)本機(jī)的操作系統(tǒng)的語(yǔ)言類型,選擇不同的屬性文件,所有程序的基本代碼一樣,但是文字顯示不一樣,所以將內(nèi)容作為屬性文件出現(xiàn)之后,可以只是顯示屬性文件中的文字

  16. 描述JSp和Servlet的區(qū)別、共同點(diǎn)、各自應(yīng)用的范圍。

  ·區(qū)別:先有的Servlet再有的JSp,Servlet是在Java中嵌入HTML代碼,而JSp是在HTML代碼中嵌入Java代碼

  jsp是一種腳本語(yǔ)言,簡(jiǎn)化了java和Servlet的使用難度,同時(shí)擴(kuò)展了網(wǎng)頁(yè)動(dòng)態(tài)執(zhí)行的能力

  jsp仍然沒(méi)有超出java和Serlvet的范圍,不僅jsp頁(yè)面上可以直接寫(xiě)java代碼,而且jsp是先被編譯成Servlet之后才實(shí)際運(yùn)行的

  jsp在服務(wù)器上執(zhí)行,將結(jié)果輸出到客戶端顯示

  ·共同點(diǎn):Jsp可以完成的功能Servlet也可以完成,但是對(duì)于過(guò)濾器、監(jiān)聽(tīng)器只能由Servlet完成

  ·應(yīng)用范圍:Jsp用于顯示,Servlet用于控制

  17. 簡(jiǎn)述Web.xml文件的作用

  ·屬于部署描述符,在整個(gè)Java中只要是容器都會(huì)存在部署描述符,此部署描述符可以控制整個(gè)Web中各個(gè)組件的運(yùn)行狀態(tài),也可以配置整個(gè)容器的狀態(tài), 主要配置程序中的一些基本信息和文件等等:

  如 :

  

  18. 什么情況下調(diào)用doGet()和dopost()方法?

  Jsp頁(yè)面中的form標(biāo)簽里的method屬性為get時(shí)調(diào)用doGet(),為post時(shí)調(diào)用dopost().

  19. 注意內(nèi)容

  <%@ page language="java" import="java.util.*"

  contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

  <%

  String path = request.getContextpath();

  String basepath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerport() + path + "/";

  %>

  凡是自動(dòng)生成的代碼,都需要注意:

  public static void main(String [] args){}

【java面試筆試題 WEB】相關(guān)文章:

Java Web基礎(chǔ)筆試題09-26

Java面試題01-22

java面試試題07-19

java面試簡(jiǎn)答試題09-25

web前端面試題08-08

Java框架面試題07-16

java線程面試試題09-25

java學(xué)習(xí):Java面試題和答案07-17

2016高薪Java面試題08-05

  • <button id="6krf3"><nobr id="6krf3"></nobr></button>
  • <var id="6krf3"><wbr id="6krf3"><sub id="6krf3"></sub></wbr></var>