SpringMVC的调用流程
SpringMVC涉及组件理解:
-
DispatcherServlet : SpringMVC提供,我们需要使用web.xml配置使其生效,它是整个流程处理的核心,所有请求都经过它的处理和分发![ CEO ]
-
HandlerMapping : SpringMVC提供,我们需要进行IoC配置使其加入IoC容器方可生效,它内部缓存handler(controller方法)和handler访问路径数据,被DispatcherServlet调用,用于查找路径对应的handler![秘书]
-
HandlerAdapter : SpringMVC提供,我们需要进行IoC配置使其加入IoC容器方可生效,它可以处理请求参数和处理响应数据数据,每次DispatcherServlet都是通过handlerAdapter间接调用handler,他是handler和DispatcherServlet之间的适配器![经理]
-
Handler : handler又称处理器,他是Controller类内部的方法简称,是由我们自己定义,用来接收参数,向后调用业务,最终返回响应结果![打工人]
-
ViewResovler : SpringMVC提供,我们需要进行IoC配置使其加入IoC容器方可生效!视图解析器主要作用简化模版视图页面查找的,但是需要注意,前后端分离项目,后端只返回JSON数据,不返回页面,那就不需要视图解析器!所以,视图解析器,相对其他的组件不是必须的![财务]
使用流程
Spring MVC(Model-View-Controller)是一个基于Java的Web应用程序框架,用于开发Web应用程序。下面是Spring MVC的基本使用流程:
-
配置Spring MVC环境: 在项目中配置Spring MVC的环境,包括引入相关的JAR包,配置
web.xml
文件,指定DispatcherServlet
,配置Spring MVC的配置文件等。xmlCopy code<!-- web.xml配置 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-mvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
-
配置Spring MVC的配置文件: 创建Spring MVC的配置文件,一般命名为
spring-mvc-config.xml
。配置文件中包括组件扫描、视图解析器、控制器映射等配置。xmlCopy code<!-- spring-mvc-config.xml配置示例 --> <context:component-scan base-package="com.example.controller" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean>
-
创建Controller: 创建处理HTTP请求的Controller类。Controller负责处理用户请求,调用业务逻辑,并返回适当的视图。
javaCopy code@Controller public class MyController { @RequestMapping("/hello") public String hello(Model model) { model.addAttribute("message", "Hello, Spring MVC!"); return "hello"; // 视图名 } }
-
创建视图(View): 在
/WEB-INF/views/
目录下创建视图文件,比如hello.jsp
。这个文件用于展示处理结果。jspCopy code<!-- hello.jsp --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Hello</title> </head> <body> <h2>${message}</h2> </body> </html>
-
运行应用程序: 部署项目到Servlet容器(如Tomcat)并启动。访问配置的URL(比如
http://localhost:8080/your-web-app/hello
),就会调用相应的Controller方法,并展示对应的视图。
这是一个简单的Spring MVC使用流程。实际项目中,你可能会涉及更复杂的业务逻辑、数据持久化、拦截器等方面的内容。Spring MVC提供了很多功能,可以根据项目的需要进行相应的配置和扩展。