一、springmvc的工作流程是什么
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域中有了所需要的数据,那么就能够进行视图渲染了。最后将其返回即可。
二、spring mvc的原理
SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。
Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,可以选择是使用内置的SpringWeb框架还是Struts这样的Web框架。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术。
SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
三、springmvc启动后,调用controller
controller中在方法名上面加@PostMapping(value="/login")注解在jsp中form表单为例:
<formaction="项目名称/login"></form>
四、springmvc如何配置contextpath
配置contextpath的方法是在SpringMVC的配置文件中进行设置。在SpringMVC中配置contextpath的方法是通过修改配置文件来实现的。contextpath是指在URL中的应用程序上下文路径,用于区分不同的应用程序。配置contextpath可以更好地管理和组织应用程序。要配置contextpath,可以在SpringMVC的配置文件中添加以下代码:```xml<beanclass="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"><propertyname="alwaysUseFullPath"value="true"/></bean>```这样配置后,SpringMVC会将URL中的contextpath作为请求的一部分进行处理。这样可以确保请求的路径正确,并且可以更好地管理多个应用程序的路径。
感谢您花时间阅读本文!我们希望通过对代码图解springmvc流程的问题进行探讨,为您提供了一些有用的见解和解决方案。如果您需要更多帮助或者有其他疑问,请不要犹豫与我们联系。