SpringMVC 入门

目录

目录

1.1什么是SpringMVC

  1.2常用组件

1.3运行流程

2.@RequestMapping注解

2.1.@RequestMapping 映射请求注解

2.2.RequestMapping映射请求方式

2.3.RequestMapping映射请求占位符PathVariable注解

3.SpringMvc处理参数请求

GET

POST方式

RESTFul方式(推荐)

处理Get请求的参数

SpringMVC常用的注解

注意事项

日期数据的处理


1.SpringMVC介绍

1.1什么是SpringMVC

  1. 一种轻量级的、基于MVCWeb层应用框架。偏前端而不是基于业务逻辑层。
  2. 是Spring框架的一个后续产品。

  1.2常用组件

  • DispatcherServlet:前端控制器
    • HandlerExceptionResolver:异常处理器
    • MultipartResolver:文件上传解析器
    • LocalResolver:本地化、国际化
    • ViewResolver : 视图解析器,找谁来处理返回的页面。把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;
    • 如InternalResourceViewResolver将逻辑视图名映射为JSP视图
    • HandlerMapping :请求映射到处理器,找谁来处理,如果映射成功返回一个HandlerExecutiongChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象)
    • Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理

1.3运行流程

  • 基本步骤:
  • 客户端请求提交到DispatcherServlet
  • 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller
  • DispatcherServlet将请求提交到Controller(也称为Handler)
  • Controller调用业务逻辑处理后,返回ModelAndView
  • DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图

2.@RequestMapping注解

2.1.@RequestMapping 映射请求注解

  • SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些 URL 请求
  • 在控制器的类定义及方法定义处都可标注 @RequestMapping
  • 标记在类上:提供初步的请求映射信息。相对于  WEB 应用的根目录
  • 标记在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。
  • 若类上未标注 @RequestMapping,则方法处标记的 URL 相对于 WEB 应用的根目录

2.2.RequestMapping映射请求方式

  1. 标准的 HTTP 请求报头
  2. @RequestMapping 除了可以使用请求 URL 映射请求外,还可以使用请求方法、请求参数及请求头映射请求
  3. @RequestMapping 的 value【重点】、method【重点】、params【了解】 及 heads【了解】

2.3.RequestMapping映射请求占位符PathVariable注解

  1. @PathVariable  映射 URL 绑定的占位符
  2. 带占位符的 URL 是 Spring3.0 新增的功能,该功能在 SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义
  3. 通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中
  4. URL 中的 {xxx} 占位符可以通过 @PathVariable("xxx") 绑定到操作方法的入参中。

3.SpringMvc处理参数请求

总共有8种,重点时两种方式:GET方式和POST方式.

GET

向特定的资源发出请求,并返回实体.有固定的写法.而且数据有最大长度,超出就不行

POST方式

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。

RESTFul方式(推荐)

  1. 为了简化GET请求的写法,可以使用RESTFul方式,用法:
  2. 1、需要使用注解@PathVariable来获取请求路径中的参数值,@PathVariable用来绑定值
  3. 2、通过{???}获取路径中传递来的值
  4. 3、以前GET的访问方式即将被简化成:

处理Get请求的参数

如果页面的名称和后台形参的名称不一致,可以使用@RequestParam(“页面名称”),就必须指定值.

SpringMVC常用的注解

@Controller 标识是一个Controller,Spring包扫描创建实例
@RequestMapping 请求后的映射路径
@PathVariable 标识接收单个参数
@ResponseBody 返回对象利用jackson工具类转换为json字符串
@RequestParam 参数名和请求参数名称不同时使用,可以设置默认值

注意事项

日期数据的处理

把页面上的intime日期数据,交给后台处理.由于页面的数据都当做String类型处理,所以交给后台处理时,会抛出400错误.需要使用注解进行类型转换.并指定日期格式:
        @DateTimeFormat(pattern="yyyy-MM-dd";)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ᥬ᭄?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值