java前端知識點整理


1.jsp內置對象?作用?

request :客戶端請求,包含來自 GET/POST,提供了幾個用於獲取 cookie, session 的方法

response :網頁傳回用戶端的回應

pageContext :網頁的屬性是在這里管理,獲取上下文對象

session :與請求有關的會話期,表示一個請求的HttpSession 對象。Session 可以存貯用戶的信息

application servlet 正在執行的內容

out :用來傳送回應的輸出

configservlet 的構架部件

pageJSP 網頁本身

exception: 針對錯誤網頁,未捕捉的例外

2.描述servlet的生命周期和基本框架

ServletJava編寫的程序,此程序是在服務器端運行的,處理客戶端的請求,並將處理結果以響應的方式返回給客戶端。

生命周期:加載和實例化、初始化、處理請求和服務結束。

Servlet被實例化后à容器運行init方法初始化à請求到達時,運行service方法à自動派遣與請求對應的doxxx方法à服務器調用destroy方法銷毀實例。

基本框架:

//繼承HttpServlet,重寫doGetdoPost方法

public class ServletTest extends HttpServlet {

 

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

}

}

 

3.使用過哪些javascript庫和前端框架?

庫:

Jquery:它封裝JavaScript常用的功能代碼,提供一種簡便的JavaScript設計模式,優化HTML文檔操作、事件處理、動畫設計和Ajax交互。

Lodash:提供了數百個功能性的JavaScript實用程序來補充原生字符串、數字、數組和其它原始對象方法。

React:用於構建用戶界面的JavaScript類庫,也是去年最受關注的類庫。它專注於Model-View-Controller(MVC)開發的“View”部分,使用它可以輕松創建保留狀態的UI組件。它是實現虛擬DOM的首選類庫之一, 它的內存結構能夠有效地計算差異,頁面更新也更加有效。小巧,高效,快捷靈活 簡單的組件模型

框架:

AngularJS :它使用雙向數據綁定擴展HTML,同時解耦了DOM操作和應用程序邏輯。

Vue.js:用於構建用戶界面的輕量級漸進框架。它提供了一個類似React的虛擬DOM驅動視圖層,可以與其它類庫集成,用於構建強大的單頁面應用。該框架是由之前在AngularJS工作過的Evan You創建的,他提取了AngularJS中自己喜歡的部分。Vue.js使用HTML模板語法將DOM綁定到實例數據。Model是在數據改變時更新view的純JavaScript對象。

Knockout.js:是最早的MVVM框架之一,它確保了UI與底層數據保持同步,具有模板和依賴關系跟蹤。

4.Label標簽的作用是什么?如何使用?

Label標簽來定義表單控制間的關系,當用戶選擇該標簽時,瀏覽器會自動將焦點轉到和標簽相關的表單控件上。

FOR屬性功能:表示Label標簽要綁定的HTML元素,你點擊這個標簽的時候,所綁定的元素將獲取焦點。

ACCESSKEY屬性功能:表示訪問Label標簽所綁定的元素的熱鍵,當您按下熱鍵,所綁定的元素將獲取焦點。

5.如何規避javascript多人開發函數重命名的問題,列出所有的解決辦法,舉例說明?

命名空間封閉空間、js模塊化mvc(數據層、表現層、控制層)變量轉換成對象的屬性對象化

6.編寫一個方法,實現對象的深度克隆?

function deepClone(obj) {

  var o = obj instanceof Array ? [] : {};

  for(var k in obj)

    o[k] = typeof obj[k] === Object ? deepClone(obj[k]) : obj[k];

  return o;

}

var a = [[1, 2, 3], [4, 5, 6, 7]];

var b = deepClone(a);

alert(b);//輸出1234567

 

7.Httpgetpost方式的區別?

get方法:

GET請求能夠被緩存

GET請求會保存在瀏覽器的瀏覽記錄中

GET請求的URL能夠保存為瀏覽器書簽

GET請求有長度限制

GET請求主要用以獲取數據

 

post方法:

POST請求不能被緩存下來

POST請求不會保存在瀏覽器瀏覽記錄中

POST請求的URL無法保存為瀏覽器書簽

POST請求沒有長度限制

8.XML文檔定義有幾種形式?它們之間有何本質區別?解析XML文檔有哪幾種方式及區別?

本題三個答題點:

a: 兩種形式 dtd,schema

b: 本質區別:schema本身是xml,可以被XML解析器解析(這也是從DTD上發展schema的根本目的)

c: 兩種主要方式:dom,sax

區別:DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構占用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,適合對XML的隨機訪問

SAX:不同於DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標簽開頭與標簽結束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問

9.簡述 Java Server PageJSP)和 Servlet 的聯系和區別?

ServletJSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML里分離開來。而JSP的情況是JavaHTML可以組合成一個擴展名為.jsp的文件。JSP側重於視圖,Servlet主要用於控制邏輯。

10.jquery的選擇器有哪些?

 

11.javascript有哪些數據類型?

基本類型:UndefinedNullBooleanNumber

引用類型:ObjectArrayFunction

12.Jsp中使用JavaBean

JSP技術提供了三個關於JavaBean組件的動作元素,JSP標簽,它們分別為:
<jsp:useBean>標簽:用於在JSP頁面中查找或實例化一個JavaBean組件。
<jsp:setProperty>標簽:用於在JSP頁面中設置一個JavaBean組件的屬性。
<jsp:getProperty>標簽:用於在JSP頁面中獲取一個JavaBean組件的屬性。

13.談談我對Ajax的原理的理解

同步,是發送方發送數據之后,必須等接收方接收數據必須做出回應之后,才可以進行下一步。

異步的話則是發送方發送數據之后不需等接收方做出回應,可以進行下一步操作。)

Ajax的原理簡單來說,實際上就是用javascript的方式,通過XmlHttpRequest對象來向服務器發異步請求,從服務器獲得數據,然后用javascript來操作DOM而更新頁面。

Ajax原理過程 :                                                                                                                                       
利用XMLHttpRequest對象發送簡單請求的基本步驟:
1)創建XMLHttpRequest對象實例
2)設定XMLHttpRequest對象的回調函數,利用onreadystatechange屬性
3)設定請求屬性:設定HTTP方法(GETPOST);設定目標URL,利用open()方法
4)將請求發送給服務器。利用send()方法
利用DOM對服務器響應進行處理 

Ajax優點:

1.無刷新更新數據,減少用戶等到時間,更好的用戶體驗

2.異步與服務器通信,無需打斷用戶,響應更加迅速

3.可以把服務器的一些負擔轉到客戶端,利用客戶端閑置的能力來處理,減輕服務器和帶寬的負擔,節約空間和寬帶租用成本。並且減輕服務器的負擔,AJAX的原則是按需取數據,可以最大程度的減少冗余請求和響應對服務器造成的負擔,提升站點性能。

5.基於標准化,廣泛被支持

Ajax缺點

1.破壞了前進后退功能,用戶往往通過后退按鈕來取消上一步操作,但是使用ajax無法實現。可以使用Gmail來解決這個問題,它只是采用的一個比較笨但是有效的辦法,即用戶單擊后退按鈕訪問歷史記錄時,通過創建或使用一個隱藏的IFRAME來重現頁面上的變更。

2.安全問題。ajax技術就如同對企業數據建立了一個直接通道。這使得開發者在不經意間會暴露比以前更多的數據和服務器邏輯。ajax的邏輯可以對客戶端的安全掃描技術隱藏起來,允許黑客從遠端服務器上建立新的攻擊。還有自身受到如跨站腳本攻擊,SQL注入等攻擊。

3.對搜索引擎支持較弱

4.一些手持設備不能很好的支持等

14.easyUi的理解?

基於jquery框架,主要前端視圖。

easyui在封裝組件的時候,是以對象的思想封裝,以函數調用的方式實現

easyui的組件大量使用了繼承 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM