SpringMVC知識點總結
一:springmvc的簡單瞭解
1. ngmvc是spring的web框架圍繞DispatcherServlet設計的。DispatchServlet的作用是將請求分發到不同的處理器。Spring的web框架可以包括可配置的處理器(Handlder)映射,視圖(view)解析,本地化(local)解析,主題(theme)解析以及對文件上傳的支持等
2. springmvc的請求模式:
3. 其實,每個MVC 框架的執行過程都是大同小異的;
①當一個request過來時,它通過一個servelet來響應request;
②再根據request的路徑名和配置將這個request dispatch 給一個controller執行;
③最後將之返回配置文件裏對應的頁面。
在springmvc中,這個servelet的名字叫:Dispatchservlet。
4. Spring
的Controller是singleton的,或者是線程不安全的說明。
分析:和Struts一樣,Spring的Controller是singleton的!這意味着每個request過來,系統都會用原來的instance去處理,這樣就導致了兩個結果:①我們不用每次創建Controller,減少了對象創建和垃圾回收的時間。②由於只有一個Controller的instance,當多個線程調用它的時候,它裏面的instance變量不是線程安全的。
這也是webworks吹噓的地方,它的每個Action都是線程安全的。因爲每過來一個request,它就會創建一個Action對象。由於現代JDK垃圾收集動能的效率已經不成問題了,所以這種創建完一個對象就扔掉的模式也得到很多人的認可。
二:簡單的配置瞭解
1.導入需要的jar包
【去網上搜一下】
2.配置
3.配置
說明,可以放在WEB-INF下面就行。有些配置是暫時不需要的,一併拷貝過來了。
4.在WebRoot下面建立一個文件夾static用於放靜態的文件,
static下面再建立三個靜態文件夾:images[用於放圖片],script[用於放js文件],style[用於放css文件]。
5.在WEB-INF下面建立一個文件夾views,用於放jsp文件。
可以先建立一個工程引用的jsp文件,。
三:基本功能的學習
建立一個,引入 → <%@ include="" file="">
1.簡單的請求
注意事項:
①紅色部分的@Controller ,
②對於公共的URL,我們可以註釋到類的頭部,比如對於user對象的操作,。
我們可以再action的頭部註釋:@RequestMapping("/user")。
③對於某些請求我們可以限制提交方式,比如用戶登錄,我們只允許POST提交,
我們可以在方法上面加上:@RequestMapping("/login",method=)。
篇二:SpringMVC知識點總結Spring web mvc和Struts2都屬於表現層的框架,它是Spring框架的一部分,是一個前端web框架。
springMVC的處理流程
Controller跳轉到另一個Controller
1. 需求背景 需求:spring MVC框架controller間跳轉,需重定向。有幾種情況:不帶參數跳轉,帶參數拼接url形式跳轉,帶參數不拼接參數跳轉,頁面也能顯示。
2. 解決辦法 需求有了肯定是解決辦法了,一一解決,說明下spring的跳轉方式很多很多,我這裏只是說一些自我認爲好用的,常用的,spring分裝的一些類和方法。
不帶參數的'跳轉
(1)我在後臺一個controller跳轉到另一個controller,爲什麼有這種需求呢,是這樣的。我有一個列表頁面,然後我會進行新增操作,新增在後臺完成之後我要跳轉到列表頁面,不需要傳遞參數,列表頁面默認查詢所有的。
方式一:使用ModelAndView
return new ModelAndView("redirect:/toList"); 這樣可以重定向到toList這個方法。
方式二:返回String
return "redirect:/ toList ";
其它方式:
其它方式還有很多,這裏不再做介紹了,比如說response等等。這是不帶參數的重定向。
帶參數拼接url的跳轉
第二種情況,列表頁面有查詢條件,跳轉後我的查詢條件不能丟掉,這樣就需要帶參數的了,帶參數可以拼接url
方式一:自己手動拼接url
new ModelAndView("redirect:/toList?param1="+value1+"m2="+value2); 這樣有個弊端,就是傳中文可能會有亂碼問題。
方式二:用RedirectAttributes,
這個是發現的一個比較好用的一個類 這裏用它的addAttribute方法,這個實際上重定向過去以後你看url,是它自動給你拼了你的url。這種方式就相當於重定向之後,在url後面拼接參數,這樣在重定向之後的頁面或者控制器再去獲取url後面的參數就可以了,但這個方式因爲是在url後面添加參數的方式,所以暴露了參數,有風險。
使用方法:ttribute("param", value);
return "redirect:/namespace/toController";
這樣在toController這個方法中就可以通過獲得參數的方式獲得這個參數,再傳遞到頁面。過去的url還是和方式一一樣的。
帶參數不拼接參數跳轉
帶參數不拼接url頁面也能拿到值(重點是這個)一般我估計重定向到都想用這種方式:
@RequestMapping("/save") public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr)throws Exception { String code = (form); if(ls("000")){
lashAttribute("name", ame()); 這種方式也能達到重新向帶參, 而且能隱藏參數,其原理就是放到session中,session在跳到頁面後馬上移除對象。所以你刷新一下後這個值就會丟掉
lashAttribute("success", "添加成功!"); return "redirect:/index";}else{
ttribute("projectName", rojectName()); ttribute("enviroment", nviroment());lashAttribute("msg", "添加出錯!錯誤碼爲:
"+ode()ode()+",錯誤爲:"+ode()ame());return "redirect:/maintenance/toAddConfigCenter"; }}
@RequestMapping("/index")
Public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr) throws Exception {
return "redirect:/main/list";}
頁面取值直接用el表達式就能獲得到(例如:${projectName }),這裏的原理是放到session中,session在跳到頁面後馬上移除對象。所以你刷新一下後這個值就會丟掉。${projectName }的值,這要想用在js中必須先放在頁面的。
<script type="text/javascript">Var projectName= ${projectName};</script>
-
春季傳染病防控工作總結
總結就是對一個時期的學習、工作或其完成情況進行一次全面系統的回顧和分析的書面材料,它有助於我們尋找工作和事物發展的規律,從而掌握並運用這些規律,爲此要我們寫一份總結。總結怎麼寫纔不會千篇一律呢?以下是小編爲大家整理的春季傳染病防控工作總結,希望能夠幫...
-
營銷部年終總結範文
總結是在某一特定時間段對學習和工作生活或其完成情況,包括取得的成績、存在的問題及得到的經驗和教訓加以回顧和分析的書面材料,它可以使我們更有效率,不妨坐下來好好寫寫總結吧。那麼如何把總結寫出新花樣呢?下面是小編爲大家收集的營銷部年終總結範文,僅供參考,歡...
-
車間主任年度工作總結(集合)
總結是在某一時期、某一項目或某些工作告一段落或者全部完成後進行回顧檢查、分析評價,從而得出教訓和一些規律性認識的一種書面材料,它能幫我們理順知識結構,突出重點,突破難點,是時候寫一份總結了。你想知道總結怎麼寫嗎?下面是小編整理的車間主任年度工作總結,歡迎...
-
個人年終工作總結最新優秀[4篇]
總結是在一段時間內對學習和工作生活等表現加以總結和概括的一種書面材料,它能使我們及時找出錯誤並改正,快快來寫一份總結吧。那麼總結應該包括什麼內容呢?下面是小編爲大家收集的個人年終工作總結最新,僅供參考,歡迎大家閱讀。個人年終工作總結最新1光陰荏苒,在忙...
相關文章
- An English Summer Camp作文
- 以An English Summer Camp爲題目的英語作文
- 酒店英語:抱怨服務Complaining about the Service
- 中國小生暑假英語作文:During Summer Vacation
- 葡萄牙語的歷史:Revolucionários apossam-se de Porto Alegre
- 知識點總結:Unit4Where’smyschoolbag
- An English Summer Camp
- 英語作文Movie and Music Piracy
- 電子工程師 ELECTRONICS ENGINEER
- 暑假計劃英語作文:My summer vacation travel plans