目录
SpringMVC概述
SpringMVC是一种基于java实现的MVC设计模式的请求驱动类型的轻量级Web框架,属于SpringFrameWork的后续产品,已经融合在Spring Web Flow中。
原理示意图
SpringMVC快速入门
需求:客户端发起请求,服务器接收请求,执行逻辑并进行视图跳转。
代码示例
导入坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.5.RELEASE</version>
</dependency>
配置web.xml
<!-- 配置SpringMVC的前端控制器-->
<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-pattern>/</url-pattern>
</servlet-mapping>
创建controller包和UserController类
package com.itheima.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller //放到Spring容器中
public class UserController {
@RequestMapping("/quick")
public String save(){
System.out.println("Controller save running....");
return "success.jsp";//这里要先在webapp下创建一个简单的jsp文件
}
}
在resource中新建spring-mvc.xml配置文件
(注意先添加context的命名空间)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- Controller的组件扫描-->
<context:component-scan base-package="com.itheima.controller"/>
<!--扫描范围在web层就行-->
</beans>
然后配置文件的使用是在servlet核心控制器中(即web.xml中SpringMVC的前端控制器)
web.xml
<!--web.xml-->
<!-- 配置SpringMVC的前端控制器-->
<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-pattern>/</url-pattern>
</servlet-mapping>
运行后访问localhost:8080/quick的流程图