zoukankan      html  css  js  c++  java
  • SpringMVC-05

    1.restful风格

    简述:

    1. 每一个URL代表1中资源
    2. 客户端使用GETPOSTPUTDELETE 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.请求方式过滤器配置

    <!--
        把post请求转化为put或者delete请求方式
        使用真正的 _method 的真正提交方式
    -->
    <filter>
         <filter-name>HiddenHttpMethodFilter</filter-name>
        <!--
            过滤器的路径
            spring-web-4.2.2.RELEASE.jar==org.springframework.web.filter==HiddenHttpMethodFilter.class
        -->
         <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
         <filter-name>HiddenHttpMethodFilter</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>
    

    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 处理日期参数
  • 相关阅读:
    达梦数据库学习(二、管理数据库实例)
    达梦数据库学习(一、linux操作系统安装及数据库安装)
    SQL Server 数据库还原进度查看
    关于索引的学习(主要是聚集索引与非聚集索引)
    SQL Server批量向表中插入多行数据语句
    最大流-前置push-relabel算法实现
    调度算法(二)
    调度算法(一)
    软件工程:提问回顾
    软件工程:个人阅读作业与总结
  • 原文地址:https://www.cnblogs.com/DT-Demo/p/11478644.html
Copyright © 2011-2022 走看看