当前位置:首页>财经>正文

springmvc用什么渲染视图 spring mvc 的详细流程

2023-05-24 17:57:30 互联网 未知 财经

 springmvc用什么渲染视图 spring mvc 的详细流程

springmvc用什么渲染视图

org.springframework.web.servlet.view.freemarker.FreeMarkerView@RequestMapping(value="/student")protectedModelAndViewfreemaker(){Studentstu1=newStudent()stu1.setName("gaoxiang1")stu1.setSex("male1")Studentstu2=newStudent()stu2.setName("gaoxiang2")stu2.setSex("male2")Lista=newArrayList()a.add(stu1)a.add(stu2)returnnewModelAndView("user/student","studentList",a)}使用视图链首先会去找user/student.ftl如果找不到就会去找user/student.jsp

spring mvc 的详细流程

Spring MVC 的运行流程
①. 在整个 Spring MVC 框架中, DispatcherServlet 处于核心位置,负责协调和组织不同组件以完成请求处理并返回响应的工作
②. SpringMVC 处理请求过程:
> 若一个请求匹配 DispatcherServlet 的请求映射路径(在 web.xml 中指定),
WEB 容器将该请求转交给 DispatcherServlet 处理
> DispatcherServlet 接收到请求后, 将根据请求信息(包括 URL、HTTP 方法、请求头、请求参数、Cookie 等)及
HandlerMapping 的配置找到处理请求的处理器(Handler). 可将 HandlerMapping 看成路由控制器,将 Handler 看成目标主机。
> 当 DispatcherServlet 根据 HandlerMapping 得到对应当前请求的 Handler 后,通过 HandlerAdapter
对 Handler 进行封装,再以统一的适配器接口调用 Handler。
> 处理器完成业务逻辑的处理后将返回一个 ModelAndView 给 DispatcherServlet,
ModelAndView 包含了视图逻辑名和模型数据信息
> DispatcherServlet 借助 ViewResoler 完成逻辑视图名到真实视图对象的解析
> 得到真实视图对象 View 后, DispatcherServlet 使用这个 View 对 ModelAndView 中的模型数据进行视图渲染

spring mvc 的工作流程是什么

Spring Web MVC 处理Http请求的大致过程:
一旦Http请求到来,DispatcherSevlet将负责将请求分发。DispatcherServlet可以认为是Spring提供的前端控制器,所有的请求都有经过它来统一分发。
在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。HandlerMapping是这样一种对象,它能够完成客户请求到Controller之间的映射。在Struts中,这种映射是通过struts-config.xml文件完成的。其中,Spring为Controller接口提供了若干实现,例如Spring默认使用的BeanNameUrlHandlerMapping。还有,SimpleUrlHandlerMapping,CommonsPathMapHandlerMapping。
Spring Controller将处理来自DispatcherServlet的请求。Spring的Controller类似于struts的Action,能够接受HttpServletRequest和HttpServletResponse。Spring为Controller接口提供了若干实现类,位于org.springframework.web.servlet.mvc包中。由于Controller需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理客户请求,这和Struts Action 扮演的角色是一致的。
一旦Controller处理完客户请求,则返回ModelAndView对象给DispatcherServlet前端控制器。ModelAndView中包含了模型(Model)和视图(View)。从宏观角度考虑,DispatcherServlet是整个Web应用的控制器;从微观角度考虑,Controller是单个Http请求处理过程中的控制器,而ModelAndView是Http请求过程中返回的模型和视图。前端控制器返回的视图可以是视图的逻辑名,或者实现了View接口的对象。View对象能够渲染客户响应结果。其中,ModelAndView中的模型能够供渲染View时使用。借助于Map对象能够存储模型。
如果ModelAndView返回的视图只是逻辑名,则需要借助Spring提供的视图解析器(ViewResoler)在Web应用中查找View对象,从而将响应结果渲染给客户。
DispatcherServlet将View对象渲染出的结果返回个客户。

spring mvc怎么用


MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
视图
  视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.
  如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。
模型
  模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器
  控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。

springmvc的工作原理,简单的概括一下

1. 客户端请求提交到DispatcherServlet。
2. 由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
3. DispatcherServlet将请求提交到Controller。
4. Controller调用业务逻辑处理后,返回ModelAndView。
5. DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
6. 视图负责将结果显示到客户端。

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。 Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。