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

        (6)/**
        * @PathVariable 可以来映射 URL 中的占位符到目标方法的参数中.
         * @param id
         * @return
        */
        @RequestMapping("/testPathVariable/{id}")
        public String testPathVariable(@PathVariable("id") Integer id){
System.out.println("testPathVariable:"+id);
return SUCCESS;

        }

           (7) REST 即 Representational State Transfer。 资源现层状态转化。 是前最流一 种互 联 软 件架 构。它结构清晰、合 标准、易于、 扩展方便所以正得到来多

          /**
* Rest 风格的 URL. 以 CRUD 为例: 新增: /order POST 修改: /order/{1} PUT update?id=1 获取:
* /order/{1}  GET get?id=1 删除: /order/{1} DELETE delete?id=1

* 如何发送 PUT 请求和 DELETE 请求呢 ? 1. 需要配置 HiddenHttpMethodFilter 2. 需要发送 POST 请求
* 3. 需要在发送 POST 请求时携带一个 name="_method" 的隐藏域, 值为 DELETE 或 PUT

* 在 SpringMVC 的目标方法中如何得到 id 呢? 使用 @PathVariable 注解

*/
@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) 

/**
* 了解:

* @CookieValue: 映射一个 Cookie 值. 
* 用法同 @RequestParam
*/
@RequestMapping("/testCookieValue")
public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) {
System.out.println("testCookieValue: sessionId: " + sessionId);
return SUCCESS;
}


/**
* 了解: 映射请求头信息    
* 用法同 @RequestParam
*/
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Accept-Language") String al) {
System.out.println("testRequestHeader, Accept-Language: " + al);
return SUCCESS;
}


/**
* @RequestParam 来映射请求参数. value 值即请求参数的参数名 required 该参数是否必须. 默认为 true
*               defaultValue 请求参数的默认值
*/
@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;
}

/**
* 了解: 映射请求头信息    
* 用法同 @RequestParam
*/
@RequestMapping("/testRequestHeader")
public String testRequestHeader(@RequestHeader(value = "Accept-Language") String al) {
System.out.println("testRequestHeader, Accept-Language: " + al);
return SUCCESS;
}

/**
* @RequestParam 来映射请求参数. value 值即请求参数的参数名 required 该参数是否必须. 默认为 true
*               defaultValue 请求参数的默认值
*/
@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;
}

猜你喜欢

转载自blog.csdn.net/fly_captain/article/details/80950912
今日推荐