跳过正文

SpringMVC

SpringMVC学习

·3171 字·7 分钟
执行流程 # DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求 假设URL为:http://localhost:8080/SpringMVC/hello 如上URL拆分为三部分 http://localhost:8080服务器域名 SpringMVC部署在服务器上的web站点 hello表示控制器 通过分析,url表示为:请求位于服务器localhost:8080上的SpringMVC站点的hello控制器 HandlerMapping为处理器映射,DispatcherServlet调用HandlerMapping,HandlerMapping根据请求url查找Handler HandlerExecution表示具体的Handler,其主要作用是根据url查找控制器 HandlerExecution将解析后的信息传递给DispatcherServlet HandlerAdapter表示处理适配器,其按照特定的规则去执行Handler Handler让具体的Controller执行 Controller将具体的执行信息返回给HandlerAdapter HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet DispatcherServlet调用视图解析器(ViewResolver)来解析HandlerAdapter传递的逻辑视图名 视图解析器将解析的逻辑视图名传给DispatcherServlet DispatcherServlet根据视图解析器解析的视图结果,调用具体的视图 最终视图呈现给用户 基于XML实现 # 1.引入相关依赖 # <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> 2.创建类 # public class HelloController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { ModelAndView mv = new ModelAndView(); //业务代码 String result = "你好,我是MVC"; mv.addObject("msg",result); //视图跳转 mv.setViewName("test"); return mv; } } 3.配置web.xml文件 # <!--配置DispatcherServlet,这个是sptingmvc的核心--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--DispatcherServlet要绑定的spring配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-servlet.xml</param-value> </init-param> <!--启动级别:1--> <load-on-startup>1</load-on-startup> </servlet> <!-- springmvc中, / /* /:只匹配所有的请求,不会去匹配jsp页面 /*:匹配所有的请求,包括jsp页面 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> 4.配置springmvc-servlet.xml文件 # <!--处理器映射器--> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!--处理器适配器--> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!--处理器解析器--> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> <!--创建对象--> <bean id="/hello" class="org.learn.demon.HelloController"/> 5.创建jsp文件 # <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> ${msg} </body> </html> 6.配置Tomcat服务器 # 添加服务器之后,到工程结构,浏览tomcat打包的war包中有没有lib文件,没有就创建一个,把所有需要的jar包放进去