SpringMVC-05

目录

  • 1.restful风格
    • 1.1.控制层实现代码
    • 1.2.请求方式过滤器配置
  • 2.异常处理
    • 2.1在相应的类创建一个方法(局部异常)
    • 2.2定义一个异常类(针对全局异常)

1.restful风格

简述:

  1. 每一个URL代表1中资源
  2. 客户端使用GET\POST\PUT\DELETE 4个表示操作方式的动词和服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新),PUT用来更新资源,DELETE用于删除资源
  3. 通过操作资源的表现形式来操作资源

1.1.控制层实现代码

//restful--->地址为user/1   1:表示参数id
//method:表示该方法的处理方式为get【查询】请求(post【添加】,delete【删除】,put【更新】)
    @RequestMapping(value="{uid}",method=RequestMethod.GET) //查询操作
     public String findById(@PathVariable("uid") int id) {
           return "list";
     }

//springmvc 提供了一个过滤器 (HiddenHttpMethodFilter.class)将post请求转化为put和delete
//需要在xml中配置
    @RequestMapping(value="{uid}",method=RequestMethod.PUT) //更新操作
    @ResponseBody
     public String findById(@PathVariable("uid") int id) {
           return "list";
     }

1.2.请求方式过滤器配置



     HiddenHttpMethodFilter
    
     org.springframework.web.filter.HiddenHttpMethodFilter


     HiddenHttpMethodFilter
     /*

### 1.3 ajax实现(简单的一个实现)

$.ajax({
    url:"user",
    type:"post",
    data:{
        _method:"put"
    },
    success:function(){
        
    }
});

2.异常处理

2.1在相应的类创建一个方法(局部异常)

iserrorPage="true"(异常页面)

    @ExceptionHandler //该类发生异常时会由该方法处理
     public ModelAndView exception(Exception exception) {
           ModelAndView mv = new ModelAndView();
           mv.addObject("error", exception.getMessage());
           mv.setViewName("error");
           return mv;
     }

2.2定义一个异常类(针对全局异常)

package com.hw.lb.controller;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class ExceptionController {
     @ExceptionHandler //该类发生异常时会由该方法处理
     public ModelAndView exception(Exception exception) {
           ModelAndView mv = new ModelAndView();
           mv.addObject("error", exception.getMessage());
           mv.setViewName("register");
           return mv;
     }
}

## 3.springmvc的注解:

@controller 标注该类为控制层类
@RequestMapping 标注请求的地址
@ResponseBody 把java对象转化为json对象
@Vaild 标注校验该数据
@PathVariable 接收url地址的值赋给方法参数
@SessionAttributes 转化session对象
@RequestParam 接收参数
@ExceptionAdvice
@ExceptionHander 标注一个方法为异常处理的方法
@InitBinder 处理日期参数

转载于:https://www.cnblogs.com/DT-Demo/p/11478644.html

你可能感兴趣的:(SpringMVC-05)