SpringMVC简介
-
开发步骤
1.导入SpringMVC包 2.配置Servlet 3.编写POJO(控制器Controller) 4.将Controller使用注解配置到Spring容器中 5.配置组件扫描 spring-mvc.xml 6.执行测试
-
导入坐标
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.20</version> </dependency>
-
配置SpringMVC的前端控制器
webapp.WEB-INF.web.xml
<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-parttern>/</url-parttern> </servlet-mapping>
-
编写Controller
controller.UserController
@Controller public class UserController { @RequestMapping("/quickstart") public String save { System.out.println("save") return "/success.jsp"; } }
-
配置spring-mvc 组件扫描
spring-mvc.xml
<!-- TODO 补一个context命名空间 --> <context:component-scan base-package="com.miaokela.controller"/>
-
告诉Servlet 配置文件的位置
webapp.WEB-INF.web.xml
<servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-parttern>/</url-parttern> </servlet-mapping>
-
测试
-
-
组件解析
Browser 请求 -> DispatcherServlet 前端控制器 -> 请求查询Handler -> HandlerMapping 查询映射器 -> 返回HandlerExcutionChain -> 请求执行Handler -> HandlerAdaptor 处理适配器 -> Handler 处理器 -> 返回ModelAndView -> 请求视图解析器 -> ViewResolver 视图解析器 -> 返回视图对象 —> 返回视图页面jsp
-
注解解析
- @RequestMapping
建立url与请求方法之间的对应关系
// 地址 方法 参数 @RequestMapping(value="/quick", method=RequestMethod.POST, params={"username"})
- @RequestMapping
-
组件扫描
只扫描Controller
<context:component-scan base-package="com.miaokela"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
-
-
spring-mvc文件配置
配置内部资源视图解析器
配置前缀路径 后缀名<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean>