版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、Spring MVC 第一講:SpringMVC 頁面跳轉(zhuǎn)實例,通過請求訪問start.jsp頁面 1.1 加包 1.2 web.xml <servlet> <servlet-name>springMVC</servlet-name>
2、 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
3、60; <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-ma
4、pping> abc 1.3 建springMVC-servlet.xml(注:spring默認要求建立在WEB-INF目錄下,并且名稱為servlet-name_servlet.xml <beans xmlns="/schema/beans" xmlns:xsi="/2001/XMLSchema-in
5、stance" xmlns:p="/schema/p" xmlns:context="/schema/context" xsi:schemaLocation=" http:/www.s
6、/schema/beans /schema/beans/spring-beans-3.0.xsd /schema/context /schema/context/spring-context-3.0.xsd">
7、0; <context:component-scan base-package=".controllers" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
8、0; <property name="prefix" value="/WEB-INF/page/"/> <property name="suffix" value=".jsp"/> </bean>
9、 </beans> 1.4 StartController.java package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;
10、 Controller public class StartController RequestMapping(value="/start") public String start() Sys
11、tem.out.println("start method invoked."); return "start" 1.5 新建 WEB-INF/page/start.jsp 1.6 訪問:http:/localhost:8080/springMVC
12、_001/start.do 總結(jié):本例子搭建一個簡單的spingmvc實例,通過本例學習springMVC最簡單的流程及搭建元素。 第二講 靈活指定springmvc映射文件及路徑 更多情況下,對于第一講中的springMVC-servlet.xml 文件,我們并不想去放在WEB-INF,或者說我們可能在一個項目中并不是只有這一個文件,所以本節(jié)我們來講述如何靈活配置此文件及文件名。 2.1 修改web.xml <servlet>
13、60; <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
14、60; <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/com/wdl/cn/co
15、nfig/mvc/*.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
16、 <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet
17、-mapping> 2.2 將WEB-INF下面的springMVC-servlet.xml 移動到.config.mvc包下并將其修改名稱為springMVC-first.xml 2.3 測試原來的路徑 : http:/localhost:8080/springMVC_002/start.do 總結(jié):本講主要學習了如何靈活配置springMVC配置文件。下節(jié)將重點講述RequestMapping的使用。 第三講 springMVC_003 RequestMapping的使用 3.1 RequestMapping 使用位置
18、160; a.使用于方法,此方法則可以被請求訪問; b.使用于類,則可以將請求分(又叫分路徑,分模塊)包處理 3.2 將controller類上加RequestMapping,修改StartController.java package .controllers; import org.springframework.stereotype.Controller;
19、; import org.springframework.web.bind.annotation.RequestMapping; Controller RequestMapping(value="/test") public class StartController RequestMapping(value="/start&
20、quot;) public String start() System.out.println("start method invoked."); return "start"
21、 3.3 訪問:http:/localhost:8080/springMVC_003/test/start.do ,由此可見,可以通過在類上加RequestMapping將請求分路徑。 3.4 RequestMapping 參數(shù)詳解 a.value表示訪問的路徑 b.method 表示請求的方式 GET | POST
22、60; step1:修改StartController.java import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod;
23、60; Controller RequestMapping(value="/test") public class StartController RequestMapping(value="/start",method=RequestMethod.GET)
24、 public String start() System.out.println("start method invoked."); return "start"
25、 RequestMapping(value="/start",method=RequestMethod.POST) public String start2() System.out.println("start2 method i
26、nvoked."); return "start" step2:修改start.jsp模擬POST請求 3.5 訪問http:/localhost:8
27、080/springMVC_003/test/start.do,接著轉(zhuǎn)到start.jsp頁面,接著點擊頁面的中按鈕,發(fā)送POST請求,則可以看出不同的請求方式可以調(diào)用不同的方法。 3.6 參數(shù)傳遞(常用參數(shù)傳遞,restful風格參數(shù)傳遞) a.httpservletreqeust方式參數(shù)傳遞 step1:修改StartController.java
28、0; package .controllers; import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;
29、60; import org.springframework.web.bind.annotation.RequestMethod; Controller RequestMapping(value="/test") public class StartController RequestMapping(value="/start
30、",method=RequestMethod.GET) public String start(HttpServletRequest request) System.out.println("start method invoked.");
31、60; String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age"); System.o
32、ut.println("name=" + name + " age = " + age); return "start" RequestMapping(value="/start",
33、method=RequestMethod.POST) public String start2() System.out.println("start2 method invoked."); re
34、turn "start" step2:訪問:http:/localhost:8080/springMVC_003/test/start.do?name=zhangsan&age=45 b.restfull風格參數(shù)傳遞
35、160; step1:修改StartController.java package .controllers; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.a
36、nnotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; Controller RequestMapping(value="/test") public class StartController
37、 RequestMapping(value="/start/name/age",method=RequestMethod.GET) public String start(PathVariable("name") String name,PathVariable("age") int age)
38、60; System.out.println("start method invoked."); System.out.println("name="+name+" age="+age); return "start"&
39、#160; RequestMapping(value="/start",method=RequestMethod.POST) public String start2()
40、 System.out.println("start2 method invoked."); return "start" step2:訪問時,將參數(shù)值加入請求路徑 http:/localhost:8080/
41、springMVC_003/test/start/zhangsan/45.do 總結(jié):本講主要講述請求參數(shù)傳遞,主要掌握HttpServletRequest方式與restfull風格參數(shù)傳遞,下講主要講述form表單提交 第四講 form表單提交 使用struts2后,我們習慣將form表單的數(shù)據(jù)封裝成一個對象,這也是面向?qū)ο缶幊痰囊粋€思維,本節(jié)講述form表單提交。 具體代碼見UserController.java package
42、 .controllers; import java.text.SimpleDateFormat; import java.util.Date; import javax.servlet.http.HttpSession; import pertyeditors.CustomDateEditor; i
43、mport org.springframework.stereotype.Controller; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.RequestMapping; &
44、#160; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import .entity.User; Controller RequestMapping(value="/form")
45、 public class UserController RequestMapping(value="/add",method=RequestMethod.GET) public String toUserAddPage()
46、60; System.out.println("toUserAddPage method invoked."); return "useradd"
47、160; RequestMapping(value="/add",method=RequestMethod.POST) public ModelAndView addUser(HttpSession session,User user) System.out.println("addUser method
48、 invoked."); System.out.println(user); ModelAndView mav = new ModelAndView(); s
49、ession.setAttribute("abc", user); mav.setViewName("redirect:/form/add.do"); mav.addObject("abc", user);
50、; /return "useradd" return mav;
51、 InitBinder public void initBinder(WebDataBinder binder) binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), false);
52、60; 注:addUser方法中參數(shù)User則是接收請求發(fā)過來的參數(shù);initBinder方法則是用來綁定用戶提交的數(shù)據(jù),前臺提交過來的日期,在這里后面并不知情,則由這個方法來處理。 總結(jié):本講主要講述如何來提交表單數(shù)據(jù),并將其封裝成一個對象。 第五節(jié) 一個Controller處理多個請求 很多情況下,我們都想把有關(guān)聯(lián)的請
53、求放在一個controller中,比如,對于一個用戶的增刪改查,都可以放在一個controller類中。對于springMVC注解的方式有兩種方式可以實現(xiàn)。 1.一個controller類中每個處理請求的方法的requestMapping的param中可以帶參數(shù),比如:RequestMapping(param="method=method1"),在類級別的RequestMapping上面指定請求路徑。 package .controllers;
54、 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; Controller RequestMapping(value
55、="/manyRequest") public class ReceiveManyRequestController RequestMapping(params="method=method1") public ModelAndView methodOne()
56、; System.out.println("method methodOne invoked."); ModelAndView mav = new ModelAndView("ReceiveManyRequest");
57、60; mav.addObject("msg", "請求第一個方法"); return mav; RequestMapping(params="method=method2")&
58、#160; public ModelAndView methodTwo() System.out.println("method methodTwo invoked."); ModelAndView mav
59、= new ModelAndView("ReceiveManyRequest"); mav.addObject("msg", "請求第二個方法"); return mav; 2.每個接收請求的方法的RequestMa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學一年級數(shù)學口算練習題大全
- 江西婺源茶業(yè)職業(yè)學院《高效焊接技術(shù)》2023-2024學年第一學期期末試卷
- 華北理工大學輕工學院《中學美術(shù)課程標準與教材分析》2023-2024學年第一學期期末試卷
- 湖北工程職業(yè)學院《放射性三廢處理與處置》2023-2024學年第一學期期末試卷
- 周口文理職業(yè)學院《智能自動化與控制網(wǎng)絡實訓》2023-2024學年第一學期期末試卷
- 重慶理工大學《機器人工程數(shù)學(2)》2023-2024學年第一學期期末試卷
- 浙江水利水電學院《區(qū)塊鏈技術(shù)及運用》2023-2024學年第一學期期末試卷
- 鄭州信息工程職業(yè)學院《Office高級應用》2023-2024學年第一學期期末試卷
- 長江職業(yè)學院《動物分子與細胞生物學導論》2023-2024學年第一學期期末試卷
- 云南財經(jīng)職業(yè)學院《國畫基礎(I)》2023-2024學年第一學期期末試卷
- 中學食堂食品安全保障機制輿情管理方案
- 企業(yè)供應鏈管理軟件使用合同
- 碳排放管理員 (碳排放核查員) 理論知識考核要素細目表三級
- 中考化學酸堿鹽知識點性質(zhì)歸納
- 新教科版四上科學3.5《運動與摩擦力》教案(新課標)
- 四川省綿陽市2023-2024學年高一上學期期末檢測英語試題(解析版)
- 2024年中國電科集團春季招聘公開引進高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 綠化養(yǎng)護服務整體養(yǎng)護方案
- 醫(yī)院護理培訓課件:《壓力性損傷(壓瘡)的分期及預防》
- 小說訓練-景物描寫的作用-高考語文二輪復習訓練
- 手術(shù)室標本管理
評論
0/150
提交評論