Spring mvc环境配置
maven依赖spring-webmvc
<repositories>
<repository>
<id>aliyun</id>
<name>aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
</dependencies>
web.xml配置DispatchServlet(springmav最重要的一个类。作用:对所有请求进行拦截)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!--DispatcherServlet是springmvc最核心的对象,用于拦截http请求,并根据请求的url调用与之对应的controller方法,来完成http请求的处理。
相当于DispatcherServlet是公司前台,controller相当于公司对应的人-->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--applicationContext.xml-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<!--在web启动时自动创建spring ioc容器,并初始化dispatcherServlet-->
<load-on-startup>0</load-on-startup>
</servlet>
<!--映射-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--/代表拦截所有请求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
配置applicationContext的mvc标记
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mv="http://www.springframework.org/schema/mvc"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--component-scan:在spring ioc初始化过程中,自动创建并管理com.imooc.springmvc及其子包中拥有以下注解的对象:
@Repository
@Service
@Component
@Controller
-->
<context:component-scan base-package="top.xiongmingcai.restful"/>
<!--启用spring mvc注解开发模式-->
<mvc:annotation-driven>
<!--解决响应体中文乱码问题-->
<mvc:message-converters>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=utf-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!--将图片/js/css等静态资源排除在外,提高执行效率-->
<mvc:default-servlet-handler/>
开发Controller控制器
@Controller
public class TestController {
@GetMapping("/t") //localhost/t
@ResponseBody //直接向响应输出字符串数据,不跳转界面
public String test() {
return "SUCCESS";
}
}
测试
进行tomcat配置

ps:如果点击debug后又对代码进行调整,可以右键-Reload changed classes
进行重新编译,热部署
可以把TestController看成原有servlet的替代品,在开发时编写标准方法,也不再引入请求响应对象,只需要在方法中增加对应的注解即可完成web请求处理和结果返回。

栗子
https://github.com/MingCaiXiong/spring-learn/commit/4d3cc03dcdf9db76714294678e4868a8da0fe6a2