温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SpringMVC的五大核心组件怎么使用

发布时间:2023-03-27 10:21:49 来源:亿速云 阅读:114 作者:iii 栏目:开发技术

这篇文章主要介绍了SpringMVC的五大核心组件怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringMVC的五大核心组件怎么使用文章都会有所收获,下面我们一起来看看吧。

    SpringMVC的五大核心组件

    • DispatcherServlet -前端控制器,用于统一接收请求并分发,组织处理请求的流程

    • HandlerMapping -映射请求路径与处理请求的控制器

    • Controller -由开发人员创建的,实际处理请求的控制器

    • ModelAndView -Controllera组件处理完请求后得到的结果,由数据与视图名称组成

    • ViewResolver -视图解析器,可根据视图名称(由ModelAndView:返回)确定需要使用的视图组件

    SpringMVC的五大核心组件怎么使用

    一、DispatcherServlet

    DispatcherServlet:通常称之为“前端控制器”,用于统一接收请求并分发,组织处理请求的流程        

    -如果是使用web.xml文件配置项目的Web环境的项目,需要显式的在web.xml配置它,例如映射的请求路径,并确保它是Web容器(例如Tomcat)在启动时就初始化的,并在初始化时会加载Spring环境        

    -如果是使用Spring注解来配置Spring MVC环境的项目,则不需要直接配置它,而是通过自定义一个AbstractAnnotationConfigDispatcherServletlnitializer的子类来间接的配置,例如配置它映射的请求路径        

    -如果是使用Spring Booti框架的Web项目,你甚至可以不需要知道它的存在,默认映射的请求路径是/*,当然,如果认为有必要的话,也可以配置为其它值

    二、HandlerMapping

    HandlerMapping:它是一个接口,Spring MVC框架内置了简单的实现类:

    SimpleUrlHandlerMapping,用于映射请求路径与处理请求的控制器,但是,在实际应用中,并不会直接使用这个实现,而是使用@RequestMapping注解,或进阶的@PostMapping、@DeleteMapping、@PutMapping、@GetMapping等注解,直接配置请求路径与处理请求的方法的映射关系

    三、Controller

    Controller:是实际处理请求的控制器        

    是开发者自行编写的,通常有多个,一般根据需要处理的请求所涉及的核心数据类型来区分,例如与用户相关的请求则创建UserController,与订单相关的请求则创建OrderController…        

    这些类必须放在组件扫描的包或其子孙包下,并添加@Controller注解,或添加@RestController注解,由于主流的开发模式是服务器端向客户端响应正文,通常使用的是@RestController        

    一般还会在这些类的声明之前添加@RequestMapping注解,以统一设计URL中的前缀路径        

    每个控制器类中将有若干个处理请求的方法

    四、ModelAndView

    ModelAndView:Controller组件处理完请求后得到的结果,由数据与视图名称组成        

    在实际开发中,由于Spring MVC提供了更加便捷的API,通常并不直接使用这种类型作为方法的返回值,当需要转发数据时,可以在方法的参数列表中添加ModelMap对象用于封装需要转发的数据,并使用String类型的返回值表示视图名称,如果需要重定向,则返回以redirect:作为前缀的Stringl即可        

    主流的开发模式是服务器端向客户端响应正文,完全不需要使用该类型的对象

    五、ViewResolver

    ViewResolver:视图解析器,可根据视图名称确定需要使用的视图组件        

    Spring MVC框架内置了简单的实现类:InternalResourceViewResolver,当使用JSP文件作为视图时将使用它,主要配置prefix7和suffix这2个属性,SpringMVC框架会将orefixl的值、控制器返回的视图名称、suffix的值拼接起来,以确定JSP文件的位置并使用        

    使用Thymeleaf的模版页面作为视图组件时,则配置ThymeleafViewResolver,配置思想大致相当,但需要另外配置Thymeleaf的模版引擎和模版解析器        

    主流的开发模式是服务器端向客户端响应正文,完全不需要使用该组件

    SpringMVC框架的核心组件及其流程图

    SpringMVC框架

    1.作用:解决了V-C交互问题,也就是试图与控制器的交互问题。

    在原生的Java EE技术中,使用Servlet作为项目中的控制器,用于接收用户的请求,并给予响应结果。

    这种做法最大的问题在于:每个Servlet对应一个请求路径,例如:LoginServlet处理login.do的请求,而RegisterServlet处理register.do的请求,所以,会导致Servlet数量太多,不便于管理(无论是从源文件的数量,还是从配置文件的内容),且对象太对而占用大量的内存空间的问题,并且,在请求的处理过程中,还存在许多操作不简单的做法!

    2.SpringMVC核心组件及其流程图。

    SpringMVC的五大核心组件怎么使用

    1.DispatcherServlet:前端控制器,负责接收所配置的所有请求(假设配置为*.do,则它将接收所有以.do为后缀的请求),并负责分发这些请求;

    2.HandlerMapping:记录了请求路径与处理请求的Controller或其方法的对应关系;

    3.Controller:控制器,负责处理具体的请求,每个项目中可能有若干个Controller组件,每个Controller组件中可以有若干个处理请求的方法;

    4.ModelAndView:控制器处理完请求后得到的结果,该结果可以包含数据与视图名称;

    5.ViewResovler:视图解析器,可以根据视图名称来确定具体的视图组件。 

    关于“SpringMVC的五大核心组件怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“SpringMVC的五大核心组件怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI