男女爱爱网站_色激情综合网_欧美在线小视频_一级黄网_欧美日韩在线成人免费_久久精品免费观看视频

蜜蜂職場文庫 > 面試技巧 >

javaweb面試題及答案

時間: 小龍 面試技巧

  javaweb開發人員面試前的準備,會對面試有利,以下是javaweb面試題及答案例文,增加你的面試技巧,和小編一起來學習啦。

  javaweb面試題及答案(一)

  一、jsp和servlet的區別、共同點、各自應用的范圍??

  JSP是Servlet技術的擴展,本質上就是Servlet的簡易方式。JSP編譯后是“類servlet”。Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個擴展名為.jsp的文件。JSP側重于視圖,Servlet主要用于控制邏輯。在struts框架中,JSP位于MVC設計模式的視圖層,而Servlet位于控制層.

  二、cookie和session的作用、區別、應用范圍,session的工作原理???

  Cookie:主要用在保存客戶端,其值在客戶端與服務端之間傳送,不安全,存儲的數據量有限。

  Session:保存在服務端,每一個session在服務端有一個sessionID作一個標識。存儲的數據量大,安全性高。占用服務端的內存資源。

  三、jstl是什么?優點有哪些??

  JSTL(JSP Standard Tag Library ,JSP標準標簽庫)是一個不斷完善的開放源代碼的JSP標簽庫,由四個定制標記庫(core、format、xml 和 sql)和一對通用標記庫驗證器(ScriptFreeTLV 和 PermittedTaglibsTLV)組成。優點有:

  1、 在應用程序服務器之間提供了一致的接口,最大程序地提高了WEB應用在各應用服務器之間的移植。

  2、 簡化了JSP和WEB應用程序的開發。

  3、 以一種統一的方式減少了JSP中的scriptlet代碼數量,可以達到沒有任何scriptlet代碼的程序。在我們公司的項目中是不允許有任何的scriptlet代碼出現在JSP中。

  4、 允許JSP設計工具與WEB應用程序開發的進一步集成。相信不久就會有支持JSTL的IDE開發工具出現。

  四、j2ee的優越性主要表現在哪些方面?MVC模式

  a、 J2EE基于JAVA 技術,與平臺無關

  b、 J2EE擁有開放標準,許多大型公司實現了對該規范支持的應用服務器。如BEA ,IBM,ORACLE等。

  c、 J2EE提供相當專業的通用軟件服務。

  d、 J2EE提供了一個優秀的企業級應用程序框架,對快速高質量的開發系統打下了基礎。

  Model模型:應用程序的主體部分,用于表示業務邏輯。

  View視圖:應用程序中用戶界面相關的部分,是用戶看到并與之交互的界面。

  Controller控制器:用于根據用戶的輸入,控制用戶界面數據顯示,更新Model對象狀態。

  MVC模式的出現不僅實現了功能模塊和顯示模塊的分離,同時還提夠了應用系統的可維護、可擴展性、可移植性、和組建的可復用性。

  五、Struts的優點

  a、實現MVC模式,結構清晰,使開發者只需關注業務邏輯的實現。

  b、有豐富的tag可以用,能大大提夠開發效率,縮短開發時間。

  c、頁面導航。通過一個配置文件,即可把握整個系統各部分之間的聯系,這對于后期的維護有很大的好處

  d、提供Exception處理機制

  e、支持L18N

  javaweb面試題及答案(二)

  一、為什么要用struts?

  JSP、Servlet、JavaBean技術的出現給我們構建強大的企業應用系統提供了可能。但用這些技術構建的系統非常的繁亂,所以在此之上,我們需要一個規則、一個把這些技術組織起來的規則,這就是框架,Struts便應運而生。

  基于Struts開發的應用由3類組件構成:控制器組件、模型組件、視圖組件

  二、Sturt1的核心類、核心標簽庫?

  ActionServlet 控制器、ActionMapping狀態改變事件 、 Action控制器的一部分、ActionForward用戶指向、ActionForm狀態改變的數據

  Html標簽、bean標簽、logic標簽、tiles標簽、nested標簽

  三、struts1與sturts2的區別(struts2是struts1和webwork的結合體)

  1、struts1要求Action類繼承一個抽象基類,而不是接口。

  struts2的action類可以實現一個action接口,也可以實現其他接口。

  2、sturts1 action是單例模式,線程是安全的。

  struts2 action線程是不安全的,action為每一個請求都生成了一個實例。

  3、sturts1過去依賴serlet API,不容易測試。

  struts2不依賴于容器,允許Action脫離容器單獨被測試。

  4、Struts1 使用ActionForm對象捕獲輸入。所有的ActionForm必須繼承一個基類。

  Struts 2直接使用Action屬性作為輸入屬性,消除了對第二個輸入對象的需求。

  5、Struts1 整合了JSTL,因此使用JSTL EL。這種EL有基本對象圖遍歷,但是對集合和索引屬性的支持很弱。

  Struts2可以使用JSTL,但是也支持一個更強大和靈活的表達式語言--"Object Graph Notation Language" (OGNL).

  6、Struts 1使用標準JSP機制把對象綁定到頁面中來訪問。

  Struts 2 使用 "ValueStack"技術,使taglib能夠訪問值而不需要把你的頁面(view)和對象綁定起來。

  7、Struts 1 ActionForm 屬性通常都是String類型。Struts1使用Commons-Beanutils進行類型轉換。

  Struts2 使用OGNL進行類型轉換。提供基本和常用對象的轉換器。

  8、Struts 1支持在ActionForm的validate方法中手動校驗,或者通過Commons Validator的擴展來校驗。

  Struts2支持通過validate方法和XWork校驗框架來進行校驗。

  9、Struts1支持每一個模塊有單獨的Request Processors(生命周期),但是模塊中的所有Action必須共享相同的生命周期。

  Struts2支持通過攔截器堆棧(Interceptor Stacks)為每一個Action創建不同的生命周期。堆棧能夠根據需要和不同的Action一起使用。

  javaweb面試題及答案(三)

  一、過濾器和攔截器的區別

  1、攔截器是基于java的反射機制的,而過濾器是基于函數回調

  2、過濾器依賴于servlet容器,而攔截器不依賴于servlet容器

  3、攔截器只能對action請求起作用,而過濾器則可以對幾乎所有的請求起作用

  4、攔截器可以訪問action上下文、值棧里的對象,而過濾器不能

  5、在action的生命周期中,攔截器可以多次被調用,而過濾器只在容器初始化時調用一次

  攔截器 :是在面向切面編程的就是在你的service或者一個方法,前調用一個方法,或者在方法后調用一個方法比如動態代理就是攔截器的簡單實現,在你調用方法前打印出字符串(或者做其它業務邏輯的操作),也可以在你調用方法后打印出字符串,甚至在你拋出異常的時候做業務邏輯的操作。

  過濾器:是在java web中,你傳入的request,response提前過濾掉一些信息,或者提前設置一些參數,然后再傳入servlet或者struts的 action進行業務邏輯,比如過濾掉非法url(不是login.do的地址請求,如果用戶沒有登陸都過濾掉),或者在傳入servlet或者 struts的action前統一設置字符集,或者去除掉一些非法字符.

  二、Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。

  工作原理:

  1.讀取并解析配置文件2.讀取并解析映射信息,創建SessionFactory 3.打開Sesssion 4.創建事務Transation 5.持久化操作6.提交事務7.關閉Session 8.關閉SesstionFactory

  優點有:

  1. 對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。

  2. Hibernate是一個基于JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作

  3、 Hibernate使用Java反射機制而不是字節碼增強程序來實現透明性。

  4、 Hibernate的性能好,映射的靈活性比較出色。它支持各種關系數據庫,從一對一到多對多的各種復雜關系。

  三、hibernate的核心類是什么??重要方法是什么??

  Configuration、SessionFactory

  Session如下方法 Save、 load、 Update、Delete

  Query q=CreateQuery(“from Customer where customerName=:customerName”)

  beginTransaction、close、Transaction、Commit()

  四、session.load()和session.get()的區別

  Session.load/get方法均可以根據指定的實體類和id從數據庫讀取記錄,并返回與之對應的實體對象。其區別在于:

  如果未能發現符合條件的記錄,get方法返回null,而load方法會拋出一個ObjectNotFoundException。

49835 主站蜘蛛池模板: 嫩草视频在线播放 | 午夜在线视频观看 | 国产精品亚洲一区 | 色综合天天综合网国产成人网 | 久久久国产一区二区三区 | 久久久久久久免费视频 | 国产精品不卡视频 | 亚洲精品99 | 草草影院在线 | 黄色免费av | 午夜视频啪啪 | 成人午夜免费在线视频 | 黄色成年在线观看 | 日韩欧美中文字幕在线播放 | 久久免费精品视频 | 免费日韩在线 | 国产精品久久久久久久久久免费看 | 青青草国产成人久久91网 | 密室逃脱第一季免费观看完整在线 | 99久久综合给久久精品 | 日韩一区二区三区四区五区 | 爱性久久久久久久 | 成人一区二区三区在线观看 | 亚洲成a人片在线网站 | 日本在线观看视频网站 | 日韩a在线看免费观看视频 五月天激情视频在线观看 成人97在线观看免费高清 | 青娱乐在线视频盛宴 | 亚洲欧美一区二区三区久本道 | 影音先锋亚洲资源 | 国产精品久久久久亚洲 | 成人精品视频在线观看 | 日韩中文字幕在线视频 | 中国一级毛片视频 | 99精品在线观看 | 欧美在线性视频 | 欧美久久综合 | 日本高清www午色夜黄 | 好吊日在线视频 | 日韩有码一区 | 国产女人与拘做受视频 | 国产亚洲精品久久一区二区三区 |