1. 程式人生 > >Java ee 面試題 SSM框架原理,作用及使用方法 JavaEE面試題收集 javaEE面試題(一) SSM框架原理,作用及使用方法 JavaEE面試題收集

Java ee 面試題 SSM框架原理,作用及使用方法 JavaEE面試題收集 javaEE面試題(一) SSM框架原理,作用及使用方法 JavaEE面試題收集

SSM框架原理,作用及使用方法

https://blog.csdn.net/dennis_wu_/article/details/73437097

原理:

springmvc

  1. 客戶端傳送請求到dispacherservlet(分發器)
  2. 由dispacherservlet控制器查詢handermapping,找到處理請求的controller
  3. 由controller呼叫業務邏輯處理後,返回modelandview
  4. dispacherservlet查詢檢視解析器,找到modelandview指定的檢視
  5. 檢視負責將結果顯示到客戶端

spring:我們平時開發接觸最多的估計就是IOC

他可以裝載bean(也就是我們java中的類,當然也包括service dao裡面的),有了這個機制,我們就不用再每次使用這個類的時候為他初始化,很少看到關鍵字new。另外spring的aop,事務管理等等都是我們經常用到的。

mybatis:是對jdbc的封裝,他讓資料庫底層操作變得透明,mybatis的操作都是圍繞著一個sqlsessionfactory例項展開的。mybatis通過配置檔案關聯到各實體類的mapper檔案,mapper檔案中配置了每個類對資料庫所需進行的sql語句對映,在每次與資料庫互動時,通過sqlsessionfactory拿到一個sqlsession,在執行sql命令。

集合的表示方法有哪些?

集合型別主要有3種,set(集)、list(列表)、map(對映)

集合介面為:collection和map,list、set實現了collection介面

java集合類_百度百科


JAVA集合類彙總 - lipper_p - 部落格園

JavaEE面試題收集


Java EE平臺構建於Java SE平臺之上,Java EE平臺提供一組API和執行環境來開發和執行大規模的,多層的,可擴充套件的,可靠的和安全的網路應用程式。這裡會不斷收集和更新JavaEE基礎相關的面試題,目前已收集84題。

1.Javascript中常用的事件有哪些?


      
  1. Onsubmit:提交
  2. Onblur:失去焦點
  3. Onclick:單擊
  4. Onload:載入頁面
  5. Onchange:內容改變
  6. onMouseMove:滑鼠移動
  7. onMouseOver:滑鼠經過
  8. onMouseOut:滑鼠移出
  9. onselect:下拉選項被選中
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.js如何實現頁面重新整理呢?


      
  1. history .go(0)
  2. location .reload()
  • 1
  • 2
  • 3

3.頁面前進或者後退

前進


      
  1. history .go(1)
  2. history .forward
  • 1
  • 2
  • 3

後退


      
  1. History .go( -1)
  2. History .back
  • 1
  • 2
  • 3

4.Js如何跳轉到到一個指定頁面

Location.href=url
History.go(url)

5.使用js獲取一個表單元素


      
  1. Document .getElementById()
  2. Document .getElementsByName()
  3. Document .getElementsByTagName()
  • 1
  • 2
  • 3
  • 4

6.如何阻止表單提交

Onsubmit=“return false”

7.正則表示式有那些符號?


      
  1. $:匹配字串結束的位置
  2. ^:匹配字串開始的位置
  3. *:匹配零次或者多次
  4. +:匹配至少一次
  5. ?:匹配零次或者一次
  6. .:匹配除換行符 \n之外的任何單字元
  7. {n}:n 是一個非負整數,匹配確定的 n 次
  8. {n,m}:m 和 n 均為非負整數,表示最多和最少匹配次數,其中n <= m
  9. \w:匹配單個字元(a-z,0-9,_)
  10. \W:與\w相反
  11. \d:匹配數字
  12. \D:與\d相反
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

8.Sql中delete與truncate的區別

DELETE:選擇性地刪除資料,當刪除整張表的資料時效率較低;只能刪除整張表的資料,但是效率高於使用DELETE語句;不能選擇性地刪除。當truncate執行刪除之後,自動生成的主鍵值重新從預設值開始。

9.Xml的java解析有幾種方式?

Java API解析xml主要有兩種方式;

Dom解析:一次性載入整個文件,生成樹形結構。在生成的文件物件中,可以對節點進行增刪改查的操作。當xml文本當較小的時候,可以使用dom解析。

Sax解析:基於事件的解析方式,解析速度比較快,解析的文件大小理論上是沒有限制的。

還有一些開源的技術可以解析xml,dom4j或者jdom。

10.Sql優化有那些方法?


      
  1. 表的設計要規範,即要符合資料庫設計三正規化。
  2. 適當建立索引,在頻繁作為檢索條件,更新較少的欄位上建立索引,以提高查詢速度。
  3. 分表查詢,有水平分割、垂直分割。
  4. 讀寫分離,讀(read)、寫( createupdatedelete)。
  5. 建立儲存過程。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

11.Json是什麼?

Json(javascript simple object notation):輕量級的資料交換格式。

12.如何建立一個json物件?

使用{}例項化一個json物件,json物件多個元素使用逗號隔開,每個元素都是一個鍵值對

13.如何解析json物件?

使用json-lib、gson、jackson可以解析json物件。需要將json物件轉換成一個java物件,使用java物件訪問屬性。

14.聚集索引與非聚集索引有什麼區別?

所有的索引都是為了更快地檢索資料,索引存放在索引頁中,資料存放在資料頁中,索引以B(balance)樹的形式儲存

聚集索引:聚集索引用於決定資料表中的物理儲存順序,一張表最多有一個聚集索引。聚集索引的欄位值儘量不能修改,因為修改後,因為修改後資料表的物理順序需要重寫排序。通常主鍵就是聚集索引

非聚集索引:非聚集索引的關鍵自是index,不會決定表的物理儲存順序,在一張表內最多可以有249個非聚集索引。

15.一個類檔案中能否有多個類?有什麼要求?

可以。但是隻能有一個public類,而且public修飾的類名與檔名必須一致

16.你知道有哪些開源框架?


      
  1. Poi:操作office文件
  2. Jfreechat:生成各種圖表
  3. Ckeditor:論壇中的富文字輸入框
  4. Lucena:用於搜尋技術
  5. Pinyin4j:操作漢字的拼音
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

17.什麼是事務?事務有那些特點?

事務:

單個邏輯單元執行的一系列操作,要麼全部執行,要麼全部不執行。

      
  • 1
  • 2

特點:


      
  1. 原子性(Atomicity):事務中各元素不可分割,全部執行成功或者撤銷所有的操作
  2. 一致性(Consistency):事務完成後資料保持一致的狀
  3. 隔離性(Isolation):事務是相對獨立的,對某資料進行修改時,其他事務不變
  4. 永續性(Durability):事務完成後對系統的影響是永久性的。
  • 1
  • 2
  • 3
  • 4
  • 5

18.事務的使用場景在什麼地方?

但一個業務邏輯包括多個數據庫操作的時候,而且需要保證每個資料表操作都執行的成功進行下一個操作,這個時候可以使用事務

19.Js如何實現動態效果?

操作dom,改變dom的結構

20.Jsp由哪些內容組成?


      
  1. 指令: <%@ %>
  2. 指令碼: <% %>
  3. 表示式: <%=%>
  4. 宣告: <%! %>
  5. 註釋: <% -- %>
  6. 動作: <jsp:動作名稱 屬性=””>
  7. 靜態內容:html內容
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

21.Jsp包含那些隱藏物件或者內建物件


      
  1. Page
  2. pageContext
  3. request
  4. response
  5. out
  6. session
  7. application
  8. config
  9. exception
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

22.如何使用exception物件?

用於處理JSP檔案執行時發生的所有錯誤和異常,只有在page指令中設定isErrorPage值為true的頁面中才可以被使用,在一般的JSP頁面中使用該物件,將無法編譯JSP檔案。

23.Get請求與post有什麼區別?


      
  1. Get請求傳送的文字內容大小有限制,而post請求沒有限制
  2. Get請求的請求引數會出現在url路徑中,而傳送post請求時,引數不會顯示在url路徑中
  3. Get安全係數較低,但是效率較高。Post安全係數較高,但效率較低
  4. Get請求只能傳送字串,post請求可以提交二進位制資料
  • 1
  • 2
  • 3
  • 4
  • 5

24.計算機網路有幾層?


      
  1. 應用層
  2. 表示層
  3. 會話層
  4. 傳輸層
  5. 網路層
  6. 資料鏈路層
  7. 物理層
  8. (物理層是最底層,應用層是最高層)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

25.常見的計算機網路協議有那些?


      
  1. TCP/IP協議
  2. IPX/SPX協議
  3. NetBEUI協議
  • 1
  • 2
  • 3
  • 4

26.Tcp協議的特點


      
  1. TCP 是面向連線的傳輸層協議
  2. 每一條 TCP 連線只能有兩個端點(endpoint),每一條 TCP 連線只能是點對點的(一對一)
  3. TCP 提供可靠交付的服務
  4. TCP 提供全雙工通訊
  5. 面向位元組流
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

27.Java網路程式設計有幾種?


      
  1. TCP程式設計
  2. UDP程式設計
  • 1
  • 2
  • 3

28.TCP程式設計與UDP程式設計有什麼區別?


      
  1. TCP協議:傳輸控制協議,提供可靠無差錯的資料傳輸,效率較低
  2. UDP協議:使用者資料報協議,不可靠的資料傳輸,效率較高
  • 1
  • 2
  • 3

29.建立socket通訊的步驟?


      
  1. 伺服器程式建立一個ServerSocket,然後再用 accept方法等待客戶來連線
  2. 客戶端程式建立一個Socket並請求與伺服器建立連線
  3. 伺服器接收客戶的連線請求,並建立一個新的Socket與該客戶建立專線連線
  4. 剛才建立了連線的兩個Socket在一個執行緒上對話
  5. 伺服器開始等待新的連線請求
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

30.Java中如何實現多執行緒


      
  1. 繼承Thread類
  2. 實現Runnable介面
  3. 推薦使用Runnable介面
  • 1
  • 2
  • 3
  • 4

31.Java中Synchronized關鍵字的使用?

Synchronized關鍵字在方法簽名上,可以防止多個執行緒同時訪問這個物件的synchronized修飾的方法。如果一個物件有多個synchronized方法,只要一個執行緒訪問其中的一個同步方法,那麼其他執行緒就不能訪問物件其他的任何一個同步方法。不同物件例項的synchronize方法是互不干擾的,也就是說,其他物件還可以訪問這個類中的同步方法。

Synchronized如果修飾的是靜態方法,防止多個執行緒同時訪問這個類中的靜態同步方法,它對類中所有物件都能起作用。也就是說,只有一個物件一個執行緒可以訪問靜態同步方法

Synchronized修飾方法中的某段程式碼塊,只對當前程式碼塊實行互斥訪問。當多個執行緒同步訪問同步程式碼塊,同一時間只能有一個執行緒得到執行,其他執行緒必須等待當前執行緒執行完程式碼塊之後才能執行。當一個執行緒訪問同步程式碼快時,其他執行緒可以訪問非同步的程式碼。當一個執行緒訪問同步程式碼塊時,那麼其他執行緒訪問對其他同步程式碼塊的訪問將會被阻塞

Synchronized關鍵字是不能繼承的,如果父類的synchronized在繼承時並不自動是synchronized修飾的,需要顯示地宣告。

Synchronized修飾this時,會得到這個物件的物件鎖,當一個執行緒訪問時,那麼其他執行緒訪問物件的所有同步程式碼塊或者同步方法,將會被阻塞。

32.什麼是執行緒池?

在一個應用程式中初始化一個執行緒集合,然後在需要執行新的任務時重用執行緒池中的執行緒,而不是建立一個新的執行緒。執行緒池中的每個執行緒都有被分配一個任務,一旦任務完成,執行緒就回到執行緒池中,等待下一次的任務分配

33.什麼是遊標?

遊標是sql查詢結果集的一個指標,與select語句相關聯。

遊標關鍵字是cursor,主要包含兩個部分:遊標結果集和遊標位置。


      
  1. 遊標結果集:執行 select語句後的查詢結果
  2. 遊標位置:一個指向遊標結果集內某條記錄的指標。
  • 1
  • 2
  • 3

遊標主要有兩個狀態:開啟和關閉。


      
  1. 只有當遊標處於開啟狀態時,才能夠操作結果集中的資料
  2. 當遊標關閉後,查詢結果集就不存在了
  • 1
  • 2
  • 3

34.遊標的建立步驟?


      
  1. 定義遊標
  2. 開啟遊標
  3. 操作遊標資料
  4. 關閉遊標
  • 1
  • 2
  • 3
  • 4
  • 5

35.在做檔案上傳的時候,form表單的enctype的指是什麼?

Mulitipart/form-data

Html中a標籤的target屬性有哪些值?


      
  1. _ blank:在新的視窗開啟網頁
  2. _ self:在本頁面開啟新網頁
  3. _ parent:在父 frameset框架開啟網頁
  4. _ top:去掉所有頁面框架,使用 document .htnl替代 frameset文件
  • 1
  • 2
  • 3
  • 4
  • 5

36.當開啟其他程式的網頁時,使用的target屬性是哪個?

_top

37.Servlet的生命週期?


      
  1. 載入:判斷servlet例項是否存在,如果不存在,就載入serlvet
  2. 例項化:
  3. 初始化
  4. 服務
  5. 銷燬
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

38.Servlet生命週期內呼叫的方法過程?


      
  1. Init()
  2. Service()
  3. doGet或者doPost
  4. destroy
  • 1
  • 2
  • 3
  • 4
  • 5

39.執行緒的生命週期?


      
  1. 新建
  2. 就緒
  3. 執行
  4. 死亡
  5. 阻塞
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

40.Statement與preparedStatement區別

preparedStatement會預編譯sql語句,能夠提高批量的資料操作的執行效率,Statement執行slq的時候才進行編譯

Preparedstatement在第一次執行sql的時候,比較耗費資源。如果只對資料庫進行一次操作,使用statement比較好。

Statement會出現sql注入的問題,使用preparedstatment可以解決sql注入

41.Session與cookie的區別?


      
  1. Session儲存在服務端,cookie儲存在客戶端
  2. Session儲存是物件,cookie只能儲存字串
  3. Session不能設定路徑,cookie可以設定儲存路徑。同一個網站不同網頁的cookie可以儲存到不通的路機構下,彼此是無法相互訪問的。
  4. Session在伺服器關閉後會自動消失,cookie則不會。
  • 1
  • 2
  • 3
  • 4
  • 5

42.儲存過程與函式的區別


      
  1. 儲存過程的關鍵自是 procedure,函式關鍵字是function
  2. 函式必須有返回值,儲存過程沒有返回值,但是有傳出引數
  3. 函式注重的是結果,儲存過程注重的是過程
  4. 函式可以在select語句中直接使用,而儲存過程則不能
  • 1
  • 2
  • 3
  • 4
  • 5

43.會話跟蹤技術有那些?


      
  1. Session
  2. Cookie
  3. 表單隱藏域
  4. url重寫
  • 1
  • 2
  • 3
  • 4
  • 5

44.jspservlet中通訊作用域有那些?


      
  1. PageContext
  2. Request
  3. Session
  4. Application
  • 1
  • 2
  • 3
  • 4
  • 5

45.url是什麼?由哪些部分組成?


      
  1. 統一資源定位符
  2. http: //localhost:8080/myWeb/index.html:協議+主機地址+埠+專案名稱+資源名稱
  • 1
  • 2
  • 3

46.你所知道的web伺服器有哪些?


      
  1. Tomcat
  2. Jboss
  3. Weblogic
  4. Glassfish
  • 1
  • 2
  • 3
  • 4
  • 5

47.如何部署一個web專案?


      
  1. 可以將 web專案打包成 .war檔案
  2. 相關推薦

    Java程式設計師從笨鳥到菜鳥之一百sql注入攻擊詳解sql注入原理詳解

    分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

    crm銷售管理系統SSM框架搭建

    前言:ssm框架是spring+springMvc+Mybatis的縮寫,是繼SSH框架後又一個主流的java EE企業級框架,適用於搭建各種大型的企業級應用系統。這不,我所在公司的產品也是基於該主流框架進行搭建的。初識SSM框架是各種的不適應,不過使用久了發現ssm框架異常順手。使用幾個月下來可以說在開發公

    UE4移動元件詳解——移動框架與實現原理

    前言 關於UE4的移動元件,我寫了一篇非常詳細的分析文件。由於篇幅比較大,我將其拆分成三個部分。分別從移動框架與實現原理,移動的網路同步,移動元件的優化與改造三個方面來寫。這三篇文件中難免有問題和漏洞,所以我也會在發現問題時及時更新和修改,也希望大家能給出一些

    java集合篇——ArrayList擴容原理

        相信大家都對ArrayList相當熟悉了,今天筆者就對ArrayList的原始碼進行解讀,講解一下對ArrayList擴容的基本原理。雖然大家都有用過,但還是簡單介紹一下吧,ArrayList實現了List的介面,並且實現了序列化,同樣具有collection的方法,

    SpringMVC學習———— springmvc框架原理分析和簡單入門程式

    一、什麼是springmvc?       我們知道三層架構的思想,並且如果你知道ssh的話,就會更加透徹的理解這個思想,struts2在web層,spring在中間控制,hibernate在dao層與資料庫打交道,而前面剛寫的mybatis跟hibernate一樣,與資料庫打交道在dao層的另一個框架,而

    Selenium Java Web 自動化實踐總結Selenium工作原理

       自動化也做了有些年了,近期準備寫一些經驗做一些分享。現在主流的web自動化要屬Selenium了。當然了QTP 還有 LoadRunner 也能實現web自動化的一些功能,這裡我們不做探討。寫工作原理的文章有很多,我就不自己寫了。推薦大家看一篇。https://www.

    Android java層音訊相關的分析與理解基本框架

    最近在整理之前在公司寫的一些文件,於是決定將部分適用比較廣的文件整理在部落格中,供大家參考。第一個系列是AudioService相關的。這個可以算是《深入理解Android 卷Ⅲ》的一個讀書筆記吧。整體的思路基本上與《深入理解Android 卷Ⅲ》的Audio部分差不多。只

    細談Struts2框架 Struts2框架原理

    1.Struts發展歷程 Struts 最早是作為Apache Jakarta專案的組成部分,專案的創立者希望通過對該專案的研究,改進和提高JavaServer Pages、Servlet、標籤庫以及

    LocationManager-定位方式原理解析

    一段時間 接入點 work use npr roi 無線網 服務器 輔助 參考資源:android 4種定位原理及實現——1 android使用不同的方法為應用提供位置信息。 定位的方式有三種:GPS地位(A-GPSAssistedGPS:輔助全球衛星定位系統,或者是同步G

    OpenGL在MFC中的使用總結——基本框架

    palette 接受 white 要求 無效 結構 del 一次 是你 項目中要畫3D顯示的模型,於是要用到OpenGL,加上是在MFC中,並且是在MFC中的ActiveX中使用。再並且鑒於他們程序主框架的設定。常規的方法還不一定能實現。所以還是查過不少資料,在此一一總

    Android網絡編程HTTP協議原理

    客戶 獲取版本 接口 開發人員 linu 系統 拒絕 sts inter 相關文章 Android網絡編程(一)HTTP協議原理 Android網絡編程(二)HttpClient與HttpURLConnection Android網絡編程(三)V

    淺談MES系統SMT的JIT功能:JIT原理

    工廠 介紹 網上 今天 需要 後臺 pcb 配送 這也 前段時間幫忙客戶實現了MES系統的SMT線上的JIT功能(JIT功能只適合電子行業的生產線),今天就來談談JIT功能是什麽,為什麽工廠車間需要用到JIT等等一些經驗 首先說說JIT: 準時制生產方式(Just In

    MySQL數據庫中的索引——索引實現原理

    物理地址 關鍵字 必須 增加 pic 搜索索引 而是 哈希索引 掃描 今天我們來探討一下數據庫中一個很重要的概念:索引。 MySQL官方對索引的定義為:索引(Index)是幫助MySQL高效獲取數據的數據結構,即索引是一種數據結構。 我們知道,數據庫查詢是數據庫的最主要功能

    Jacoco簡析原理 和 改造新增代碼覆蓋率標識進入報告

    element ssp fff scounter except div clas ioe ntop 首先從註入方式開始: On-the-fly插樁: JVM中通過-javaagent參數指定特定的jar文件啟動Instrumentation的代理程序,代理程序在通過

    【Effective Java讀書筆記】創建和銷毀對象:考慮使用靜態工廠方法代替構造器

    返回對象 boolean 簡化 將不 其他 種類型 bigint color pre 類可以提供一個靜態方法,返回類的一個靜態實例,如Boolean包裝類的一個獲取實例的靜態方法 1 public static Boolean valueOf(boolean b) { 2

    python selenium系列框架介紹安裝

    row pre ive AS baidu mar 在操作 pan 但是 一 selenium是什麽?引用百度百科的介紹selenium的一段話:“Selenium 是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的

    java+selenium的入門 案例 selenium包 谷歌驅動包 火狐驅動包 IE驅動包

    目錄 前言 selenium是什麼? Selenium的下載使用 Selenium下載 Selenium下載地址 Selenium之谷歌驅動包 chromedriver包下載地址 Selenium使用 前言 在學習selenium之前,要了解selen

    高效學習源頭、原理和知識地圖

    所有內容均來自左耳朵耗子的極客專欄 挑選知識和資訊源 如果你覺得用百度搜中文關鍵詞就可以找到自己想要的知識,那麼你一定遠遠落後於這個時代了。如果你用 Google 英文關鍵詞可以找到自己想要的知識,那麼你算是能跟得上這個時代。如果你能在社群裡跟社群裡的大牛交流得到答

    Scrapy框架學習Scrapy框架介紹

    Scrapy框架的架構圖如上。 Scrapy中的資料流由引擎控制,資料流的過程如下: 1.Engine開啟一個網站,找到處理該網站的Sprider,並向該Sprider請求第一個要爬取得URL。 2.Engine從Sprider中獲取到第一個要爬的URL,並通過Scheduler以Requ