为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第1天 SpringMVC

标签:
Spring

课程名称:Spring MVC入门与数据绑定

课程章节:第一章-第四章

课程内容:

一.URL Mapping
URL Mapping指将URL与Controller方法绑定
通过将URL与方法绑定,SpringMVC便可通过Tomcat对外暴露服务

@RequestMapping:通用绑定,作用在方法上,不再区分get/post请求
@GetMapping:绑定Get请求
@PostMapping:绑定Post请求

二.接收请求参数的常用做法

  • 使用Controller方法参数接收

  • 使用JavaBean接收数据

三.解决中文乱码的问题

1.Web应用的中文乱码由来
Tomcat默认使用字符集ISO-8859-1,属于西欧字符集
解决乱码思路是将ISO-8859-1转换为UTF-8
Controller中请求与响应都需要设置UTF-8字符集

2.中文乱码配置
Get请求乱码-server.xml增加URIEncoding属性, tomcat8.0以后默认是UTF-8
POST请求乱码 -web.xml配置CharacterEncodingFilter
Response响应乱码- Spring配置StringHttpMessageConverter

四.响应输出结果
@ResponseBody-产生响应文本
@ResponseBody直接产生响应体数据,过程不涉及任何视图
@ResponseBody可产生标准字符串/JSON/XML等格式数据
@ResponseBody被StringHttpMessageConverter所影响

ModelAndView-利用模板引擎渲染输出
ModelAndView对象是指模型(数据)与视图(界面)对象
通过ModelAndView可将数据对象与模板引擎绑定
SpringMVC默认的View是JSP,也可以是其他模板引擎

mav.addObject()方法设置的属性默认存放在当前请求中
默认ModelAndView使用请求转发(forward)至页面
重定向使用 new ModelAndView("redirect:/index.jsp")

1.方法被@ResponseBody描述,SpringMVC直接响应String字符串本身
2.方法不存在@ResponseBody,则SpringMVC处理String指代的视图(页面)

五.RESTful
1.开发风格
使用URL作为用户交互入口
明确的语义规范(GET,POST,PUT,DELETE)
只返回数据(JSON|XML),不包含任何展现

2.命名要求

URI说明修改建议
GET /articles?au=lily正确用法
GET/a/1URI必须具有语义GET /Student/1
POST/createArticle/1URI必须使用名词POST /article/1
GET /articles/author/1URI扁平化,不超两级GET /articles/author?id=1
DELETE /articles/1URI名词区分单复数GET /articles?au=lily DELETE /article/1

3.简单请求
指标准结构的HTTP请求,对应GET/POST请求

4.非简单请求包含俩种情况:
(1)复杂要求的HTTP请求,指PUT/DELETE
(2)在标准的GET/POST请求中扩展了额外的自定义请求头的话
两者最大区别是非简单请求发送前需要发送预检请求

六.浏览器的同源策略
只要协议,域名,端口有任何一个不同,都被当作是不同的域
浏览器Console看到Access-Control-Allow-Orign就代表跨域了

源URL目标URL直接访问 ?
http://imooc.comhttp:abc.imooc.com不能
http://localhosthttp://127.0.0.1不能

1.HTML中允许跨域的标签
< img>显示远程图片
< script>加载远程JS
< link>加载远程CSS

2.CORS跨域资源访问
CORS是一种机制,通过在HTTP请求以及响应头的部分增加一些额外信息,通知浏览器可以访问其他域的资源

URL响应头包含 Access-Control-* 指明请求允许跨域

3.SpringMVC解决跨域访问
@CrossOrign -Controller跨域注解

<mvc:cors > SpringMVC全局跨域配置

七.拦截器
拦截器用于对URL请求进行前置/后置过滤
Interceptor与Filter用途相似,但实现方式不同
Interceptor底层就是基于SpringAOP面向切面编程实现的

1.拦截器开发流程
Maven依赖servlet-api
实现HandlerInterceptor接口
applicationContext配置过滤地址

课程收获:

https://img1.sycdn.imooc.com//635ff1dc0001dc9e13700668.jpg

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消