springMVC的使用步骤:
- 下载并部署jar包:spring包 + springMVC的包 + jstl + commons-logging
- 编写配置文件
- web.xml : 配置一个核心的控制器 DispatcherServlet
- spring-mvc.xml 配置文件:组件扫描、注解驱动、视图解析器
- 编写控制器
- @Controller : 标识为控制器组件
- @RequestMapping : 映射一个名字,支持类和方法
- 编写视图 jsp
- 部署运行、报错、调试,哈哈哈
SpringMVC的核心API介绍
- DispatcherServlet : 核心控制器,负责拦截所有的请求
- HandlerMapping : 处理映射器,负责将请求url映射到控制器类
- HandlerAdpater : 处理适配器,在到达Handler之前做一些处理工作,比如参数转换和封装
- ModelAndView : 模型和视图
- ViewResolver : 视图解析器,负责渲染视图
参数传递:Controller To View
servlet 如何向jsp传值?
Request.setAttribute(key,value);
Session.setAttribute(key,value);
springMVC如何传递值?
- ModelAndView: 返回该对象
- 返回值都是String,添加方法参数:
- Model : addObject
- Map :
- ModelMap
- @ModelAttribute注解
- view-to-controller:
- 直接在控制器的方法写参数:支持多种数据类型
Integer,String,Double, Date(不太支持)、实体类
public String delete(Integer id);
- 如果传递的参数名不一致?
@RequestParam 进行参数映射 - 数组和集合如何接受呢?
乱码是如何产生的?
因为是web服务器是老外写的!默认不支持中文的
- 对于post请求的乱码? Request.setCharacterEncoding(“utf8”);
在spring中提供了一个过滤器,负责进行编码处理 - get请求,tomcat默认是不支持地址栏传递中文的,如果
总结:
- springMVC的使用步骤
- 参数传递:
- controller-to-view: ModelAndView,Model,Map, ModelMap @ModelAttribute
- view-to-controller: 直接给方法添加参数,日期类型需要单独处理