一、SpringMVC工作流程图及叙述:
1、流程图
2、叙述
用户发送请求至前端控制器——前端控制器收到请求调用处理器映射器——处理器映射器根据请求得URL找到对应处理器——生 成处理器对象和处理器拦截器,然后返回给前端控制器——前端控制器通过处理器适配器调用处理器——执行Controller——控制 层执行完返回给ModelAndView——处理器适配器将控制层执行结果ModelAndView返回给前端控制器——前端控制器将ModelAndView返回给视图解析器——解析完成返回具体的视图——渲染——响应用户
二、配置问题
<context:component-scan>自动扫描标记@controller的控制器类。
@RequestMapping:定义请求url到处理器功能方法的映射。
<mvc:annotation-driven>替代注解处理器和适配器的配置。
@RequestParam(value,required) :处理简单类型的绑定(即将请求参数名与方法中的形参绑定),value为参数名 称,即入参的请求参数的名称,required:请求中是否必须有相应的参数,为true时,请求中一定要有参数,不然报400
ssm框架整合思路:,
三、参数绑定
默认支持参数类型:HttpServletRequest (获取请求信息)、HttpServletRespone(处理响应信息)、HttpSession(存 取对象)、Model或者ModelMap(model和modelandview都是通过request想jsp页面传递数据)
支持的数据类型:Integer、String、Float、Double、Boolean建议使用包装类型,因为基础数据类型不能为Null
pojo绑定:针对于表单,要求pojo类中的属性名与input标签中的name属性一致,提交表单中若需要日期类型,需要用到下 面的自定义参数绑定(在springmvc.xml中添加以下配置即可)
四、SpringMVC与Struts2区别
springmvc的前端控制器是一个servlet,而struts2前端控制器是一个filter过虑器。
springmvc是基于方法开发(一个url对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例), struts2是基于类开发,传递参数是通过类的属性,只能设计为多例。
Struts采用值栈存储请求和响应的数据,springMvc通过参数解析器解析请求request