天天看点

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;

}