SpringMVC的入門:
傳統(tǒng)的servlet只能接受一個(gè)請(qǐng)求路徑,然后還需要自己傳入要執(zhí)行的method方法名稱
客戶端瀏覽器傳遞的參數(shù) 在servlet中還需要自己去獲取參數(shù) getparameter
而 SpringMVC 把這些都給優(yōu)化了 下面是使用SpringMVC的方法
1. 導(dǎo)入jar包
EL 表達(dá)式需要在 web.xml中設(shè)置版本 需要2.5以上的版本才可以使用
在 pom.xml 中導(dǎo)入spring-context? spring-webmvc

2.在 web.xml 配置文件中 配置一個(gè)servlet
servlet的名字隨便 但是要和 servlet-mapping 相同 class: DispatcherServlet
<init-param>初始化參數(shù) 可以讀取Springmvc 配置文件
<param-name>值固定 <param-value>值為?springmvc.xml文件路徑

3.在Spring.xml 的配置文件中? 配置包掃描 還有視圖解析器
視圖解析器的<bean>標(biāo)簽中 id 和 class都是固定的 配置前綴后綴?


4 Controller 核心控制器
(Spring MVC執(zhí)行流程:? 瀏覽器發(fā)請(qǐng)求 web.xml 文件中DispatcherServlet先收到請(qǐng)求
?然后根據(jù)配置掃描 找到對(duì)應(yīng)類和方法 執(zhí)行后將執(zhí)行結(jié)果轉(zhuǎn)發(fā)到j(luò)sp模板上 不用傳方法名字了)
類上使用@Controller(web層)包掃描注解? 方法上使用 @RequestMapping( "/方法名")? 注解
方法:? 返回值 ModelAndView? ?參數(shù)也是?ModelAndView類型
modelAndView.addobject? 相當(dāng)于request.setAttribute
modelAndView.setViewName("轉(zhuǎn)發(fā)到哪個(gè)jsp模板")
@RequestMapping 也可以用在類上?@RequestMappin g("/類路徑名") 但是只寫在類上是沒用的
@RequestMapping( "/方法名",params="xx")? 表示訪問此方法必須帶一個(gè) xx名字的參數(shù)
?@RequestMapping( "/方法名",method=RequestMethod.POST)
代表訪問此方法必須是以規(guī)定好的訪問方式 訪問 此代碼表示必須使用post方法訪問
(@RequestParam作用是給參數(shù)起個(gè)名字 然后賦值一個(gè)默認(rèn)值?)? 例如起名字為 name="xid"
瀏覽器界面的text輸入框name屬性用這個(gè)名字 例如<input name="xid">
如果參數(shù)是對(duì)象 那么名字需要1 1對(duì)應(yīng) 前端text標(biāo)簽輸入框的name值和對(duì)象成員屬性名一致
如果參數(shù)是一個(gè)符合對(duì)象(參數(shù)的子屬性也是一個(gè)對(duì)象)?
那么前端text標(biāo)簽中\(zhòng)輸入框的name屬性要寫 子屬性對(duì)象.成員屬性名 例如 user.id
如果參數(shù)是一個(gè)符合對(duì)象(參數(shù)的子屬性其中一個(gè)是list集合)
那么前端text標(biāo)簽中\(zhòng)輸入框的name屬性要寫 (集合名[索引值].成員屬性名)? 例如 users[0].id
如果參數(shù)是一個(gè)符合對(duì)象(參數(shù)的子屬性其中一個(gè)是map集合)
那么前端text標(biāo)簽中\(zhòng)輸入框的name屬性要寫??map集合名["key"]? ?例如:? ?faxinren["name"]??faxinren["phone"]? faxinren["address"]
@RequestHeader("user-agent") 表示獲取請(qǐng)求頭user-agent的值 String類型
@CookieValue(value="JSESSIONID") 獲取Cookie的名字為jsessionid的值
如果給的是一個(gè)字符串 而我要的是一個(gè)日期 則需要自己寫一個(gè)類 并實(shí)現(xiàn)Converter接口
類中寫方法把字符串轉(zhuǎn)換成Date類型 并返回 然后在spring.xml中設(shè)置轉(zhuǎn)換服務(wù)器
