大家好,关于springmvc的工作流程是什么很多朋友都还不太明白,今天小编就来为大家分享关于springMVC执行流程及原理的知识,希望对各位有所帮助!
先学spring还是spring mvc
先学Spring,Spring是javaWeb框架里面的重中之重,基本所有框架都会和Spring进行整合。
ssh中的spring充当的是mvc中的model的职能,他也可以集成hibernate等,但它不提供hibernate的功能,仅为集成。
springmvc是mvc架构的整体实现,包括了mvc三项框架,有了它你就不需要再去集成struts和hibernate了,都是由它自己提供。
springmvc的DispatcherServlet在工作时是以单例模式工作的吗
DispatcherServlet的本质还是一个servlet,它的生命周期是跟随容器的,所以只有一个实例。
但是请求发起时的request和respone每次都是一个新实例。spring的工作流程
spring工作的流程
流程如下:
1、用户发起请求到前端控制器(DispatcherServlet),该控制器会过滤出哪些请求可以访问Servlet、哪些不能访问。就是url-pattern的作用,并且会加载springmvc.xml配置文件。
2、前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping完成url到controller映射的组件,简单来说,就是将在springmvc.xml中配置的或者注解的url与对应的处理类找到并进行存储,用map<url,handler>这样的方式来存储。
3、HandlerMapping有了映射关系,并且找到url对应的处理器,HandlerMapping就会将其处理器(Handler)返回,在返回前,会加上很多拦截器。
4、DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
5、执行处理器
6、处理器会返回一个ModelAndView对象给HandlerAdapter
7、通过HandlerAdapter将ModelAndView对象返回给前端控制器(DispatcherServlet)
8、前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正的视图(jsp),其实就是将ModelAndView对象中存放视图的名称进行查找,找到对应的页面形成视图对象
9、返回视图对象到前端控制器。
10、视图渲染,就是将ModelAndView对象中的数据放到request域中,用来让页面加载数据的。
11、通过第8步,通过名称找到了对应的页面,通过第10步,request域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
什么是springmvc
SpringMVC(Model-View-Controller)是一个基于MVC设计模式的Web框架,用于创建Web应用程序。SpringMVC框架使用经典的模型-视图-控制器模式,其中模型表示应用程序中用于处理数据的对象,视图表示呈现GUI的用户界面,控制器使用模型和视图组合来实现业务逻辑。
SpringMVC框架是Spring框架的一部分,通过将其与Spring框架相结合,可以实现基于MVC的Web应用程序的完整堆栈开发。SpringMVC框架提供了一个灵活的请求处理流程,使开发人员能够实现自定义路由逻辑和响应数据格式。
此外,SpringMVC提供了许多内置的HTTP请求处理器,它们负责与服务器通信以及处理来自客户端的请求和响应。总之,SpringMVC框架是一个功能强大且灵活的Web框架,广泛应用于企业级Web应用程序开发中。
mvc为什么先进入
设置在web-inf里面就是为了防止用户恶意访问,比如跳过登录界面直接进入。SpringMVC的运行流程是:通过dispatcherservlet(总控制器),根据用户访问地址分别映射到对应的contorller(控制器),然后进行与数据库的交互,最后将数据展示在jsp又浏览器解析为html返回给用户。
spring和springmvc先学哪个
先学spring
spring只单单是一个中间层框架,我们主要利用其反射机制处理bean,利用其面向切面编程思想管理事物。但是springMVC功能就强大多了,属于MVC框架了,模型-视图-控制器,它都接管了,把原本属于struts的工作也干了。所以,当然先学spring,等对MVC模式有了解之后,在学springMVC。
springmvc的工作流程是什么和springMVC执行流程及原理的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!