(1.)数据访问接口:DAO层 (2.)处理业务逻辑层:Service层 (3.)数据实体:POJO (4.)负责前段请求接受并处理:Service (5.)负责前端页面展现:JSP前端
这种构架模式就是MVC设计模式,它是软件工程的一种软件架构模式。它强制性的是软件系统的输入,处理和输出的分开,把软件系统分三个基本部分:模型(Model),视图(View)控制器(Controller) 解析: 视图(View):负责格式化数据并把它们呈现给客户 控制器(Controller):负责接收并转发请求,作出响应返回给客户 模型(Model):模型对象拥有最多的处理任务,是应用程序的主体部分,负责处理和实现数据web
JSP MODEL1:当业务流程较为简单的时候,能够把控制器的功能交给视图来实现,这种模式统称为 JSP MODEL1 JSP MODEL2:至关于JSP MODEL1 当业务流程复杂的时候,即须要把业务流程交给控制器来实现,JSP专一视图的展示便可 。 MVC处理过程 (1.)首先视图是提供系统与用户交互界面,并发送用户给控制器。 (2.)控制器接收用户请求,并决定改调用哪一个模型来处理 (3.)模型根据用户请求进行相应的业务逻辑处理,并返回处理结果 (4.)控制器根据返回处理结果,调用相应的视图格式化模型返回的数据,并经过视图呈现给客户。spring
MVC优缺点: 优势: (1.)多视图共享一个模型,大大提升代码的可用性 (2.)MVC三个模块相互独立,松耦合构架 (3.)控制器提升应用程序和灵活性和可配性 (4.)有利益软件工程化管理 缺点: (1.)原理复杂 (2.)增长了系统结构和实现的复杂性 (3).视图对模型数据的低效访问编程
1:Spring MVC 环境搭建 (1.)引入jar文件json
(2.)在web.xml中配置Servlet设计模式
(3.)建立SpringMVC配置文件(springmvc-servlet.xml)(处理请求的控制器)服务器
(4).建立Controller数据结构
(5.)建立view架构
(6.)部署运行 (7.)更改HandlerMapping(处理器映射)并发
<property name=”suffix”value=”.jsp”/> </bean> </beans>
(1.)首先用户发送请求到前端控制器(dispatcherServlet)前端控制器根据请求信息,来决定选择哪一个控制页面(Controller)进行处理,并把请求委托给他,即service控制器的控制逻辑部分D (2.)页面控制器接收到请求后,进行业务处理,处理完成返回一个Modelandview(模型数据名和逻辑视图名) (3.)前端控制器收回控制器,而后根据逻辑视图名,选择相应的正在视图名,并把模型数据传入以便将视图渲染展现 (4.)前端控制器再次收回控制器,将相应结果返回给客户,至此整个流程结束
(1.)客户端发出HTTP请求,web应用服务器接收此请求,若匹配DispatcherService的请求映射路径(在web.xml中指定)则web容器将根据请求交给DispatherService处理(dkz) (2.)DispatherService接收到该请求后将根据请求的信息(包括URL,请求参数,http方法等及HandlerMapping配置(在<serviceName>-servlet.xml中配置),找处处理请求的方法K (3.)当DispatherService根据HandlerMapping找到相应当前请求的Handler以后,经过HandlerAdater对handler进行封装,在以统一的适配器接口调用Handler.HandlerAdapter,能够理解为具体使用Handler来干活的人。三个方法
Supports(Object handler)方法,判断是否可使用某个Handler Handle方法:具体使用Handler干活 getLastModified方法,获取资源的Last-Modified
(4.)在请求信息达到真正调用Handler处理方法以前的这段时间内,SpringMvc还完成了不少工做,他会将请求信息以必定的方式转换并绑定到请求方法的入参中,对于入参的对象会进行数据转换,格式化及数据校检等,这些都作完后,最后才真正的调用Handler处理方法进行相应的数据逻辑处理。 (5.)处理器完成业务处理以后将返回一个ModelAndView对象给DispatcherServlet,ModelAndView对象包含了逻辑视图名和模型数据信息。 (6.)ModelAndView对象中包含的是“逻辑视图名”,而非真正的视图对象,DispatherService会经过ViewResolver将逻辑视图名解析为真正的视图对象,View固然负责数据展现的视图能够为jsp,xml,pdf,json等多种数据格式, (7.)当获得最后的视图对象后View后,DispatherService会使用ModelAndView对象中的模型数据对View进行视图渲染。 (8.)最终客户端得到响应消息,根据配置,能够是普通的HTML页面,也能够是一个xml,或者是json格式数据等。Z
1.参数传递:最简单的方法就是将Controller方法中参数直接入参 @RequestMapping映射: (1.)经过请求URL进行映射D (2.)经过请求参数,请求方法进行映射 2.参数传递(Controller to View) (1.)ModelAndView经常使用方法 处理器处理的方法返回值若为ModelAndView,则即包括视图信息,又包括模型数据信息,有了该对象以后,Spring mvc 就能够对视图模型就行数据渲染。 *.添加模型数据
*.设置视图
2.Model 除了可使用ModelAndView对象来返回模型数据外,咱们还可使用Spring mvc 提供的Model对象来完成模型数据的传递。K 3.Map 经过前面对于Model和ModelAndView对象的学习,咱们还能使用Spring MVC 的Model其实就是一个map的数据结构,能够用map做为入参处理
4.@ModelAttribute 若但愿将入参的数据对象放入数据模型中去,就须要在相应入参前使用此注解,再此咱们只作简单了解。 5.@SessionAttributes 此注解能够模型中属性存入httpSession中,以便在多个请求之间共享该属性,只作简单了解。Z
2.Spring mvc经过视图解析器来完成视图解析的工做,把控制器的处理方法返回的逻辑视图名,解析成一个真正的视图对象