亚洲v欧美v国产v在线成_制服丝袜中文字幕丝袜专区_一区二区三区韩国电影_激情欧美一区二区中文字幕

我要投稿 投訴建議

java面試筆試題 WEB

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

java面試筆試題 (WEB)

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

java面試筆試題 (WEB)

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

  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 表示頁容器 àEL表達式、 標簽 、上傳

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

  3、response 服務器端回應客戶端信息:Cookie、重定向

  4、session 表示每一個用戶,用于登錄驗證上

  5、application 表示整個服務器

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

  7、exception 表示的是錯誤頁的處理操作

  8、page 如同this一樣,代表整個jsp頁面自身

  9、out 輸出 ,但是盡量使用表達式輸出

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

  jsp共有以下6中基本動作

  :在頁面被請求的時候包含一個文件

  :尋找或者實例化一個javaBean

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

  :取得某個javaBean的屬性

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

  :插入Applet程序的代碼

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

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

  動態(tài)INCLUDE 用動作實現(xiàn):

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

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

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

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

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

  服務器端跳轉(zhuǎn):response.sendRedirect(),跳轉(zhuǎn)之后地址欄改變,完全轉(zhuǎn)向新的頁面,不會再回來,相當于go to 語句。

  5. 請總結(jié)一下WEB開發(fā)中的會話跟蹤實現(xiàn)

  1、 Session也是最常用的一種

  2、 Cookie

  3、 地址重寫

  4、 隱藏域

  6. 在Web開發(fā)中需要處理HTML標記時,應做什么樣的處理,要篩選哪些字符

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

  因為以上的標記都屬于HTML范疇的內(nèi)容,所以必須進行轉(zhuǎn)義操作

  顯示效果 符號說明 實體名表示 實體編號表示

  空格符    

  < 小于號 < <

  > 大于號 > >

  & 符號& & &

  “ 雙引號 " "

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

  R 注冊商標 ® ®

  × 乘號 × ×

  ÷ 除號 ÷ ÷

  ‘ 單引號 ´

  7. 說明Jsp中errorpage的作用域,應用范圍

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

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

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

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

  

  404

  /errors.jsp

  

  

  java.lang.NullpointerException

  /errors.jsp

  

  一旦出現(xiàn)錯誤之后,會自動跳轉(zhuǎn)到指定的頁面,但是這樣的跳轉(zhuǎn),永遠都是屬于服務器端跳轉(zhuǎn)

  8. 寫一段JDBC連接Oracle的程序,并實現(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) 返回的是一個類

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

  10. 簡述在JSp中是如何實現(xiàn)分頁操作的?

  分頁有兩種情況:

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

  假分頁:性能低,是將全部的結(jié)果查詢出來,之后依靠算法分頁,只顯示部分數(shù)據(jù),因為使用了通用的語法,所以可移植性高

  真分頁實現(xiàn)原理:

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

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

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

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

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

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

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

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

  2. jsp中導入javaBean:

  使用import導入 如:

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

  使用 導入如:

  

  12. 說一說什么是Servlet 和Servlet的生命周期?

  什么是Servlet:

  Servlet是用Java編寫的服務端程序,它與協(xié)議和平臺無關(guān)。Servlet運行于Java-enabled Web Server中。Servlet可以動態(tài)地擴展Server的能力,并采用 請求-響應 模式提供Web服務。

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

  1.客戶端發(fā)送請求至服務器端;

  2.服務器將請求信息發(fā)送至Servlet

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

  4.服務器將響應返回給客戶端

  Servlet的生命周期:

  加載

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

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

  服務:

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

  銷毀:

  正常一次,調(diào)用destroy()方法,當重新加載或者關(guān)閉應用服務器的時候應用服務器會銷毀Servlet對象,如果一個Servlet長時間不使用,也會自動銷毀,而當再次使用的時候就必須重新進行初始化的操作

  卸載

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

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

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

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

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

  · MVC: Model 、View 、Controller

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

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

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

  ·實現(xiàn)原理:

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

  15. 簡述國際化程序的實現(xiàn)思路?

  ·Locale 、屬性文件 、 ResourceBundle

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

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

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

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

  jsp仍然沒有超出java和Serlvet的范圍,不僅jsp頁面上可以直接寫java代碼,而且jsp是先被編譯成Servlet之后才實際運行的

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

  ·共同點:Jsp可以完成的功能Servlet也可以完成,但是對于過濾器、監(jiān)聽器只能由Servlet完成

  ·應用范圍:Jsp用于顯示,Servlet用于控制

  17. 簡述Web.xml文件的作用

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

  如 :

  

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

  Jsp頁面中的form標簽里的method屬性為get時調(diào)用doGet(),為post時調(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 + "/";

  %>

  凡是自動生成的代碼,都需要注意:

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

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

Java Web基礎筆試題09-26

Java面試題01-22

java面試試題07-19

java面試簡答試題09-25

web前端面試題08-08

Java框架面試題07-16

java線程面試試題09-25

java學習:Java面試題和答案07-17

2016高薪Java面試題08-05