2017-05-07,週日整理

  上一週的總結任務被我犯拖延症給拖到了這一週,二期的測試考的不好,除了本身應試的技巧有問題以外,還有對已經學過的東西並無造成一個很深入的印象,致使動手答題時,只能獲得一個模糊不許確的答案。吸收教訓,確實在二期末尾這短期很放鬆,沒有去穩固知識點,沒有去拓展知識點。上一週和這一週講了設計模式,velocity、struts二、mybatis、spring四個框架,知識內容很是之多,學起來感受到吃力,因此在以後,必定要繼續認真對待,對於該記憶和理解的重點必定要能手寫出來,一切爲了面試能輕鬆!前端

1.Velocityjava

  velocity是一個基於java的模版引擎,將java代碼和web頁面分離。web

  velocity引擎讀取模版(.vm文件)時,直接輸出模版文件中的全部文本,但以$字符開頭的除外,$符號標識着一個模版變量的位置。面試

  模版引擎的最強大功能是內建的映像引擎查找對象信息。「.」操做符可以方便的提取任意加入到VelocityContext的對象的任何公有方法,或對象的任意屬性。算法

  在編寫模版時,可使用VTL語言來輔助設計模版,VTL語句以#開頭,變量以$開頭。velocity應用於web中的步驟:1,加包。2,配置web.xml文件,添加一個<servlet>'設置VelocityViewServlet'</servlet> 和一個 <servlet-mapping>'設置相應的模版文件'</servlet-mapping>,模版文件中的數據搜索範圍從page---servletContext。在使用時,將服務器端跳轉到模版文件,就能在瀏覽器上顯示已經導入好數據的頁面了。spring

2.設計模式編程

  設計模式能夠分爲三類:建立型,結構型,對象行爲型。後端

  mvc模式:從一開始學習java web項目編程,就是使用這種模式來編寫,model是應用對象,view是視圖即網頁,controller是控制層即servlet,這樣作能夠將三者分離,提升靈活性和複用性。設計模式

  單例模式:保證一個類僅有一個實例對象,並提供訪問這個實例的公有get方法。單例模式有懶漢、餓漢以及完美懶漢三種。瀏覽器

  工廠模式:對於要建立的類分紅產品類,根據功能逐級抽象,而後建立實例的方法在工廠類中,也可逐級抽象,根據需求來產生實例。按照抽象程度能夠分爲:簡單工廠、工廠方法、抽象工廠三種模式。

  組合模式:將對象組合成樹形結構以表示「部分-總體」的層次結構。這種模式相似於N叉樹的實現。即下一級的根節點是上一級的子節點。

  裝飾模式:動態的給一些對象添加修飾的效果,由於是動態的添加,因此比子類更加豐富。

  代理模式:爲一個對象提供一個代理,以控制對這個對象的訪問。

  策略模式:定義一系列的算法,將它們封裝起來,而且可使他們相互轉化。

  建造者模式:例:若是要造一個房子,房子的結構是固定的,可是卻有茅草房和洋房的區別,因此房子爲抽象類,具體房子的實現類繼承房子類,最後由建造者來選擇實現。

  觀察者模式:定義對象間一對多的依賴關係,當一個對象變化時,全部依賴他的對象都獲得通知而更新。

  java中的設計模式多達23種,這須要持續學習理解和在應用中熟練。

3.Struts2

  做爲JAVA框架的三劍客ssh(struts2,spring,hibernate)中的一個,其中的主要特色是controller層用action來替代了servlet,而且經過配置文件來實現資源的跳轉。struts2框架是一個單層框架,完成的是web前端頁面和後端控制層的數據互通,核心組件是Action,攔截器等,struts2框架使用包來管理action和interceptor。action中通常能夠繼承ActionSupport類(有驗證validate的方法),來輔助咱們更好的完成action的開發。ActionContext類(當前Action的上下文)很是重要,有許多重要的方法,來獲取頁面數據。struts2在包配置文件中設置邏輯視圖和物理視圖的映射關係,<exception-mapping>設置當異常發生時,跳轉到哪一個邏輯視圖中。

  struts2的數據流是:HttpServletRequest--->ActionContextCleanUp--->(other filters)--->ActionMapper--->FilterDispatcher--->ActionProxy--->ActionInovaction--->Interceptors--->Action--->Result--->Interceptors--->HttpServletResponse--->

  在struts2中基於表單的文件上傳:必須是post方法,並且enctype="multipart/form-data",既能夠利用<input type="file" name="uploadFile">來選擇文件,也能夠利用<s:>標籤中的文件選擇器。上傳以後struts2會將文件保存在臨時目錄下,而後用io將文件輸出到指定的位置。

  struts2中<result type="stream">能夠用來提供下載文件。

  總之這些內容都值得去深究,先暫時瞭解經常使用的功能和概念,之後用到再去查閱相應的資料。

相關文章
相關標籤/搜索