當前位置:首頁 » 網頁前端 » web面試題及答案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

web面試題及答案

發布時間: 2022-01-30 17:19:44

㈠ Web前端面試題:響應式布局有哪些優點和缺點

響應式網頁設計

優點:

  • 跨平台和終端且不需要分配子域。

  • 兼容當前及未來設備。

  • 節約成本。一個域名,一套網頁。

缺點:

  • 兼容性 不兼容低版本瀏覽器。

  • 移動帶寬增多。

  • 載入事件長、無用代碼太多。

  • 內存大。

㈡ web前端面試題 網站首頁一般包含哪些內容

網站名稱,網站關鍵詞,網站描述,(頭部:導航,logo,)搜索欄,內容區,(尾部:版權區,友情連接),你可以網路「聊吧資源網」裡面有很多這樣的知識還有網站源碼和教程

㈢ web後端開發面試應該注意些什麼

web後端開發面試應該注意些什麼?有哪些題目是值得我們注意的?下面就讓小編告訴你:
面試這幾家公司所遇到的面試/筆試題,目前還能記住的如下。雖然可能絕大部分都是基礎,但希望大家不要只是看看就過去了,最好還是假裝你被問到這個問題,你來把答案說出來或寫出來:(不按公司分了)
python語法以及其他基礎部分
可變與不可變類型;
淺拷貝與深拷貝的實現方式、區別;deep如果你來設計,如何實現;
__new__() 與 __init__()的區別;
你知道幾種設計模式;
編碼和解碼你了解過么;
列表推導list comprehension和生成器的優劣;
什麼是裝飾器;如果想在函數之後進行裝飾,應該怎麼做;
手寫個使用裝飾器實現的單例模式;
使用裝飾器的單例和使用其他方法的單例,在後續使用中,有何區別;
手寫:正則郵箱地址;
介紹下垃圾回收:引用計數/分代回收/孤立引用環;
多進程與多線程的區別;CPU密集型適合用什麼;
進程通信的方式有幾種;
介紹下協程,為何比線程還快;
range和xrange的區別(他妹的我學的py3…);
由於我有C/C++背景,因此要求用C來手寫:將IP地址字元串(比如「172.0.0.1」)轉為32位二進制數的函數。
演算法排序部分
手寫快排;堆排;幾種常用排序的演算法復雜度是多少;快排平均復雜度多少,最壞情況如何優化;
手寫:已知一個長度n的無序列表,元素均是數字,要求把所有間隔為d的組合找出來,你寫的解法演算法復雜度多少;
手寫:一個列表A=[A1,A2,…,An],要求把列表中所有的組合情況列印出來;
手寫:用一行Python寫出1+2+3+…+10**8 ;
手寫python:用遞歸的方式判斷字元串是否為迴文;
單向鏈表長度未知,如何判斷其中是否有環;
單向鏈表如何使用快速排序演算法進行排序;
手寫:一個長度n的無序數字元素列表,如何求中位數,如何盡快的估算中位數,你的演算法復雜度是多少;
如何遍歷一個內部未知的文件夾(兩種樹的優先遍歷方式)
網路基礎部分
TCP/IP分別在模型的哪一層;
socket長連接是什麼意思;
select和epoll你了解么,區別在哪;
TCP UDP區別;三次握手四次揮手講一下;
TIME_WAIT過多是因為什麼;
http一次連接的全過程:你來說下從用戶發起request——到用戶接收到response;
http連接方式。get和post的區別,你還了解其他的方式么;
restful你知道么;
狀態碼你知道多少,比如200/403/404/504等等;
資料庫部分
Mysql鎖有幾種;死鎖是怎麼產生的;
為何,以及如何分區、分表;
MySQL的char varchar text的區別;
了解join么,有幾種,有何區別,A LEFT JOIN B,查詢的結果中,B沒有的那部分是如何顯示的(NULL);
索引類型有幾種,BTree索引和hash索引的區別(我沒答上來這倆在磁碟結構上的區別);
手寫:如何對查詢命令進行優化;
NoSQL了解么,和關系資料庫的區別;Redis有幾種常用存儲類型;
Linux部分
講一下你常用的Linux/Git命令和作用;
查看當前進程是用什麼命令,除了文件相關的操作外,你平時還有什麼操作命令;
(因為我本人Linux本身就很水,只會基本的操作,所以這部分面試官也基本沒怎麼問。。反正問了就大眼瞪小眼唄)
django項目部分
都是讓簡單的介紹下你在公司的項目,不管是不是後端相關的,主要是要體現出你幹了什麼;
你在項目中遇到最難的部分是什麼,你是怎麼解決的;
你看過django的admin源碼么;看過flask的源碼么;你如何理解開源;
MVC / MTV;
緩存怎麼用;
中間件是幹嘛的;
CSRF是什麼,django是如何避免的;XSS呢;
如果你來設計login,簡單的說一下思路;
session和cookie的聯系與區別;session為什麼說是安全的;
uWSGI和Nginx的作用;
上面就是小編為大家整理的關於web後端開發 面試的文章,希望對大家有幫助。在實際的操作過程中大家可以根據實際情況進行靈活的調整。

㈣ 網頁設計的面試題

1. ASP.NET Web應用程序的模板有哪些?它們之間的區別是什麼? 【解答】 模板有:ASP.NET網站、ASP.NET Web服務、個人網站初學者工具包、空網站四類。 ASP.NET網站_即通常說的Web 應用程序,它包括有文件系統站點、本地IIS站點、FTP站點和遠程站點四類。通過第11章的圖11-1中的「位置」來選擇不同的站點類型。 ASP.NET Web服務_是一個伺服器端提供的服務,該伺服器端提供了一些方法,這些方法可以在Internet上被其他客戶在任何操作平台上直接調用,而且不需要考慮這些方法是用哪種語言寫的。 個人網站初學者工具包_是一個已經創建好了的個人網站,其中包括主頁、摘要和相冊等。可以在此基礎上添加自己的內容或者是頁面。 空網站_創建時僅僅建立一個空白的項目,不包含任何文件或頁面。可以向其中添加所需要的各種資源文件。 2. 什麼是同步網站?上機完成例11-2,體會其含義。 【解答】 在本地網站和遠程網站間通過復制網站工具復制每一個文件的最新版本,以致兩個網站擁有所有文件的同一副本,這樣的過程就是同步網站。 3. HTML的含義是什麼?其主體部分由什麼標記構成? 【解答】 HTML即Hyper Text Markup Language超文本標記語言,是構成網頁最基本的元素。標記和之間的內容構成了HTML的主體部分,網頁中的所有內容,包括文字、圖形、鏈接以及其他頁面元素都包含在該標記符內。 4. 標記br和p有什麼區別? 【解答】 標記br和p都可以用來換行,但是二者是有區別的。<br>標記使當前行強行中斷而另 起一行,但是新行與原來的行保持相同的屬性,即新行與原來的行屬於同一段落,而<p>標記在換行的時候另起了一新的段落;< br>標記無對應的結束標記</br>,而<p>標記必須和</p>配合使用,不能省略< /p>。 5. URL指的是什麼?有何作用?分為幾種?有什麼區別? 【解答】 URL是統一資源定位符,用於定位Web上的文件信息。 URL有絕對和相對之分。絕對URL就是指完整的資源地址,具體形式為:協議名稱://計算機域名/路徑和文件名。一般情況下,在指定外部 Internet資源時應使用絕對URL。相對URL指資源相對於當前頁面的路徑。使用相對URL時,一般使用點「.」和雙點「..」表示當前目錄和上一 級目錄(父目錄)。在製作網站的時候,只要站點各資源的相對位置不變,就使用相對URL。 6. 試畫出代碼如下的表格。 【解答】 第6題 得到的表格 7 說明在網頁設計中層的作用。 【解答】 層,也就是DIV標記,是一個區塊級的HTML標記,在該標記之間可以添加段落、表格、圖片等內容,使同一個DIV標記中的元素具有相同的樣式,並可在頁面顯示時同時出現、移動以及隱藏。 它的主要作用有以下兩點:(1) 將一些標記元素組織起來,應用DIV的屬性為這些標記元素定義統一的樣式;(2) 利用其z-index屬性,實現頁面內各元素的重疊顯示效果;(3) 使頁面上顯示更多的特效功能。 8. 母版頁的作用是什麼? 【解答】 母版頁(Master Page)的擴展名為「.master」,它相當於網頁的模板。在其他網頁中,只要引用了母版頁,母版頁的頁面就可以自動顯示出來,設計者可以修改引用的 母版頁中預留的部分,其它部分保持不變,這樣就可以使多個頁面的風格保持一致,給網頁設計帶來了很大的方便。 9. CSS指的是什麼?在網頁製作中為什麼要使用CSS技術? 【解答】 CSS(Cascading Style Sheets)也叫層疊樣式表,它是用來控制網頁中一個或多個元素的外觀。在網頁製作中,使用樣式表可以減少很多具有相同外觀元素的重復設置工作,從而給 網頁的設計和維護帶來了很大的方便;具體應用是:改變樣式表中元素顯示樣式的定義,則在使用該樣式表的所有網頁中相應元素的顯示樣式都會自動發生改變。 10. 網頁製作中有哪幾種樣式設置方法?各有何特點? 【解答】 網頁製作中有:內聯式樣式設置、直接嵌入式樣式設置和外部鏈接式樣式設置三種方式。 1) 內聯式樣式設置: 設置方法:直接在要設置樣式的各標記元素中修改style屬性; 優點:直觀、方便; 缺點:不易於維護和修改; 適用於:網頁中個別需要修改的元素的樣式定義; 2) 直接嵌入式樣式設置: 設置方法:在HTML文檔的<head></head>之間添加<style></style>定義,<style></style> 部分是所有需要設置樣式的元素的屬性定義。 優點:對當前頁面內的所有元素的樣式修改、維護比較方便; 缺點:對於網站建設,要採用相同的樣式設置則比較麻煩; 適用於:單獨網頁的樣式定義; 3) 外部鏈接式樣式設置: 設置方法:把所有樣式定義放在一個獨立的文件中,凡是需要使用該文件中規定樣式的網頁,只要在其<head>與</head>之間添加一個對該樣式文件的鏈接:<link type="text/css" href="MyStyle1.css" rel="Stylesheet" />即可; 適用於:需要統一顯示樣式的網站建設。 11. 用戶自定義的類和ID在定義和使用時有什麼區別? 【解答】 定義時,類以英文形式的句點「.」為起始標志,ID以「#」為起始標志;使用時,類可以在一個頁面中被多個不同的元素引用,而ID在一個頁面中只能被引用一次。

㈤ Web前端崗位面試題有哪些

HTML+CSS

1.對WEB標准以及W3C的理解與認識

標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外 鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維 護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;

2.xhtml和html有什麼區別

HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言

最主要的不同:

XHTML 元素必須被正確地嵌套。

XHTML 元素必須被關閉。

標簽名必須用小寫字母。

XHTML 文檔必須擁有根元素。

3.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?

用於聲明文檔使用那種規范(html/Xhtml)一般為 嚴格 過度 基於框架的html文檔

加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug

4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?

塊級元素:div p h1 h2 h3 h4 form ul

行內元素: a b br i span input select

Css盒模型:內容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的區別是?

內聯 內嵌 外鏈 導入

區別 :同時載入

前者無兼容性,後者CSS2.1以下瀏覽器不支持

Link 支持使用javascript改變樣式,後者不可

6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?

標簽選擇符 類選擇符 id選擇符

繼承不如指定 Id>class>標簽選擇

後者優先順序高

7.前端頁面有哪三層構成,分別是什麼?作用是什麼?

結構層 Html 表示層 CSS 行為層 js

8.css的基本語句構成是?

選擇器{屬性1:值1;屬性2:值2;……}

9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?

Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

10.寫出幾種IE6 BUG的解決方法

1.雙邊距BUG float引起的 使用display

2.3像素問題 使用float引起的 使用dislpay:inline -3px

3.超鏈接hover 點擊後失效 使用正確的書寫順序 link visited hover active

4.Ie z-index問題 給父級添加position:relative

5.Png 透明 使用js代碼 改

6.Min-height 最小高度 !Important 解決』

7.select 在ie6下遮蓋 使用iframe嵌套

8.為什麼沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

11.標簽上title與alt屬性的區別是什麼?

Alt 當圖片不顯示是 用文字代表。

Title 為該屬性提供信息

12.描述css reset的作用和用途。

Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一

13.解釋css sprites,如何使用。

Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量

14.瀏覽器標准模式和怪異模式之間的區別是什麼?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可顯示為什麼模式

15.你如何對網站的文件和資源進行優化?期待的解決方案包括:

文件合並

文件最小化/文件壓縮

使用CDN託管

緩存的使用

16.什麼是語義化的HTML?

直觀的認識標簽 對於搜索引擎的抓取有好處

17.清除浮動的幾種方式,各自的優缺點

1.使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)

2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)

3.是用afert偽元素清除浮動(用於非IE瀏覽器)

Javascript

1.javascript的typeof返回哪些數據類型

Object number function boolean underfind

2.例舉3種強制類型轉換和2種隱式類型轉換?

強制(parseInt,parseFloat,number)

隱式(== – ===)

3.split() join() 的區別

前者是切割成數組的形式,後者是將數組轉換成字元串

4.數組方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部刪除

Unshift()頭部添加 shift()頭部刪除

5.事件綁定和普通事件有什麼區別

6.IE和DOM事件流的區別

1.執行順序不一樣、

2.參數不一樣

3.事件加不加on

4.this指向問題

7.IE和標准下有哪些兼容性的寫法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax請求的時候get 和post方式的區別

一個在url後面 一個放在虛擬載體裡面

有大小限制

安全問題

應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的

9.call和apply的區別

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax請求時,如何解釋json數據

使用eval parse 鑒於安全性考慮 使用parse更靠譜

11.b繼承a的方法

12.寫一個獲取非行間樣式的函數

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

13.事件委託是什麼

讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!


14.閉包是什麼,有什麼特性,對頁面有什麼影響

閉包就是能夠讀取其他函數內部變數的函數。

15.如何阻止事件冒泡和默認事件

canceBubble return false

16.添加 刪除 替換 插入到某個接點的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

17.解釋jsonp的原理,以及為什麼不是真正的ajax

動態創建script標簽,回調函數

Ajax是頁面無刷新請求數據操作

18.javascript的本地對象,內置對象和宿主對象

本地對象為array obj regexp等可以new實例化

內置對象為gload Math 等不可以實例化的

宿主為瀏覽器自帶的document,window 等

19.document load 和document ready的區別

Document.onload 是在結構和樣式載入完才執行js

Document.ready原生種沒有這個方法,jquery中有 $().ready(function)

20.」==」和「===」的不同

前者會自動轉換類型

後者不會

21.javascript的同源策略

一段腳本只能讀取來自於同一來源的窗口和文檔的屬性,這里的同一來源指的是主機名、協議和埠號的組合

22.編寫一個數組去重的方法

function oSort(arr)

{

var result ={};

var newArr=[];

for(var i=0;i<arr.length;i++)

{

if(!result[arr])

{

newArr.push(arr)

result[arr]=1

}

}

return newArr

}

㈥ Web前端崗位面試題有哪些

其實,不管是什麼樣的面試形,問的問題都差不多,萬變不離其宗,都有規律可尋。其實對所有的面試官而言,只有一個目的:在最短的時間里了解到你最多的信息。想高效率的准備面試,先從這七個大方面著手吧!
一、基本情況
1、請用最簡潔的語言描述您從前的工作經歷和工作成果。
二、專業背景
您認為此工作崗位應當具備哪些素質?
三、工作模式
您平時習慣於單獨工作還是團隊工作?
四、價值取向
您對原來的單位和上司的看法如何?
五、資質特性
您如何描述自己的個性?
六、薪資待遇
是否方便告訴我您目前的待遇是多少?
七、背景調查
您是否介意我們通過您原來的單位迚行一些調查?
95%的面試基本上都離不開這些問題,當然還有可能問一些專業問題,我想如果你做過的話應該都不是什麼難事,一般面試官都不會過多的問專業方面的問題的。

㈦ 有哪些經典的 Web 前端或者 JavaScript 面試筆試題

25 個最基本的 JavaScript 面試問題及答案
http://web.jobbole.com/92323/
我剛看完

㈧ 有哪些經典的前端開發面試題及答案解析

行元素與塊元素的區別;

如何清除浮動;

定位方式當中,absolute與fixed、relative的區別;

事件的兼容問題;

Ajax是什麼;

如何優化你的頁面;

響應式布局是什麼等等。

經典的前端面試題至少有近百道,在這里也沒辦法全部給你列出來,你可以看看這個(小-程序),裡面有好幾百道面試真題,也有比較好的答案解析。

㈨ web前端面試經常問到的面試題有哪些

Web前端經常被問到的面試題及答案

一、HTML+CSS

1.對WEB標准以及W3C的理解與認識

標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外
鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維
護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;

2.xhtml和html有什麼區別

HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言

最主要的不同:

XHTML 元素必須被正確地嵌套。

XHTML 元素必須被關閉。

標簽名必須用小寫字母。

XHTML 文檔必須擁有根元素。

3.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?

用於聲明文檔使用那種規范(html/Xhtml)一般為 嚴格 過度 基於框架的html文檔

加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug

4.行內元素有哪些?塊級元素有哪些?CSS的盒模型?

塊級元素:div p h1 h2 h3 h4 form ul

行內元素: a b br i span input select

Css盒模型:內容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的區別是?

內聯 內嵌 外鏈 導入

區別 :同時載入

前者無兼容性,後者CSS2.1以下瀏覽器不支持

Link 支持使用javascript改變樣式,後者不可

6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?

標簽選擇符 類選擇符 id選擇符

繼承不如指定 Id>class>標簽選擇

後者優先順序高

7.前端頁面有哪三層構成,分別是什麼?作用是什麼?

結構層 Html 表示層 CSS 行為層 js

8.css的基本語句構成是?

選擇器{屬性1:值1;屬性2:值2;……}

9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?

Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

二、Javascript

1.javascript的typeof返回哪些數據類型

Object number function boolean underfind

2.例舉3種強制類型轉換和2種隱式類型轉換?

強制(parseInt,parseFloat,number)

隱式(== – ===)

3.split() join() 的區別

前者是切割成數組的形式,後者是將數組轉換成字元串

4.數組方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部刪除

Unshift()頭部添加 shift()頭部刪除

5.事件綁定和普通事件有什麼區別

6.IE和DOM事件流的區別

1.執行順序不一樣、

2.參數不一樣

3.事件加不加on

4.this指向問題

7.IE和標准下有哪些兼容性的寫法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax請求的時候get 和post方式的區別

一個在url後面 一個放在虛擬載體裡面

有大小限制

安全問題

應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的

9.call和apply的區別

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax請求時,如何解釋json數據

使用eval parse 鑒於安全性考慮 使用parse更靠譜

11.b繼承a的方法

12.寫一個獲取非行間樣式的函數

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

㈩ Java Web的一些面試問題求解答

1、一般封閉到框架中,自動提交false——調用action(資料庫操作)——提交事務—關閉connection
2、重載:方法名相同,參數(個數或類型)不同(稱之為簽名不同)
3、要看代碼,經驗多的人寫的代碼邏輯性強,bug會比較少,速度快,考慮得比較周全
4、頁面就jsp動態頁面,一般由美工做好,需運態的地方從後台獲取數據,運態顯示,運行的時候會先轉為servlet實際為servlet+html
5、記錄在日誌,如果方法由上級調用,往上拋
6、Junit在一個方法中就可以運行,運行你寫的代碼,和有沒資料庫沒關系
7、不用框架的話就注意sql注入問題,框架的話hibernate要注意級聯操作,ibatis注意假分頁,一般做一個分頁攔截器
8、測試的話要看要做哪些測試,還要看功能,寫測試報告的話下個模版比較快兩天
9、各種各樣的問題,與需求不符,邏輯性錯誤,用戶體驗度方面的……
10、小了一個小組一周,中等的,一個小組三四個月,大的一個小組做一年多
11、做下一個項目,項目維護,部署方面一般由組長及領導負責
12、後台將信息反回前台,前台接收判斷,提示錯誤信息
13、弄斷點一般是為了找錯,根據代碼打,你想在哪一步暫停,查看,就在哪一步打,一般手動
14、異常要麼try catch要麼就往上拋
15、沒寫過
16、很少很eclipse,用myeclipse 5.5
17、用get方法
18、ssi是struts,spring,ibatis框架,C:controller/action ;M:實體類User;V:struts中xml映射的jsp頁面
19、取出來equals比較下
20、如果是像new int[10]的話就有10個元素否則用A.length來看
21、不知道
22、用來記錄日誌,一般每天一個日誌
23、編碼?一般utf-8/gbk在eclipse設置整個項目格式
24、hibernate映射文件可以反轉自動生成.hbm.xml文件,和spring整合的話.cfg.xml就不需要了配置在spring的配置文件里:
<bean id="mydataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/zhang?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root"></property>
<property name="password" value="123456"></property>
</bean>
<bean id="mysessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="mydataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<!-- 開啟二級緩存 -->
<prop key="jobernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.provider_class">
net.sf.ehcache.hibernate.EhCacheProvider
</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
</props>
</property>
<property name="mappingResources">
<list>

<value>com/entity/User.hbm.xml</value>
<value>com/entity/Proct.hbm.xml</value>
<value>com/entity/Item.hbm.xml</value>
<value>com/entity/Category.hbm.xml</value>
<value>com/entity/Address.hbm.xml</value>
<value>com/entity/Order.hbm.xml</value>

</list>
</property>
</bean>
25、依情況而定
26、比如學生表t_stu和得分表t_score,t_score中的stuid對應t_stu中的主鍵id,那麼stuid就是t_stu的外鍵,主鍵與外鍵關系為1對1或者1對多
27、#表示傳進來的傳數為一個字元串(如果字元串已有引號則不再加引號,如果沒有引號則加上引號,為了防止sql注入),$表示按傳入進來的字元串,不再進行判斷
28、spring+hibernate中事物配置:
<!-- 定義事務管理 -->
<bean id="txtManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="mysessionFactory"></property>
</bean>
<!-- 定義一個通知,管理規則 -->
<tx:advice id="txtAdvice" transaction-manager="txtManager">
<tx:attributes>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="find*" propagation="NOT_SUPPORTED"/>
<tx:method name="get*" propagation="NOT_SUPPORTED"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="within(com.tarena.dang..impl.*)" id="servicePointcut"/>
<!-- 將txtAdvice和切入點相結合 -->
<aop:advisor advice-ref="txtAdvice" pointcut-ref="servicePointcut"/>
</aop:config>
sprint+mybatis配置:
<!-- 事務 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置事務的傳播特性 -->
<bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="transactionManager" ref="transactionManager" />
<property name="transactionAttributes">
<props>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="edit*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="cancel*">PROPAGATION_REQUIRED</prop>
<prop key="*">readOnly</prop>
</props>
</property>
</bean>
29、用框架一般不會有sql注入,框架都有考慮到的,jdbc的話用PreparedStatement