文章目录
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注解