版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Spring MVC 第一講:SpringMVC 頁面跳轉(zhuǎn)實(shí)例,通過請(qǐng)求訪問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默認(rèn)要求建立在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é):本例子搭建一個(gè)簡單的spingmvc實(shí)例,通過本例學(xué)習(xí)springMVC最簡單的流程及搭建元素。 第二講 靈活指定springmvc映射文件及路徑 更多情況下,對(duì)于第一講中的springMVC-servlet.xml 文件,我們并不想去放在WEB-INF,或者說我們可能在一個(gè)項(xiàng)目中并不是只有這一個(gè)文件,所以本節(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 移動(dòng)到.config.mvc包下并將其修改名稱為springMVC-first.xml 2.3 測(cè)試原來的路徑 : http:/localhost:8080/springMVC_002/start.do 總結(jié):本講主要學(xué)習(xí)了如何靈活配置springMVC配置文件。下節(jié)將重點(diǎn)講述RequestMapping的使用。 第三講 springMVC_003 RequestMapping的使用 3.1 RequestMapping 使用位置
18、160; a.使用于方法,此方法則可以被請(qǐng)求訪問; b.使用于類,則可以將請(qǐng)求分(又叫分路徑,分模塊)包處理 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將請(qǐng)求分路徑。 3.4 RequestMapping 參數(shù)詳解 a.value表示訪問的路徑 b.method 表示請(qǐng)求的方式 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請(qǐng)求 3.5 訪問http:/localhost:8
27、080/springMVC_003/test/start.do,接著轉(zhuǎn)到start.jsp頁面,接著點(diǎn)擊頁面的中按鈕,發(fā)送POST請(qǐng)求,則可以看出不同的請(qǐng)求方式可以調(diào)用不同的方法。 3.6 參數(shù)傳遞(常用參數(shù)傳遞,restful風(fēng)格參數(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風(fēng)格參數(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í),將參數(shù)值加入請(qǐng)求路徑 http:/localhost:8080/
41、springMVC_003/test/start/zhangsan/45.do 總結(jié):本講主要講述請(qǐng)求參數(shù)傳遞,主要掌握HttpServletRequest方式與restfull風(fēng)格參數(shù)傳遞,下講主要講述form表單提交 第四講 form表單提交 使用struts2后,我們習(xí)慣將form表單的數(shù)據(jù)封裝成一個(gè)對(duì)象,這也是面向?qū)ο缶幊痰囊粋€(gè)思維,本節(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則是接收請(qǐng)求發(fā)過來的參數(shù);initBinder方法則是用來綁定用戶提交的數(shù)據(jù),前臺(tái)提交過來的日期,在這里后面并不知情,則由這個(gè)方法來處理。 總結(jié):本講主要講述如何來提交表單數(shù)據(jù),并將其封裝成一個(gè)對(duì)象。 第五節(jié) 一個(gè)Controller處理多個(gè)請(qǐng)求 很多情況下,我們都想把有關(guān)聯(lián)的請(qǐng)
53、求放在一個(gè)controller中,比如,對(duì)于一個(gè)用戶的增刪改查,都可以放在一個(gè)controller類中。對(duì)于springMVC注解的方式有兩種方式可以實(shí)現(xiàn)。 1.一個(gè)controller類中每個(gè)處理請(qǐng)求的方法的requestMapping的param中可以帶參數(shù),比如:RequestMapping(param="method=method1"),在類級(jí)別的RequestMapping上面指定請(qǐng)求路徑。 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", "請(qǐng)求第一個(gè)方法"); 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", "請(qǐng)求第二個(gè)方法"); return mav; 2.每個(gè)接收請(qǐng)求的方法的RequestMa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年公共設(shè)施防水裝修與維護(hù)合同
- 二零二五年度民政局離婚雙方財(cái)產(chǎn)分割協(xié)議4篇
- 二零二五年度民政局離婚案件執(zhí)行與協(xié)助服務(wù)合同4篇
- 觀賞花卉與現(xiàn)代家居美化知到智慧樹章節(jié)測(cè)試課后答案2024年秋臨沂大學(xué)
- 二零二五年度出租車座套定制與品牌形象設(shè)計(jì)合同4篇
- 二零二五版體育賽事直播版權(quán)購買與轉(zhuǎn)授權(quán)合同3篇
- 2025年健身房個(gè)人特訓(xùn)計(jì)劃合同
- 2025年度農(nóng)場(chǎng)果品種植技術(shù)引進(jìn)與推廣合同4篇
- 2025年倉儲(chǔ)空調(diào)冷鏈合同
- 2025年度窗簾行業(yè)展會(huì)組織與策劃合同2篇
- 南通市2025屆高三第一次調(diào)研測(cè)試(一模)地理試卷(含答案 )
- 2025年上海市閔行區(qū)中考數(shù)學(xué)一模試卷
- 2025中國人民保險(xiǎn)集團(tuán)校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 重癥患者家屬溝通管理制度
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對(duì)法》及其應(yīng)用案例
- IF鋼物理冶金原理與關(guān)鍵工藝技術(shù)1
- 銷售提成對(duì)賭協(xié)議書范本 3篇
- 勞務(wù)派遣招標(biāo)文件范本
- EPC項(xiàng)目階段劃分及工作結(jié)構(gòu)分解方案
- 《跨學(xué)科實(shí)踐活動(dòng)4 基于特定需求設(shè)計(jì)和制作簡易供氧器》教學(xué)設(shè)計(jì)
- 信息安全意識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論