可以支持各种视图技术,而不仅仅局限于 JSP 与 Spring 框架集成(如 IoC 容器、AOP 等) 清晰的角色分配:前端控制器(dispatcherServlet),请求到处理器映射(handlerMapping...Jsp 视图解析器默认使用 jstl 5 Spring MVC 的处理流程? ?...这时处理器适配器的事就做完了 前端控制器拿到这个 ModelAndView,它还是没有办法处理,它还是不能返回 html,这时它要找到相应的 jsp,因为 ModelAndView 即包含模型又包含视图...因为现在我们最常用的视图是 jsp,所以它就找到 jsp 对应的视图解析器 找到这个视图解析器,它来把这个视图解析,解析完了之后它会返回一个 View 对象 最后我们再调用这个视图解析器的渲染视图这个过程...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面 其实,在 SpringMVC 的各个组件中,处理器映射器、处理器适配器、视图解析器称为 springmvc
Handler(Controller,也叫页面控制器)。...方法逻辑代码(M),执行后返回视图jsp页面(V),跳转页面后显示ModelAndView中携带的信息。...如何在控制器中跳转到另一个控制器呢?...-- 配置视图解析器 如何把handler 方法返回值解析为实际的物理视图 根据控制器返回的字符串拼接成jsp路径:xx.jsp --> 的视图名进行解析即 /index.jsp ModelAndView mv = new ModelAndView("index"); mv.addObject(
而且,当多个视图依赖于同一个业务对象时是没有灵活性的。...springMVC优势 1、清晰的角色划分:前端控制器(DispatcherServlet)、请求到处理器映射(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。...InternalResourceViewResolver:支持JSP视图解析 viewClass:JstlView表示JSP模板页面需要使用JSTL标签库,所以classpath中必须包含jstl...),如果是将通过MultipartResolver解析 processedRequest = checkMultipart(request); //步骤2、请求到处理器(页面控制器)的映射,通过HandlerMapping
1.3 SpringMVC能干什么 天生与Spring框架集成,如:(IOC,AOP) 支持Restful风格 进行更简洁的Web层开发 支持灵活的URL到页面控制器的映射 非常容易与其他视图技术集成,...DispatcherServlet:前端控制器 ② Controller:处理器/页面控制器,做的是MVC中的C的事情,但控制逻辑转移到前端控制器了,用于对请求进行处理 ③ HandlerMapping...:请求映射到处理器,找谁来处理,如果映射成功返回一个HandlerExecutionChain对象(包含一个Handler处理器(页面控制器)对象、多个HandlerInterceptor拦截器对象)...④ View Resolver : 视图解析器,找谁来处理返回的页面。...把逻辑视图解析为具体的View,进行这种策略模式,很容易更换其他视图技术;如InternalResourceViewResolver将逻辑视图名映射为JSP视图 ⑤ LocalResolver:本地化
Spring的web框架包括可配置的处理器(handler)映射、视图(view)解析、本地化(local)解析、主题(theme)解析以及对上传文件解析。...注意,你需要选择正确的基类:如果你没有表单,你就不需要一个FormController。这是和Structs的一个主要区别。Spring的视图解析相当灵活。...8) 可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。...6.2 将请求映射到控制器 和其它web框架一样,Spring的web框架是一个请求驱动的web框架,其设计围绕一个中心的servlet进行,它能将请求分发给控制器,并提供其它功能帮助web...如果我们没有指定配置文件的名称Spring会在web应用的WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml的配置文件如dispatcher-servlet.xml 代码清单
另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。...前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为...2、Spring Web MVC能帮我们做什么 √让我们能非常简单的设计出干净的Web层和薄薄的Web层; √进行更简洁的Web层的开发; √天生与Spring框架集成(如IoC容器、AOP等); √提供强大的约定大于配置的契约式编程支持...; √能简单的进行Web层的单元测试; √支持灵活的URL到页面控制器的映射; √非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个...3、Spring Web MVC架构 Spring Web MVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理
降低了组件之间的耦合性 ,实现了软件各层之间的解耦 可以使用容易提供的众多服务,如事务管理,消息服务等 容器提供单例模式支持 容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 Spring...的IoC机制降低了业务对象替换的复杂性 容器提供了众多的辅助类,能加快应用的开发 Spring对于主流的应用框架提供了集成支持,如Hibernate,JPA,Mybatis等 Spring属于低侵入式设计...前端控制器DispatcherServlet将ModelAnView传给视图解析器ViewResolver。 视图解析器ViewResolver解析后返回具体的视图View。...首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面的展示给用户。...View视图 (需要程序员开发 jsp) View是一个接口,实现类支持不同的View类型(jsp、freemarker等)一般情况下需要通过页面标签或者页面模板技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面
Spring web mvc和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来。...5、View Resolver:视图解析器 View Resolver负责将处理结果生成View视图,View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。...5、注解映射器和适配器 Ⅰ、组件扫描器 使用组件扫描器省去在spring容器配置每个controller类的繁琐。...6、视图解析器 在springmvc.xml文件配置如下: InternalResourceViewResolver:支持JSP视图解析; viewClass:JstlView表示JSP模板页面需要使用
-- / 和 /* 的区别: / 会匹配到所有的访问路径,除了带有 *.jsp 这样的后缀名的路径; 如可以匹配到 /login....编写 Controller 类和视图页面 4.使用注解配置 Controller 类中业务方法的映射地址 5.配置 SpringMVC 核心文件 spring-mvc.xml SpringMVC...最常用的视图就是 jsp。一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。 7. SpringMVC 中的三大组件是什么?...JSP,也可以转发到其他的控制器方法。...当有静态资源需要加载时,比如 jQuery 文件,通过谷歌开发者工具抓包发现,没有加载到 jQuery 文件,原因是 SpringMVC 的前端控制器 DispatcherServlet 的 url-pattern
9.1.2 Spring MVC工作原理 Spring MVC框架主要由DispatcherServlet、处理器映射、控制器、视图解析器、视图组成,其工作原理,如下图所示: ?...映射信息 传统风格的控制器定义后,需要在Spring MVC配置文件中部署它们(学习基于注解的控制器后,不再需要部署控制器)。..."/> 9.2.6 应用的其他页面 RegisterController控制器处理成功后,跳转到“/WEB-INF/jsp/register.jsp”视图;LoginController控制器处理成功后...因此,应用的“/WEB-INF/jsp”目录下应有“register.jsp”和“login.jsp”页面,此两个JSP页面代码略。...2、通过SpringMVC中的视图解析器,使用ViewResolver对控制器返回的ModelAndView对象进行解析,将逻辑视图转换成物理视图。
ModelAndView ModelAndView是springmvc框架的一个底层对象,包括Model和View 第八步:前端控制器请求视图解析器去进行视图解析,根据逻辑图名解析成真正的视图(jsp...,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区 使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml...,有没有别的注解可以替代?...Sprigmvc的异常处理 可以将异常抛给Spring框架,有Spring框架来处理;我们只需要配置简单的异常处理器,在异常处理器添视图页面即可。...可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。
可以支持各种视图技术,而不仅仅局限于JSP; 与Spring框架集成(如IoC容器、AOP等); 清晰的角色分配: 前端控制器(dispatcherServlet) ; 请求到处理器映射(handlerMapping...时的映射策略 ModelAndView: 服务层返回的数据和视图层的封装类 ViewResolver: 视图解析器,解析具体的视图 Interceptors : 拦截器,负责拦截我们定义的请求然后做处理工作...Jsp视图解析器默认使用jstl。 与spring整合不一样。Spring MVC是spring框架的一部分,不需要整合。在企业项目中,Spring MVC使用更多一些。...使用时机: 返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用; 2.7 @PathVariable和@RequestParam的区别?...3.6 如何在方法里面得到Request,或者Session? 直接在方法的形参中声明request,Spring MVC就自动把request对象传入。
SpringMVC主要包含一下组件 DispatcherServlet-前端控制器 HandlerMapping-处理器映射 Controller-控制器 ViewResolver-视图解析器 View...DispatcherServlet的任务是将请求发送给Spring MVC控制器(Controller)。控制器是一个用于处理请求的Spring组件。...ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由工程师根据业务需求开发具体的页面。 视图View(需要工程师开发jsp…)。...View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)。 下边两个组件通常情况下需要开发: Handler:处理器,即后端控制器用controller表示。
Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些,但执行效率并没有比 JSTL 提 升,尤其是 struts2 的表单标签,远没有 html 执行效率高。...sucess.jsp ? 相对路径,索引 为了方便文件的查着,应该讲通类文件放到同一个文件夹中。便于索引。 ——》页面虽然生成了,但是还不够。还需要配置一个视图解析器。...spring.xml加载,执行注解扫描,从而将对象添加到ioc控制器,类也被创建成对象,默认单例 视图解析器也变成了对象,谁调用就可以帮助完成跳转页面的功能 然后开启了mvc框架注解支持,后面的注解映射也会生效...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开 发具体的页面。...因此在之前的spring.xml中只需要再配置视图解析器就完成了 我们只需要编写处理具体业务的控制器以及视图。 ?
ViewResolver:视图解析器 ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View...但是从spring3.1版本开始,废除了DefaultAnnotationHandlerMapping的使用,推荐使用RequestMappingHandlerMapping完成注解式处理器映射。...JSP视图解析在springmvc.xml配置文件中配置如下: 解析器是将request请求内容解析,并给方法形参赋值,将数据和视图封装成ModelAndView对象,最后又将ModelAndView中的模型数据通过request域传输到页面...value:参数名字,即入参的请求参数名字,如value=“itemId”表示请求的参数区中的名字为itemId的参数的值将传入。
和Bean名字映射,如URL为 “上下文/hello”,则Spring配置文件必须有一个名字为“/hello”的Bean,上下文默认忽略。...InternalResourceViewResolver:用于支持Servlet、JSP视图解析; prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),比如传进来的逻辑视图名为...hello,则该该jsp视图页面应该存放在“WEB-INF/jsp/hello.jsp”; 页面控制器 public class TestController implements Controller...InternalResourceViewResolver是视图解析器,springMVC在controller方法中返回的逻辑视图,视图解析器接收到controller方法返回的逻辑视图,并将其解析成页面真正的路径...,如处理器返回“test”时,InternalResourceViewResolver解析器会自动添加前缀和后缀:/WEB-INF/jsp/test.jsp
1 @RestController@RestController 是一个 Spring Framework 中的注解,用于标识一个类是一个控制器(Controller),并且该控制器中的方法返回的数据不是视图页面...@RestController 是 Spring Framework 中用于创建 RESTful 风格控制器的关键注解,它使得创建 Web 服务变得更加简单和方便,特别是在需要返回 JSON 或其他数据格式的情况下...@RequestMapping@RequestMapping 是 Spring Framework 中用于映射 URL 到控制器方法的注解。...视图解析器:配置视图解析以将视图名称解析为实际的视图实现,例如JSP或Thymeleaf模板。静态资源处理:配置支持提供静态资源,如CSS、JavaScript和图像。...这样配置后,当的控制器方法返回视图名时(例如:return “hello”;),Spring MVC将会自动将视图名解析为 /WEB-INF/views/hello.jsp,然后渲染该 JSP 视图。
用户发请求 Servlet接收请求数据,并调用对应的业务逻辑方法 业务处理完毕,返回更新后的数据给servlet servlet转向到JSP,由JSP来渲染页面 响应给前端更新后的页面 职责分析: Controller...:控制器 取得表单数据 调用业务逻辑 转向指定的页面 Model:模型 业务逻辑 保存数据的状态 View:视图 显示页面 Model2这样不仅提高的代码的复用率与项目的扩展性,且大大降低了项目的维护成本...--将WEB-INF里面的jsp页面设为欢迎页 要在WEB—INF前面加 ....;由MVC演化出了另外一些模式如:MVP、MVVM 等等… 2、什么是SpringMVC 2.1、概述 Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级...HandlerExecution将解析后的信息传递给DispatcherServlet,如解析控制器映射等。
MVC 中每个部分各司其职: Model(模型): 通常指的就是我们的数据模型。作用一般情况下用于封装数据。 View(视图): 通常指的就是我们的 jsp 或者 html。...使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用...处理器适配器(HandlerAdapter) 视图解析器(ViewResolver) 处理器或页面控制器(Controller) 验证器( Validator) 命令对象(Command 请求参数绑定到的对象就叫命令对象...Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些,但执行效率并没有比 JSTL 提升,尤其是 struts2 的表单标签,远没有 html 执行效率高。...一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开 发具体的页面。
1、前端控制器 DispatcherServlet(不需要开发,由框架提供【核心】) DispatcherServlet 是 Spring MVC 的入口函数。...首先,根据逻辑视图名解析成物理视图名(即具体的页面地址),再生成 View 视图对象,最后对 View 进行渲染,将处理结果通过页面展示给用户。...一般情况下,需要通过页面标签或页面模版技术,将模型数据通过页面展示给用户,这需要由工程师根据业务需求开发具体的页面。...6、视图 View (需要工程师开发) View 是一个接口,实现类才可以支持不同的View类型(jsp、freemarker、pdf...)...其他的一些组件,如:前端控制器 DispatcherServlet、处理器映射器 HandlerMapping、处理器适配器 HandlerAdapter 等都是由框架提供。
领取专属 10元无门槛券
手把手带您无忧上云