Springmvc - Aminute/aminute GitHub Wiki

spring mvc和struts2的区别
  • Springmvc的入口是servlet,struts2的入口是filter
  • Springmcv是基于方法设计的,struts2是基于对象设计的
mybtis基于注解
  • 可以删除.xml文件,然后在到的接口方法上使用@Select注解,并且制定sql语句,同时需要在SqlMapperConfig.xml中的mapper配置时,使用class属性指定dao接口的权限定类名
Springmvc流程
  • 启动服务器,加载配置文件
  • 发送请求,后台处理请求

image-20200610154338366

image-20200610154450110

在springmvc的各个组件中,处理器映射器、处理器适配器、视图解析器称为springmvc三大组件

 <mvc:annotation-driven >
   //会自动加载RequestMappingHadlerMapping(处理器映射器)和RequestMappingHadlerAdapter(处理器适配器)
@RequestMapping注解
  • 作用:用于建立请求url和处理请求方法之间的对应关系
请求参数绑定
  • 前端页面的name属性和后端字段名称对应即可
  • 当遇见自定义类,可使用
name = "user.name"
自定义类型转换器
  • 实现Converter接口
public interface Converter<S, T> {
    T convert(S var1);
}
restful风格

(Rest)Representational State Transfer表现层状态转换,系统上的一切对象都要抽象为资源;每个资源对应唯一的资源标识(URI);

@RequestParam

作用:把请求中指定名称的参数给控制器中的形参赋值

@RequestBody

作用:用于获取请求体内容,直接使用得到的是key=value&key=value的数据,get请求方式不使用

@PathVaribale

作用:用于绑定url的占位符。例如:请求url中的/delete/{id},此处{id}即为占位符,url支持占位符是spring 3.0才加入的,是springmvc支持rest风格url的一个重要的属性

@RequestHeader

作用:用于获取请求消息头

@CookieValue

作用:获取指定名称cookie的值

@ModelAttribute

作用:

  • 方法上:表示当前方法会在控制器的方法执行之前执行
    • 先执行的方法有返回值,就将返回值赋给接下来执行的方法
    • 先执行的方法无返回值,
  • 参数上:获取指定的数据给参数赋值
@SessionAttribute

作用:用于多次执行控制器方法间的参数共享

@ResponseBody

作用:其实是将java对象转为json格式的数据

返回类型
  • 返回类型为string时,配置视图解析器,返回到相对应的页面

    image-20200612112737755

  • 返回类型为void时,默认会请求请求路径.jsp

    image-20200611172713078

最后的return加上之后则不会执行后续代码

当然也可以进行重定向

image-20200611172950765

  • 返回值时ModelAndView

    image-20200612113013825

文件上传原理

image-20200615151500885

⚠️ **GitHub.com Fallback** ⚠️