二十二、Spring框架五之SpringMVC框架(1)

1 SpringMVC

在这里插入图片描述

2 经典三层

在这里插入图片描述

3 SpringMVC框架概述

在这里插入图片描述

4 SpringMVC的处理流程

在这里插入图片描述

5 SpringMVC快速入门

5.1 需求

在这里插入图片描述

5.2 步骤

5.2.1 创建web工程
1 创建web工程:
	使用骨架webapp:会有很多不需要的东西
	不使用骨架:
		1 pom.xml
			添加packaging为war包:web工程
		2 生成目录:
			生成webapp目录,见下图
			生成web.xml,见下图
		
		3 pom.xml 
			添加依赖dependency:springcontext,springmvc等
				tips:scope说明:使用provided就不会在打包的时候将jar包打到war包中,
				如servlet,Tomcat有servlet的jar包不需要我们自己的,所以scope为provided,
				jsp的也是provided,别的基本不是

idea生成webapp目录
在这里插入图片描述
idea生成web.xml文件
在这里插入图片描述

5.2.2 编写java代码
2 编写java代码
	(1)创建controller:DefaultController理解为web阶段的servlet
		处理请求方法:
			public ModelAndView gotoResult(ModelAndView modelAndView)
				ModelAndView对象:由前端控制器传入
				封装数据
				指定跳转页面:
					servlet请求转发到jsp页面,jsp页面放到web-inf目录下,web-inf下浏览器无法直接访问,
					只能servlet请求转发才可以访问,更安全
				返回对象
				
			类上:添加@Controller到类上,该类对象交给Spring管理
			
			方法上:添加@RequestMapping:浏览器发送请求时能够匹配到该方法,调用该方法
			
	
	(2)创建Springmvc的配置文件:springmvc.xml
		开启springioc容器注解扫描
		开启springmvc的注解扫描
		配置视图解析器
		
	(3)配置web.xml 
		前言:Tomcat服务器运行项目,会加载webapps下的所有的项目,会读取每个项目下的web.xml的配置信息(配置了哪些servlet,哪些监听器,哪些过滤器)
		配置Springmvc的前端控制器DispatcherServlet:servletname servletmapping拦截匹配所有请求
			加载Springmv配置文件init-param
			配置让DispatcherServlet随Tomcat启动而创建load-on-startup
5.2.3 运行程序
3 运行程序
	配置Tomcat插件:
		右键generate plugin template Tomcat7
		再配置参数信息:configuration
			port端口号
			项目路径path
		
		Maven Project中运行
			
	或者使用IDEA自带的:
		war:将压缩文件放到Tomcat的webapp下的目录,自动解压部署运行
		war exploded:直接将工程放到webapp下的目录,运行,不压缩

6 SpringMVC架构

在这里插入图片描述

组件说明

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

架构流程

在这里插入图片描述

配置

在这里插入图片描述

7 @RequestMapping注解使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8 请求参数绑定

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

绑定pojo对象的包装对象:
public class QueryVO{
	private User user;
}
public class User{
	private Integer id;
	private String name;
	private String sex;
}

entity  ——>  网页中表单提交的数据,所对应的JavaBean对象
pojo    ——>  对应数据库表的实体类

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9 SpringMVC过滤器

在这里插入图片描述

post请求:
1.可以用request.setCharacterEncoding(“UTF-8”);
2.配置过滤器:解决POST请求中文乱码,如上图SpringMVC编码过滤器所示:

get请求
Tomcat8已经解决GET中文乱码;
Tomcat7需要自己解决
	将乱码的字符串name进行转换,String name = request.getPrameter(“name”);
	转换后:name = new String(name.getBytes(“ISO-8859-1”,”UTF-8”);

10 自定义类型转换器

问题引入:
	发送请求的日期 date=2019-10-10为字符串格式,
	无法直接赋值给Date对象接收

错误出现:
	直接接收发生400错误,接收参数与传入参数类型对应不上
	
解决:需要自定义类型转换器

具体实现步骤:
	1 定义日期转换工具类:DateConverter implements Converter<String, Date>:
		字符串类型向日期类型转换
	    实现抽象方法,用SimpleDateFormat转为Date类型
		
	2 配置springmvc.xml
		配置注册转换器
		配置bean对象给注册转换器使用
			property set自定义的转换器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
index.jsp界面发送请求,经过Spring的前端控制器,前端控制器根据配置文件springmvc.xml中的日期过滤器,找到自定义的日期转换器DateConvert转换为Date格式的日期对象,传给ParamsController的参数date接收。

11 RequestHeader注解

在这里插入图片描述

在这里插入图片描述

12 CookieValue注解

在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值