springboot才有啟動類
訪問項目名進入默認主頁,顯示一個鏈接
點擊鏈接后請求helloWorld.do跳轉另一個jsp頁面
*也對應controller的RequestMapping,若要映射多有請求則為/
web.xml負責攔截請求并分發到controller處理
spring-mvc.xml負責解析controller的返回值,跳轉到相應的頁面上。
spring-mvc.xml以及在web.xml中的聲明都可以用Java Configuration來代替
項目實例:eclipse/SpringMvc01
訪問首頁,請求后臺controller初始化學生列表,裝入ModelAndView后返回list.jsp,顯示學生列表。
list.jsp點擊“添加學生”鏈接請求后臺controller,controller處理頁面跳轉為add.jsp。
list.jsp點擊“修改”操作,帶學生id參數到后臺controller處理,controller調出該id學生信息,封裝到ModelAndView中并返回update.jsp頁面。
SpringMvc對象屬性自動封裝。參見add.jsp。
SpringMvc亂碼解決:配置一個過濾器。參見web.xml。
SpringMvc重定向與轉發:轉發能帶參數,但是網址欄不會改變,重定向會改變。參見StudentController
SpringMvc對servlet API的支持:支持request、response等。參見UserController。
SpringMvc自動解析json:引入jar包、命名空間、加注解。參見UserController。
特點:請求任何controller都沒有.do后綴,請求前端頁面沒有.jsp;所有的url都沒有后綴(但博主似乎支持帶.html后綴)。
@PathVariable獲取url參數。
SpringMvc對靜態資源的映射
代碼實例:SpringMvc5Rest
引入jar包、配置bean
引jar包、配置bean
單文件上傳
多文件上傳
代碼實例:SpringMvc6FileUpload
1.用戶發起請求到前端控制器DispatcherServlet
前端控制器<!--前端控制器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:ApplicationContext.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!--這里不能使用/*/*要在過濾器中使用--><url-pattern>/</url-pattern></servlet-mapping>
2.前端控制器發送url請求處理器映射器HandlerMapping根據url查找Handler
3.處理器映射器返回前端控制器一個執行鏈
4.前端控制器請求處理器適配器進行Handler
5.處理器適配器選擇合適的處理器(Handler一般是controller)
controller控制器返回ModelandView以及視圖名
//接受路徑名為h2的請求@RequestMapping("/h2")publicStringhello(Modelmodel){//將內容Hello,SpringMvc以參數名msg返回給經視圖解析器解析的hello頁面model.addAttribute("msg","Hello,SpringMvc");return"hello";//會被視圖解析器處理}//這里我使用了Model
6.Handler將ModelAndView返回給處理器適配器
7.處理器適配器將ModelAndView返回給前端控制器
8.前端控制器請求視圖解析器View resolver進行視圖解析 根據邏輯視圖添加前綴和后綴解析成真正的物理視圖(jsp等)
<!--4.視圖解析器--><beanclass="org.springframework.web.servlet.view.InternalResourceViewResolver"><propertyname="prefix"value="/WEB-INF/jsp/"/><propertyname="suffix"value="/.jsp"/></bean>
9.視圖解析器向前端控制器返回view
10.渲染視圖,將模型數據填充到request域
11.響應視圖
前端控制器,處理器映射器,處理器適配器不需要我們寫
處理器需要我們寫(一般就是Controller)
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
過不了多久就過年了。柬埔寨的朋友都回家了嗎?在外地工作,過年回家,給親朋好友帶禮物是必不可少的。那么我該買什么呢?當然是柬埔寨特產。下面就來看看有哪些特產適合帶回家吧!水在柬埔寨,水布是當地居民非常重要的日常用品。柬埔寨語叫“克拉馬”,漢語叫“水布”。水是柬埔寨的傳統組成部分,也是高棉身份的象征。柬埔寨特色手工制品包、藤包、三角墊都是柬埔寨特色的手工藝品。種類很多,漂亮,便宜,攜帶方便。是適合女性...
G20峰會是一個國際經濟合作論壇,于1999年12月16日在德國柏林成立,屬于布雷頓森林體系框架內非正式對話的一種機制,由原八國集團以及其余十二個重要經濟體組成。G20金融峰會旨在推動已工業化的發達國家和新興市場國家之間就實質性問題進行開放及有建設性的討論和研究,以尋求合作并促進國際金融穩定和經濟的持續增長。按照以往慣例,國際貨幣基金組織與世界銀行列席該組織的會議。G20叫做20國集團,由八國集團...
順豐同城騎士單日收入過萬是真的嗎?【#順豐同城回應騎士單日收入過萬#:含用戶打賞約7856元】4月11日晚間,@順豐同城 回應網上關于“順豐同城騎士收入過萬”的消息。據悉,近日網上截圖顯示一順豐同城騎士4月9日實際收入10067.75 元。順豐同城表示,經后臺查詢后確認,該順豐同城騎士共完成60筆同城配送訂單,系企業用戶下單,訂單傭金計提總額達10067.75 元。說明顯示...