Spring——WEB、MVC部分

目录

--------------------------------------Spring的WEB部分:--------------------------------------------------

1、JavaWeb三大组件及环境特点:

2、Spring整合Web:

3、MVC框架思想、设计思路:

--------------------------------------Spring-MVC:--------------------------------------------------

1、请求处理:

(1)接收客户端传的参数:

(2)接收请求头数据:

(3)接收客户端携带的Cookie数据:

(4)获取Request域中的数据:

2、配置Json转换器:

3、Restful风格:

4、接收文件上传:

5、配置全局编码过滤器:

6、请求静态资源失败:

(1)原因:

(2)三种解决方案:

(3)配置以后引入的新问题:

(4)原因:

(5)解决方案:

(6)总结:

7、mvc:annotation-driven标签:

8、数据响应:

(1)传统同步方式:

a:转发、重定向

b:ModelAnView响应模型数据:

c:直接写会数据:

(2)前后端分离异步方式:

9、@RestController:

10、SpringMVC拦截器:

(1)HandlerInterceptor接口:

(2)配置拦截器:

(3)拦截器执行顺序:

(4)拦截器的执行原理:

11、全注解开发:

(1)消除springMVC-config文件:

(2)消除Web.xml文件:


--------------------------------------Spring的WEB部分:--------------------------------------------------

1、JavaWeb三大组件及环境特点:

 

2、Spring整合Web:

 

 

3、MVC框架思想、设计思路:

 

--------------------------------------Spring-MVC:--------------------------------------------------

 

 

 

 

1、请求处理:

 

(1)接收客户端传的参数:

a:接收普通请求数据,当客户端提交的数据时普通键值对形式时,直接使用同名形参接收即可

b:接收普通请求数据,当请求参数的名称与方法参数名不一致时,可以使用@RequestParam注解进行标注

c:接收数组或集合数据,客户端传递多个同名参数时,可以使用数组接收

d:客户端传递多个同名参数时,也可以使用单列集合接收,但是需要使用@RequestParam告知框架传递的参数是要同名设置,不是对象属性设置(Spring默认会将创建一个该对象实例,然后设置其对应的属性)

e:接收数组或集合数据,客户端传递多个不同名参数时,也可以使用Map<String,Object>进行接收,同样需要用@RequestParam进行修饰

f:使用实体接收数据,提交的参数名称只要与java的属性名一致,就可以进行自动封装

g:如果使用接收数据的实体中还嵌套着实体,提交的数据使用嵌套实体.属性作为名称就能被自动封装(address.city=tianjin)

h:接收Json数据格式数据,Json数据都是以请求体的方式提交的,且不是原始的键值对格式的,所以要使用@RequestBody注解整体接收该数据

i:对于Json格式的数据,也可以使用Map进行接收

j:接收Restful风格数据,Restful请求数据一般会在URL地址上携带,可以使用注解@PathVariable(占位符参数名称)

(2)接收请求头数据:

 

(3)接收客户端携带的Cookie数据:

 

(4)获取Request域中的数据:

注意:SpringMVC会自动传递HttpServletRequest对象的实参,HttpServletResponse同理

 

2、配置Json转换器:

 

3、Restful风格:

常见的规则如下三点:

(1)用URI表示某个模块资源,资源名称为名词

(2)用请求方式表示模块具体业务动作,例如:GET表示查询、POST表示插入、PUT表示更新、DELETE表示删除

(3)用HTTP响应状态码表示结果,国内常用的响应包括三部分:状态码、状态信息、响应数据

4、接收文件上传:

 

 

 

5、配置全局编码过滤器:

 

6、请求静态资源失败:

(1)原因:

 

(2)三种解决方案:

 

 

 

(3)配置以后引入的新问题:

注意:静态资源配置的第二种第三种方式可以使我们正常的访问静态资源了,但是Controller又无法访问了

(4)原因:

 

(5)解决方案:

 

(6)总结:

 

7、mvc:annotation-driven标签:

 

8、数据响应:

注意:SpringMVC默认的方法返回值是视图

 

(1)传统同步方式:

a:转发、重定向

 

 

b:ModelAnView响应模型数据:

 

c:直接写会数据:

 

(2)前后端分离异步方式:

 

 

 

注意:手动转换和SpringMVC自动转换为Json格式数据的区别在于,自动转换时SpringMVC会设置头信息告诉浏览器返回的是Json格式数据

9、@RestController:

 

 

10、SpringMVC拦截器:

 

 

(1)HandlerInterceptor接口:

注意:实现HandlerInterceptor接口,且被Spring管理的Bean都是拦截器

 

(2)配置拦截器:

 

(3)拦截器执行顺序:

拦截器的执行顺序取决于其配置的顺序

注意:postHandle方法是否执行与preHandle方法有关,只要有一个preHandle方法返回false,那么所有的postHandle就不会执行。afterCompletion是否执行与preHandle有关,与postHandle不同的是,其只与自身的preHandle的返回结果有关

 

(4)拦截器的执行原理:

 

 

 

11、全注解开发:

(1)消除springMVC-config文件:

 

 

 

 

 

 

(2)消除Web.xml文件:

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值