三、Spring|三、Spring In Web
0、SpringMVC大致流程
请求——>响应
前后端不分离:
Request——>DispatcherServlet(前端控制)——>对应的Controller(处理请求)——>返回ModelAndVIew ——> 视图解析器 ——>Response
前后端分离:
Request——>DispatcherServlet(前端控制)——>对应的Controller(处理请求)——>{要使用@ResponseBody将数据写入响应流}Response (数据)【前后端分离,路由由前端来做】
一、Controller使用到的注解
- @Controller
- @RestController
- @RequestMapping/GetMapping/PostMapping
使用Java Bean Validation API
具体可参考这里
【三、Spring|三、Spring In Web】这里说一下Java Bean validation API 和Hibernate Validation的关系,我理解是Java Bean validation API是官方发布的一个标准,并没有实现,或者说实现很烂。然后Hibernate Validation就是这个标准的实现。(就像开发中,你(Java官方)写了一个接口,包含了很多方法声明,但是没有编写它的实现类,而另一个人(Hibernate)实现了你的接口,并实现了接口声明的方法)
// 上面的链接中是利用代码实现的开始验证数据,下面是一个比较简单方法
// 要在要验证的Bean前面加上@Valid注解
// 但是光是使用@Valid注解,Spring返回的错误信息并不是像我们定义的那样,而是一个类似HTML的文件结构。
//这里可以在参数里加一个Error(org.springframework.validation.Errors)参数来获取错误信息
public String validationTest(@Valid User user,Errors errors){
if (errors.hasErrors()) {
// 获取错误信息返回
}
}
三、前后端分离
~ | 后端工作 | 前端工作 |
---|---|---|
前后端不分离 | 1.路由跳转 、 2.返回数据 | 显示内容 |
前后端分离 | 返回数据 | 1.显示内容、2.路由跳转 |
如果前后端不分离的话一般会用模板引擎,如JSP、FreeMarker、Thymeleaf(Spring推荐)等
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 第三节|第三节 快乐和幸福(12)
- android第三方框架(五)ButterKnife
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- Shell-Bash变量与运算符
- 三十年后的广场舞大爷