天天看點

springMVC 系統學習 day01

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).     了解就可以

springMVC 系統學習 day01

        (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;

}