1.1 技術結構圖javascript
1.2. 結構圖說明:html
總體分爲四個部分:java
此部分包括: JavaScript, Jquery, Ajax, XML, JSON 和 HTML 等技術.jquery
2.1BOM中經常使用的全局變量與方法web
全局對象: windowajax
全局變量: document location history navigator screen sql
全局方法:alert() confirm() prompt() open() close() 數據庫
2.2如何在JS中建立一個對象數組
2.3JS獲取對象屬性瀏覽器
Ajax 原理
Ajax 的原理簡單來講經過 XmlHttpRequest 對象來向服務器發異步請求,從服務器得到數據,而後用 javascript 來操做 DOM 而更新頁面的局部顯示。
Ajax 的優勢:
1.最大的一點是頁面無刷新,給用戶的體驗很是好。
2.使用異步方式與服務器通訊,不須要打斷用戶操做,具備更加迅速的響應能力。
3.ajax 的原則是「按需取數據」,最大程度的減小冗餘請求,減小服務器的負荷。
Ajax 的缺點:
1.破壞瀏覽器後退按鈕的正常行爲。在動態更新頁面後,用戶沒法回到前一個頁面的狀態.
2.使用 JavaScript 做 Ajax 的引擎,JavaScript 的兼容性和 Debug 自己就讓人
頭大。
Ajax 的應用場景:
1.文本輸入提示(自動完成)的場景(註冊)
2.對數據進行聯動過濾的場景(三級聯動)
2.5 jquery 有哪些好處?
jQuery 是輕量級的 javascript 框架
強大的選擇器出色的 DOM 操做的封裝可靠的事件處理機制
完善的 ajax 封裝
出色的瀏覽器的兼容性支持鏈式操做,隱式迭代支持豐富的插件
jquery 的文檔也很是的豐富
1. jquery 轉 DOM 對象:
jQuery 對象是一個數組對象,能夠經過[index]的豐富獲得 DOM 對象還能夠經過 get[index]去獲得相應的 DOM 對象。
2. DOM 對象轉 jQuery 對象:
$(DOM 對象)
2.7. jquery中$.get()提交和$.post()提交的區別?
2.8. $(document).ready()方法和window.onload 方法
1 window.onload 方法是在網頁中全部的元素(包括元素的全部關聯文件)徹底加載到瀏覽器後才執行的。
2 $(document).ready() 方法能夠在 DOM 載入就緒時就對其進行操縱,並調用執行綁定的函數。
2.9 xml有哪些解析技術?區別是什麼?
DOM: 一次性將整個文檔加載到內存中, 生成一個對象樹, 在處理大型文件時其性能降低的很是厲害。
DOM4J: 對 DOM 的進一步封裝, API 使用更簡潔
SAX:基於事件驅動的方法回調機制。每讀取一小部分數據時就會回調事件處理器對象的方法, 但解析一旦開始就不能中止.
PULL: 也是基於事件驅動, 只是須要手動控制讀取下一部分數據,這樣獲得想要的數據後就能夠中止解析.
2.10 項目中用到的XML技術及實現方式
答:用到了數據存貯,信息配置兩方面。在作數據交換平臺時,將不能數據源的數據組裝成 XML 文件,而後將 XML 文件壓縮打包加密後經過網絡傳送給接收者,接收解密與解壓縮後再同 XML 文件中還原相關信息進行處理。在作軟件配置時,利用 XML 能夠很方便的進行,軟件的各類配置參數都存貯在 XML 文件中。
2.11 你對JSON 的理解
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它基於標準
JavaScript 的一個子集,是一個 Js 對象或數組結構的字符串
JSON 有三類數據
有 number, string, boolean 和 null 四種類型數據
此部分包括: Servlet, Filter, Listener 和 HTTP 協議
答: 咱們能夠從下面二個方面去看 Servlet:
序須要實現的頂級接口
3.2 Servlet聲明週期:
答: Servlet 生命週期分爲三個階段:
1,初始化階段 調用 init()方法
2,響應客戶請求階段 調用 service()方法-àdoGet/doPost()
3,終止階段 調用 destroy()方法
3.3. 區別請求的轉發與重定向?
答: 能夠從如下三個方面進行比較
1.地址欄:
轉發: 顯示的是請求的 URL 重定向: 顯示的不是請求的 URL, 而是重定向指向的新的 URL
2.瀏覽器發了幾回請求? 轉發: 1 次請求重定向: 2 次請求
3. 是否能夠進行 Request 的數據共享? 轉發: 兩個資源之間是同一個 request 對象, 能夠共享 request 中的數據重定向: 兩個資源之間不是同一個 request 對象, 不能夠共享經典現實案例:
答: 能夠從如下幾個方面去回答:
GET: 經過請求行攜帶參數, 參數會顯示在地址欄
POST: 經過請求體來攜帶參數, 參數不會顯示在地址欄
GET: 會調用 Servlet 的 doGet()來處理請求
POST: 會調用 Servlet 的 doPost()來處理請求
GET: 大小有限制(小於 2k), 不安全
POST: 大小沒有限制, 安全
1. Filter 是一種特別的 Servlet, 它們的做用是徹底不同的. Servlet 是用來處理請求的, 而 Filter 是用來過濾檢查請求的.
經典現實案例:
假如咱們要去坐地鐵去天安門, 咱們須要先在檢票機上刷票後才能進站坐上地鐵, 請求問: 在這個實際業務中, 哪一個是 Servlet?哪一個是
Filter 呢?
4. Jsp 相關技術路線(紅線)
此部分包括: JSP, EL, JSTL, My Tag, I18N, FileUpDown
4.1 JSP的有哪些內置對象?做用分別是什麼?
答:JSP 共有如下 9 個內置的對象: request: 用戶端請求,此請求會包含來自 GET/POST 請求的參數 response: 網頁傳回用戶端的迴應 pageContext: 網頁的屬性是在這裏管理 session: 與請求有關的會話期 application: 與當前應用對應的 ServletContext 對象, 應用中只有一個 out: 用來傳送回應的輸出 {}<%= % > config: 與 jsp 配置對象的對象, 通常無用 page: jsp 對應的 Servlet 對象
exception: 針對錯誤網頁,未捕捉的異常對象
4.2有哪些動做?做用分別是什麼?
答:JSP 共有如下 6 種基本動做 jsp:include:在頁面被請求的時候引入一個文件。 jsp:forward:把請求轉到一個新的頁面。 jsp:useBean:尋找或者實例化一個 JavaBean。 jsp:setProperty:設置 JavaBean 的屬性。 jsp:getProperty:輸出某個 JavaBean 的屬性。 jsp:plugin:根據瀏覽器類型爲 Java 插件生成 OBJECT 或 EMBED 標記
<jsp:include page="/view/public/menu.jsp"></jsp:include>
答:主要有下面 3 種指令
contentType="text/html; charset=utf-8" //向瀏覽器端輸出數據的編碼 pageEncoding="utf-8" //jsp 文件被編譯成 java 文件時所用的編碼 session="true" //是否自動建立 session
三種指令:
<%@ include file="/public/tag.jsp"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
行的,每次請求都會執行.
4.5.JSP 和 Servlet 有哪些相同點和不一樣點,他們之間的聯繫是什麼?
答:
JSP 的優勢是擅長於網頁製做,生成動態頁面比較直觀,缺點是不容易跟蹤與排錯。 Servlet 是純 Java 語言,擅長於處理流程和業務邏輯,缺點是生成動態網頁不直觀。
EL 的功能包括:
爲何要用 EL?
在頁面中用 jsp 腳本和 jsp 表達式來獲取數據顯示比較麻煩
1. 須要條件判斷
2. 可能須要強轉
JSTL 的功能
JSTL 全名爲 JavaServer Pages Standard Tag Library, 主要用於基本輸入輸出、流程
控制、循環、XML 文件剖析、數據庫查詢及國際化和文字格式標準化的應用等爲何要用 JSTL?
在 jsp 頁面作條件判斷或循環操做並輸出時, 比較費力
3.7. 爲何要用自定義標籤?, MyTag如何實現
爲何要用?
1. 不想在 Jsp 中編寫 java 代碼 2. JSTL 標籤庫不能知足實際項目的需求
自定義標籤訂義和使用的流程
a) 重寫 doTag()
a) 整個文件的定義: <short-name> < uri >
b) 標籤的定義: <tag>
a) 導入標籤庫( xxx.tld/ )
b) 使用標籤
5. Web 會話相關技術路線(紫線)
此部分包括: Cookie 和 Session 技術
1. cookie 是一種瀏覽器端的緩存技術, 而 Session 是一種服務器端的緩存技術(依賴 cookie)
經典現實案例:
某咖啡廳推出了一個優惠活動:累計喝五杯咖啡能夠免費贈送一杯。他們該如何實現呢?
方法一: 咖啡廳辦卡(id,count), 交給消費者, 消費者下次再來消費時, 必須帶上卡,
消費一次由咖啡廳來更新卡上的數據, 再次交給消費者
方法二: 咖啡廳辦卡(id), id 和 count 都保存在咖啡廳的電腦中的表中, 將卡(id)交給消費者;消費者下次再來消費時, 必須帶上卡, 消費一次由咖啡廳來更新表中的數據, 再次交給消費者
5.2. 說說自動登錄功能的編碼實現?
5.3. 如何防止表單重複提交?
答: 使用 Session 技術:
其保存爲表單的隱藏域的值
一位乘客在北京火車站買了一張去天津的火車票(直接刷的那種) ,他刷票進站坐火車去了天津, 回來後過了幾天, 他又須要去天津此次他不想再買票, 直接拿上次的票去進站口刷, 檢票機提示「此火車票已使用過了」, 不能進站.
此部分包括: MVC, WebService 和 Mybatis
6.1 WEBMVC的各個部分都有那些技術來實現?如何實現?
答: MVC 是 Model-View-Controller 的簡寫。
Model 表明的是應用的業務邏輯(經過 JavaBean,EJB 組件實現),
View 是應用的表示面(由 JSP 頁面產生),
Controller 是提供應用的處理過程控制(通常是一個 Servlet),
經過這種設計模型把應用邏輯,處理過程和顯示邏輯分紅不一樣的組件實現。這些組件能夠進行交互和重用。
6.2Web Service
Web Service 是基於網絡的、分佈式的模塊化組件,它執行特定的任務,遵照具體的技術規範,這些規範使得 Web Service 能與其餘兼容的組件進行互操做。 JAXM(Java API for XML Messaging)
是爲 SOAP 通訊提供訪問方法和傳輸機制的 API。
WSDL:
是一種 XML 格式,用於將網絡服務描述爲一組端點,這些端點對包含面向
文檔信息或面向過程信息的消息進行操做。這種格式首先對操做和消息進行抽象描述,而後將其綁定到具體的網絡協議和消息格式上以定義端點。相關的具體端點即組合成爲抽象端點(服務)。
SOAP:
即簡單對象訪問協議(Simple Object Access Protocol),它是用於交換 XML 編
碼信息的輕量級協議。
6.3 技術的本質是使用哪幾種技術實現的?
HTTP + XML + Schema
6.5如何編碼請求一個webService
1. 根據 wsdl 文檔生成客戶端代碼. 2. 利用客戶端代碼編寫調用 webservice 的代碼.
6.6比較一下JDBC,dbutils,Mybatis和hibernate區別