SpringMVC基本使用

简介:MVC框架 类似struts2,有spring提供的mvc框架技术。
优点:

  1. 天然的集成Spring,无缝整合spring。
    2.支持所有Spring的语法(IOC/DI)
  2. SpringMVC支持注解开发(支持注解的IOC/DI,支持注解定义访问路径)
  3. 性能高 只创建一个 (struts2 值栈 OGNL action的多例)
  4. SSM(Spring SpringMVC MyBatis)

环境搭建

① 核心思路

在这里插入图片描述

② 具体编码
  1. 导入jar
  2. 导入mvc.xml的配置文件
  3. 初始化配置web.xml
    在这里插入图片描述
  4. 初始化mvc.xml
    在这里插入图片描述

控制器的开发

在这里插入图片描述
访问路径:
在这里插入图片描述
要点说明:

  1. SpringMVC核心控制器内部初始化小的Spring工厂
  2. 控制器的生命周期:
    创建: tomcat启动创建Controller的对象
    创建个数: 只创建一个
  3. Controller属于线程不安全对象
    绝对不要在Controller定义存储数据的属性。(尽量保证Controller是线程安全的)

SpringMVC使用Servlet的API

HttpServletRequest
HttpServletResponse
HttpSession

使用方式:直接在方法参数中声明即可。
在这里插入图片描述

SpringMVC接收请求参数

① 基本数据类型 + String类型参数接收

在这里插入图片描述

② 对象类型参数接收

在这里插入图片描述

路径跳转

1. Controller---->JSP(请求转发)

在这里插入图片描述

2.Controller–>JSP (重定向跳转)

在这里插入图片描述

3.Controller—>Controller(重定向跳转)

在这里插入图片描述

4.Controller---->Controller(请求转发)(一般不用)

在这里插入图片描述
注意: 一个请求过程中,尽量只包含一个业务逻辑。
[Controller—>Controller,使用重定向的方式]

Spring提供通用编码Filter

1.get请求

在这里插入图片描述

2.post请求

在所有的springmvc的控制器之前添加一个设置编码的Filter。
在这里插入图片描述

Spring的作用域操作

① Model

Model相当于Request作用域
使用:

  1. 在方法上参数中声明 (Model model)
  2. 存:model.addAttribute(“name”,值);
  3. 取: ${requestScope.name}
② Session作用域

使用:
@SessionAttributes({“model的值的name”})(在类上添加)
效果:
将name对应的值拷贝到session中一份。
在这里插入图片描述

③ 作用域补充
Request作用域:

SpringMVC的作用域: Model Map ModelMap

  • Map使用:
    a.方法上声明
    b. 存:map.put(“key”,value);
    c.取:${requestScope.key}
  • ModelMap的使用
    a.方法上声明
    b.存:modelMap.addAttribute(“name”,Value);
    c.取:${requestScope.key}
  • ModelAndView
    作用: 跳转 + 作用域
    作用域:
    a.获得:new ModelAndView();
    b.存:mav.addObject(“name”,value);
    c.取:${requestScope}
  • 跳转视图的作用:
    设置跳转页面:mav.setViewName(“forward:/scope.jsp”);
    跳转: return mav;
session作用域:

在这里插入图片描述
上一篇:Spring底层原理
下一篇:自定义类型转换器

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值