zoukankan      html  css  js  c++  java
  • springmvc快速复习二

    一:控制器方法响应方式
    在springmvc1中有介绍

    设置重定向:
    	返回值为String时: return "redirect:http://www.baidu.com";
    	返回值为ModelAndView时: modelAndView.setViewName("redirect:http://www.baidu.com");
    	
    设置转发:return "forward:/result/pageByModel.do";
    			modelAndView.setViewName("forward:/result/pageByModel.do");
    

    这里我们复习一些转发和重定向的区别
    请求转发 服务器内部行为 重定向服务器外部行为
    请求转发最多浏览器一次请求一次响应 重定向服务器外部行为至少两次响应
    请求转发数据不丢失 重定向数据丢失

    前端发送异步请求 发送ajax请求(重点)
    这里做简单介绍
    引入js文件Vue axios
    axios.get("/user/testGet.do?id=1").then((res)=>{响应后执行的}).catch((err)=>{响应后异常执行的})
    axios.post("/user/testPost.do", param).then((res)=>{响应后执行的}).catch((err)=>{响应后异常执行的});
    json数据支持需要引入依赖:

    后端接收数据@RequestBody:
    						可以作用在方法参数中用来接收json数据
    响应数据@ResponseBody:
    						可以作用在类上 或方法上 用来响应json数据
    

    前端控制器拦截
    在springmvc1中有介绍后面会将*.do替换成/
    *.do 只拦截 后缀为 do的请求,其他不拦截
    / 拦截所有请求,包括静态资源(img, css, js, plugins,htiml等除了.jsp)
    可以通过来释放拦的请求 释放资源 在后期前后端分离不需要配置
    方法一:

    mvc:default-servlet-handler/
    方法二:

    <mvc:resources location="/js/" mapping="/js/**"/>
    RESTful风格(重点)
    web.xml中配置

    DispatcherServlet

    /

    为了安全性更高 不要展示给用户增删改查
    POST(增)、DELETE(删)、PUT(改)、GET(查)
    @XxxMapping替换@RequertMapping(method = RequestMethod.POST)

    	举例获取id值:
    	@DeleteMapping("/{id}")
    	@PathVariable("id") Integer id
    前端:axios.get("/user/1").then((res)=>{console.log(res);});
    

    SpringMVC文件上传:
    表单的数据编码enctype必须是:multipart/form-data
    POST请求方式
    引入依赖:

    commons-fileupload
    commons-fileupload
    1.4

    配置上传文件最大值:在spring-mvc.xml中





    统一异常处理:
    1.自定义异常类继承RuntimeException
    构造方法中调用super("传入异常信息"),
    2.编写自定义异常处理器
    @ControllerAdvice 修饰类
    一般这个处理器中至少定义两个处理方法
    @ExceptionHandler:修饰方法

    	@ExceptionHandler(自定义类的class文件) { modelAndView.setViewName("error"); return modelAndView};
    	@ExceptionHandler(Exception.class)处理其他异常的方法
    3.编写测试异常的控制器 也就是controller层
    	可以抛出自定义异常
    	 throw new CustomException("异常信息");
    	 在出现异常后会调用自定义异常管理器中的代码来进行处理异常
  • 相关阅读:
    BeanFactory – BeanFactory 实现举例?
    核心容器(应用上下文) 模块?
    JSP有哪些内置对象?作用分别是什么?
    Docker 的目的是什么?
    MyBatis 框架适用场合?
    什么是 Spring Boot?
    简述 Mybatis 的插件运行原理,以及如何编写一个插件。
    数据库连接池
    寒假每周总结3
    寒假每日日报20
  • 原文地址:https://www.cnblogs.com/x-i-n/p/14161168.html
Copyright © 2011-2022 走看看