MVC
- M: service + dao
- V: jsp
- C: servlet
五大组件
- 前端控制器 (DispatherServlet)
- 映射处理器 (HandlerMapping)
- 业务处理控制器 (Contoller)
- 视图和模型 (ModelAndView)
- 视图解析器 (ViewResolver)
五大组件工作原理(springMVC的开发流程)
- 客户端给服务器发送请求,请求先交给前端控制器,然后转发给映射处理器
- 映射处理器把URL和控制器绑定,然后回交给前端控制器
- 前端控制器调用指定的业务处理器,进行业务处理,把响应的结果和模型对象封装成ModelAndView返回给前端控制器
- 前端控制器调用视图解析器解析试视图,把解析后的视图交给前端控制器(springMVC.xml)
- 前端控制器把结果返回给客户端
基于注解的方式,实现SpringMVC配置
- @Controller:实例化控制层
- @RequestMapping:定义模块名称(拦截请求的地址)
从客户端向控制器传输数据
- request对象获取数据
- req.getParameter(“input中name的属性值”)
- 请求地址 ${pageContext.request.contextPath}/login.do
- 在项目根目录发login.do请求
- 通过使用属性传值
- @RequestParam(“username”) String username
- 通过bean对象传值(数据量大的时候,注意:springmvc会自动调用set方法给对象设置值)
从控制器向客户端传值
- 作用域
- request setAttribute() 方法把值设置到request的作用域里
- session setAttribute() 方法把值设置到session 的作用域里
- cookie application
- ModelAndView: model----modelMap—Map
- ModelMap
请求转发和重定向
- 重定向原理: response.sendRedirect(“xx.do”)
- 转发的原理:req.getRequestDispatcher(“xxx.jsp”).forward(req,resp);
- springMVC在解析视图的时候,当解析到forward或者redirect前缀时,执行重定向和转发