创建项目

创建web项目,使用maven webapp模板进行构建,创建完成后,在pom中引入Spring MVC
依赖,如下:

<dependency>
    <!-- 引入SpringMVC依赖,使用版本为:5.0.5.RELEASE -->
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

配置web.xml

在web.xml配置文件中,配置Spring MVC Servlet控制器(DispacherServlet),如下:

<servlet>
    <servlet-name>app</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <!-- 指定SpringMVC配置文件,默认为:WEB-INF/[servlet-name]-servlet.xml(WEB-INF/app-servlet.xml),本例配置从classpath中加载 -->
        <param-value>classpath:app-servlet.xml</param-value>
    </init-param>
    <!-- 容器启动时加载,若不配置此项,在第一次访问该Servlet时才加载 -->
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>app</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

增加Spring MVC配置文件

在classpath中添加app-servlet.xml配置文件,内容如下(最小配置):

<?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:mvc="http://www.springframework.org/schema/mvc"
    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
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"
    default-autowire="byName">

    <!-- 启动注解扫描 -->
    <mvc:annotation-driven/>
    <!-- 指定Controller扫描路径 -->
    <context:component-scan base-package="com.github.dalianghe.controller" />

</beans>

创建Controller类

package com.github.dalianghe.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {

    @GetMapping("/test")
    @ResponseBody
    public String test(){
        return "hello world";
    }

}

部署应用

本例通过maven插件进行部署,在pom文件中添加插件,如下:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <path>/</path>
                    <port>8080</port>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

访问应用

在浏览器地址栏输入如下地址:

http://localhost:8080/test

总结

本文以传统的配置文件的方式,实现了一个rest风格的服务,后续会基于源码的角度记录Spring MVC学习过程,以熟悉Spring机制,初写文章,不足之处还望大家海涵!

最后创建了qq群方便大家交流,可扫描加入,同时也可加我qq:276420284,共同学习、共同进步,谢谢!


dalianghe
95 声望29 粉丝

仰望星空,脚踏实地。