1.開發步驟:
(1)引入項目所需的相關jar包
(2)配置web.xml檔案和springmvc的配置檔案
注:<!-- 配置 DispatcherServlet 的一個初始化參數: 配置 SpringMVC 配置檔案的位置和名稱 -->
<!--
實際上也可以不通過 contextConfigLocation 來配置 SpringMVC 的配置檔案, 而使用預設的.
預設的配置檔案為: /WEB-INF/<servlet-name>-servlet.xml
-->
<!--
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
(3)建java檔案源目錄和控制器controller,配置springmvc的配置檔案,元件掃描和視圖解析器。
注: * 1. 使用 @RequestMapping 注解來映射請求的 URL
* 2. 傳回值會通過視圖解析器解析為實際的實體視圖, 對于 InternalResourceViewResolver 視圖解析器, 會做如下的解析:
* 通過 prefix + returnVal + 字尾 這樣的方式得到實際的實體視圖, 然會做轉發操作
(4) @RequestMapping 除了修飾方法, 還可來修飾類
1). 類定義處: 提供初步的請求映射資訊。相對于 WEB 應用的根目錄
2). 方法處: 提供進一步的細分映射資訊。 相對于類定義處的 URL。若類定義處未标注 @RequestMapping,則方法處标記的 URL相對于 WEB 應用的根目錄
3). @RequestMapping(value="請求url" , method=RequestMethod.請求方法)
注:預設不寫method,get/post請求都可以接受到,指定了隻能接受一種請求。
4). @RequestMapping(可以使用 params 和 headers 來更加精确的映射請求. params 和 headers 支援簡單的表達式.)
5). 了解就可以
(6)
@RequestMapping("/testPathVariable/{id}")
public String testPathVariable(@PathVariable("id") Integer id){
System.out.println("testPathVariable:"+id);
return SUCCESS;
}
(7) REST 即 Representational State Transfer。 資源現層狀态轉化。 是前最流一 種互 聯 軟 件架 構。它結構清晰、合 标準、易于、 擴充友善是以正得到來多
@RequestMapping(value = "/testRest/{id}" , method = RequestMethod.PUT)
public String testRestPut(@PathVariable("id") Integer id){
System.out.println("testRest PUT:"+id);
return SUCCESS;
}
@RequestMapping(value = "/testRest/{id}" , method = RequestMethod.DELETE)
public String testRestDelete(@PathVariable("id") Integer id){
System.out.println("testRest DELETE:"+id);
return SUCCESS;
}
@RequestMapping(value = "/testRest" , method = RequestMethod.POST)
public String testRest(){
System.out.println("testRest Post:");
return SUCCESS;
}
@RequestMapping(value = "/testRest/{id}" , method = RequestMethod.GET)
public String testRest(@PathVariable("id") Integer id){
System.out.println("testRest Get:"+id);
return SUCCESS;
}
(8)
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) {
System.out.println("testCookieValue: sessionId: " + sessionId);
return SUCCESS;
}
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Accept-Language") String al) {
System.out.println("testRequestHeader, Accept-Language: " + al);
return SUCCESS;
}
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam("username") String username,
@RequestParam(value = "age" , required = false , defaultValue = "0") int age){
System.out.println("testRequestParam name:"+username+"-age-"+age);
return SUCCESS;
}
* 了解:
*
* @CookieValue: 映射一個 Cookie 值.
* 用法同 @RequestParam
*/
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) {
System.out.println("testCookieValue: sessionId: " + sessionId);
return SUCCESS;
}
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Accept-Language") String al) {
System.out.println("testRequestHeader, Accept-Language: " + al);
return SUCCESS;
}
@RequestMapping("/testRequestParam")
public String testRequestParam(@RequestParam("username") String username,
@RequestParam(value = "age" , required = false , defaultValue = "0") int age){
System.out.println("testRequestParam name:"+username+"-age-"+age);
return SUCCESS;
}