




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1、 jsp 和 servlet 的區(qū)別、共同點、各自應(yīng)用的范圍?JSP 是 Servlet 技術(shù)的擴展, 本質(zhì)上就是 Servlet 的簡易方式。 JSP 編譯后是 “ 類 servlet” 。 Servlet 和 JSP 最主要的不同點在于, Servlet 的應(yīng)用邏輯是在 Java 文件中,并且完全從表示層中的 HTML 里分離開來。而 JSP 的情況是 Java 和 HTML 可以組合成一個擴展名為 .jsp 的文件。 JSP 側(cè)重于視圖, Servlet 主要用于控制邏輯。在 struts 框架中 ,JSP 位于 MVC 設(shè)計模式的視 圖層 , 而 Servlet 位于控制層 .2、
2、 cookie 和 session 的作用、區(qū)別、應(yīng)用范圍, session 的工作原理?Cookie:主要用在保存客戶端,其值在客戶端與服務(wù)端之間傳送,不安全,存儲的數(shù)據(jù)量有 限。Session:保存在服務(wù)端,每一個 session 在服務(wù)端有一個 sessionID 作一個標(biāo)識。存儲的數(shù)據(jù) 量大,安全性高。占用服務(wù)端的內(nèi)存資源。3、 jstl 是什么?優(yōu)點有哪些?JSTL (JSP StandardTag Library , JSP 標(biāo)準(zhǔn)標(biāo)簽庫 是一個不斷完善的開放源代碼的 JSP 標(biāo)簽庫,由四個定制標(biāo)記庫(core 、 format 、 xml 和 sql 和一對通用標(biāo)記庫驗證器 (Sc
3、riptFreeTLV 和 PermittedTaglibsTLV 組成。優(yōu)點有:1、 在應(yīng)用程序服務(wù)器之間提供了一致的接口,最大程序地提高了 WEB 應(yīng)用在各應(yīng)用服務(wù) 器之間的移植。2、 簡化了 JSP 和 WEB 應(yīng)用程序的開發(fā)。3、 以一種統(tǒng)一的方式減少了 JSP 中的 scriptlet 代碼數(shù)量,可以達到?jīng)]有任何 scriptlet 代碼 的程序。在我們公司的項目中是不允許有任何的 scriptlet 代碼出現(xiàn)在 JSP 中。4、 允許 JSP 設(shè)計工具與 WEB 應(yīng)用程序開發(fā)的進一步集成。相信不久就會有支持 JSTL 的 IDE 開發(fā)工具出現(xiàn)。4、 j2ee 的優(yōu)越性主要表現(xiàn)在哪些
4、方面? MVC 模式a 、 J2EE 基于 JA V A 技術(shù),與平臺無關(guān)b 、 J2EE 擁 有 開 放 標(biāo) 準(zhǔn) , 許 多 大 型 公 司 實 現(xiàn) 了 對 該 規(guī) 范 支 持 的 應(yīng) 用 服 務(wù) 器 。 如BEA ,IBM,ORACLE等。c 、 J2EE 提供相當(dāng)專業(yè)的通用軟件服務(wù)。d 、 J2EE 提供了一個優(yōu)秀的企業(yè)級應(yīng)用程序框架,對快速高質(zhì)量的開發(fā)系統(tǒng)打下了基礎(chǔ)。 Model 模型:應(yīng)用程序的主體部分,用于表示業(yè)務(wù)邏輯。View 視圖:應(yīng)用程序中用戶界面相關(guān)的部分,是用戶看到并與之交互的界面。Controller 控制器:用于根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示,更新 Model
5、對象狀態(tài)。MVC 模式的出現(xiàn)不僅實現(xiàn)了功能模塊和顯示模塊的分離, 同時還提夠了應(yīng)用系統(tǒng)的可維護、 可擴展性、可移植性、和組建的可復(fù)用性。5、 Struts 的優(yōu)點a 、實現(xiàn) MVC 模式,結(jié)構(gòu)清晰,使開發(fā)者只需關(guān)注業(yè)務(wù)邏輯的實現(xiàn)。b 、有豐富的 tag 可以用,能大大提夠開發(fā)效率,縮短開發(fā)時間。c 、頁面導(dǎo)航。通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián)系,這對于后期的維 護有很大的好處d 、提供 Exception 處理機制e 、支持 L18N6、為什么要用 struts ?JSP 、 Servlet 、 JavaBean 技術(shù)的出現(xiàn)給我們構(gòu)建強大的企業(yè)應(yīng)用系統(tǒng)提供了可能。但用 這些技術(shù)
6、構(gòu)建的系統(tǒng)非常的繁亂, 所以在此之上, 我們需要一個規(guī)則、 一個把這些技術(shù)組織 起來的規(guī)則,這就是框架, Struts 便應(yīng)運而生。基于 Struts 開發(fā)的應(yīng)用由 3類組件構(gòu)成:控制器組件、模型組件、視圖組件7、 Sturt1的核心類、核心標(biāo)簽庫?ActionServlet 控 制 器 、 ActionMapping 狀 態(tài) 改 變 事 件 、 Action 控 制 器 的 一 部 分 、 ActionForward 用戶指向、 ActionForm 狀態(tài)改變的數(shù)據(jù)Html 標(biāo)簽、 bean 標(biāo)簽、 logic 標(biāo)簽、 tiles 標(biāo)簽、 nested 標(biāo)簽8、 struts1與 sturt
7、s2的區(qū)別(struts2是 struts1和 webwork 的結(jié)合體1、 struts1要求 Action 類繼承一個抽象基類,而不是接口。struts2的 action 類可以實現(xiàn)一個 action 接口,也可以實現(xiàn)其他接口。2、 sturts1 action是單例模式,線程是安全的。struts2 action線程是不安全的, action 為每一個請求都生成了一個實例。3、 sturts1過去依賴 serlet API,不容易測試。struts2不依賴于容器,允許 Action 脫離容器單獨被測試。4、 Struts1 使用 ActionForm 對象捕獲輸入。所有的 ActionF
8、orm 必須繼承一個基類。 Struts 2直接使用 Action 屬性作為輸入屬性,消除了對第二個輸入對象的需求。5、 Struts1 整合了 JSTL ,因此使用 JSTL EL。這種 EL 有基本對象圖遍歷,但是對集合和索 引屬性的支持很弱。Struts2可以使用 JSTL ,但是也支持一個更強大和靈活的表達式語言-"Object Graph Notation Language" (OGNL.6、 Struts 1使用標(biāo)準(zhǔn) JSP 機制把對象綁定到頁面中來訪問。Struts 2 使用 "ValueStack" 技術(shù),使 taglib 能夠訪問值而不
9、需要把你的頁面(view 和對象 綁定起來。7、 Struts 1 ActionForm 屬性通常都是 String 類型。 Struts1使用 Commons-Beanutils 進行類型 轉(zhuǎn)換。Struts2 使用 OGNL 進行類型轉(zhuǎn)換。提供基本和常用對象的轉(zhuǎn)換器。8、 Struts 1支持在 ActionForm 的 validate 方法中手動校驗,或者通過 Commons Validator的 擴展來校驗。Struts2支持通過 validate 方法和 XWork 校驗框架來進行校驗。9、 Struts1支持每一個模塊有單獨的 Request Processors(生命周期 ,
10、但是模塊中的所有 Action 必須共享相同的生命周期。Struts2支持通過攔截器堆棧(Interceptor Stacks為每一個 Action 創(chuàng)建不同的生命周期。堆 棧能夠根據(jù)需要和不同的 Action 一起使用。9、過濾器和攔截器的區(qū)別1、攔截器是基于 java 的反射機制的,而過濾器是基于函數(shù)回調(diào)2、過濾器依賴于 servlet 容器,而攔截器不依賴于 servlet 容器3、攔截器只能對 action 請求起作用,而過濾器則可以對幾乎所有的請求起作用4、攔截器可以訪問 action 上下文、值棧里的對象,而過濾器不能5、在 action 的生命周期中,攔截器可以多次被調(diào)用,而過濾
11、器只在容器初始化時調(diào)用一次攔截器 :是在面向切面編程的就是在你的 service 或者一個方法,前調(diào)用一個方法,或者 在方法后調(diào)用一個方法比如動態(tài)代理就是攔截器的簡單實現(xiàn), 在你調(diào)用方法前打印出字符串 (或者做其它業(yè)務(wù)邏輯的操作 ,也可以在你調(diào)用方法后打印出字符串,甚至在你拋出異常 的時候做業(yè)務(wù)邏輯的操作。過濾器:是在 java web中, 你傳入的 request,response 提前過濾掉一些信息, 或者提前設(shè)置 一些參數(shù),然后再傳入 servlet 或者 struts 的 action 進行業(yè)務(wù)邏輯,比如過濾掉非法 url (不 是 login.do 的地址請求, 如果用戶沒有登陸都過
12、濾掉 , 或者在傳入 servlet 或者 struts 的 action 前統(tǒng)一設(shè)置字符集,或者去除掉一些非法字符 .10、 Hibernate 是一個開放源代碼的對象關(guān)系映射框架,它對 JDBC 進行了非常輕量級的對 象封裝,使得 java 程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。工作原理:1. 讀取并解析配置文件 2. 讀取并解析映射信息, 創(chuàng)建 SessionFactory 3.打開 Sesssion 4.創(chuàng)建事 務(wù) Transation 5.持久化操作 6. 提交事務(wù) 7. 關(guān)閉 Session 8.關(guān)閉 SesstionFactory優(yōu)點有:1. 對 JDBC 訪問數(shù)據(jù)庫
13、的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。2. Hibernate是一個基于 JDBC 的主流持久化框架, 是一個優(yōu)秀的 ORM 實現(xiàn)。 他很大程度的 簡化 DAO 層的編碼工作3、 Hibernate 使用 Java 反射機制而不是字節(jié)碼增強程序來實現(xiàn)透明性。4、 Hibernate 的性能好,映射的靈活性比較出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多 對多的各種復(fù)雜關(guān)系。11、 hibernate 的核心類是什么?重要方法是什么?Configuration 、 SessionFactorySession如下方法 Save 、 load 、 Update 、 DeleteQuery
14、 q=CreateQuery(“from Customer where customerName=:customerName”beginTransaction、 close 、 Transaction 、 Commit(12、 session.load(和 session.get(的區(qū)別Session.load/get方法均可以根據(jù)指定的實體類和 id 從數(shù)據(jù)庫讀取記錄,并返回與之對應(yīng)的 實體對象。其區(qū)別在于:如 果 未 能 發(fā) 現(xiàn) 符 合 條 件 的 記 錄 , get 方 法 返 回 null , 而 load 方 法 會 拋 出 一 個 ObjectNotFoundException 。
15、13、 hql 和 sql 的區(qū)別【可以這樣說, hibernate 是面向?qū)ο笳Z言與關(guān)系型數(shù)據(jù)庫之間的橋梁, 他使得程序員可以不用關(guān)心底層數(shù)據(jù)庫連接的代碼,而可以專心寫業(yè)務(wù)邏輯。 】sql 是面向數(shù)據(jù)庫表查詢hql 是面向?qū)ο蟛樵兊?, 其 form 子句返回的是對象的實例。14、hibernate 與 jdbc 之間的區(qū)別【可以這樣說,hibernate 是面向?qū)ο笳Z言與關(guān)系型數(shù)據(jù)庫 之間的橋梁, 他使得程序員可以不用關(guān)心底層數(shù)據(jù)庫連接的代碼, 而可以專心寫業(yè)務(wù)邏輯。 】 Hibernate 作為一個 O/R Mapping,比 JDBC 具備的優(yōu)勢有: 1.編程思想上,更加符合人的邏輯思
16、維習(xí)慣,面向?qū)ο蟊让嫦蜻^程更加容易理解,測試和維 護 2.開發(fā)維護速度上,Hibernate 顯著的快,代碼量顯著小 3.通過 Annotation 進行數(shù)據(jù)庫的字段加密 4.對 Sql 不熟的菜鳥來說可以自動調(diào)優(yōu) 5.結(jié)合 Spring,通過聲明式事務(wù)可以省略事務(wù)的控制,事務(wù)以橫切面形式出現(xiàn) Jdbc 比 Hibernate 具備的優(yōu)勢有: 1.大數(shù)據(jù)量訪問時,Jdbc 的效率顯著快 2.直接操作數(shù)據(jù)庫比較靈活 15、Hibernate 是如何延遲加載? 當(dāng) Hibernate 在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時, 對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省
17、了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器 的性能。 16、說下 Hibernate 的緩存機制 1. 內(nèi)部緩存存在 Hibernate 中又叫一級緩存,屬于應(yīng)用事物級緩存 2. 二級緩存: a 應(yīng)用及緩存 b 分布式緩存 c 第三方緩存的實現(xiàn) 17、spring 工作機制及為什么要用?【spring 是一個輕量的控制反轉(zhuǎn)和面向切面的容器框架】 1.springmvc 把所有的請求都提交給 DispatcherServlet,它會委托應(yīng)用系統(tǒng)的其他模塊負 責(zé)對請求進行真正的處理工作。 2.DispatcherServlet 查詢一個或多個 HandlerMapping,找到處理請求的 Controller. 3.DispatcherServlet 把請求提交到目標(biāo) Controller 4.Controller 進行業(yè)務(wù)邏輯處理后,會返回一個 ModelAndView 5.Dispathcher 查詢一個或多個 ViewResolver 視圖解析器,找到 ModelAndView 對象指定 的視圖對象 6.視圖對象負責(zé)渲染返回給客戶端。 IoC 就是由容器來控制業(yè)務(wù)對象之間的依賴關(guān)系??刂品崔D(zhuǎn)的本質(zhì),是控制權(quán)由應(yīng)用代碼轉(zhuǎn) 到了外部容器, 控制器的轉(zhuǎn)移既是所謂的反轉(zhuǎn)。 控制權(quán)的轉(zhuǎn)移帶來的好處就是降低
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶樓承包合同
- 土石方工程開挖施工合同
- 企業(yè)人力資源數(shù)字化轉(zhuǎn)型戰(zhàn)略規(guī)劃設(shè)計
- 2025年銀川貨運車從業(yè)資格證考試內(nèi)容
- 《Scratch初體驗》導(dǎo)學(xué)案
- 109-指揮調(diào)度系統(tǒng)
- 節(jié)溫器戰(zhàn)略市場規(guī)劃報告
- 修路材料采購合同范例
- 個人理財心得體會
- 單位施工合同范本
- 中醫(yī)館裝修合同范本
- 椎管打骨水泥后的護理
- 學(xué)習(xí)與科技的融合主題班會
- 《直播銷售》課件-項目一 認識直播與直播銷售
- 2025年南京科技職業(yè)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 2025-2030年中國航空配餐行業(yè)市場發(fā)展現(xiàn)狀及投資前景規(guī)劃研究報告
- 新課標(biāo)背景下的跨學(xué)科學(xué)習(xí)內(nèi)涵、設(shè)置邏輯與實踐原則
- 母嬰分離產(chǎn)婦的護理
- 2025教科版一年級科學(xué)下冊教學(xué)計劃
- 人教版高一上學(xué)期數(shù)學(xué)(必修一)期末考試卷(附答案)
- DBJT14-100-2013 外墻外保溫應(yīng)用技術(shù)規(guī)程(改性酚醛泡沫板薄抹灰外墻外保溫系統(tǒng))
評論
0/150
提交評論