开篇

SpringMVC 是一款当下流行的优秀的 MVC 框架,关于 MVC 的概念、作用、优点等内容介绍,在作者之前的一篇 Chat 《深入理解 MVC 框架原理:自定义 Struts2 框架》中有详细的描述。描述了关于另一款主流 MVC 框架的原理介绍,其实和 SpringMVC 工作原理大致相同。所以有兴趣的朋友可以前去阅读。

本篇的主题是介绍在 IDEA 开发环境下,使用 MAVEN 来搭建 SpringMVC 框架的详细的操作简便的教程,关于 SpringMVC 的详细知识点后续有时间再给大家 Chat 。

准备工作:

本篇案例使用 IDEA 2019.1,Tomcat9.0,Apache-maven-3.6.1。

内容目录:

a.下载和配置 Maven

b.新建 Project 和 Moudle

c. 配置 pom 依赖和添加框架支持

d.新建控制类 及配置 xml 文件

e.发布 和 运行测试

f. 常见问题和总结

下载和配置 MAVEN

Maven 是 Apache 下的一个纯 Java 开发的开源项目管理工具。基于项目对象模型(POM)的概念,可以通过简单的配置实现管理项目构建,报告和文件。而对于目前刚开始使用的我们来说,就是为了使用它来帮我们下载和管理依赖的 jar 包。所以在搭建环境前,请保持您的网络环境的畅通。

官网下载 MAVEN

下载网址:https://maven.apache.org/download.cgi

本地仓库配置

下载 MAVEN 后,找目录解压,作为 Maven 的安装目录。

例如:D:/useSoft/apache-maven-3.6.1

默认下,Maven 从中央仓库下载的 jar 包都会放在 C 盘的 User 目录下,随着项目的使用,仓库占用的空间会越来越大。所以一般我们建议配置到其他的指定目录下。

配置方法:在安装目录/conf /下文件: settings.xml。添加节点配置,自定义本地仓库的目录即可。如图:

在这里插入图片描述

上图阴影部分,目录可以自定义。

IDEA 中配置 Maven

打开 idea 的 File 菜单,选择 settings ,进入下面界面窗体,按标注选择上一步安装的 Maven。

在这里插入图片描述

到此,Maven 安装和配置暂时完毕,后面用到时,还会提到。

新建 Project 和 Moudle

新建空的工程

空的工程目的,主要是为了方便管理多个 Moudle。如果你习惯了 eclipse ,那么你可以把 这里的空的工程和 eclipse 中的工作空间对应起来理解,把 Moudle 对应之前项目来理解。

选择 File > New > Project ,进入下图:

在这里插入图片描述

点击上面的 Next 进入下图输入项目名称,其实就是一个文件夹目录而已,后面在此工程中创建的 Moudle都会放在此目录下。

在这里插入图片描述

点击 Finish 即可完成工程的创建。

新建 Moudle

依次选择 File > New > Moudle…:

在这里插入图片描述

然后进入进入New Moudle 界面:

在这里插入图片描述

按上图选择左边 Maven > 勾选 Create from archetype > org.apache.maven.archetypes:maven-archetype-webapp > Next 进入下一个界面:

在这里插入图片描述

  • -GroupId: 组织名,公司网址的反写(对应包名)

  • -ArtifactId: 项目名-模块名(可以对应工程名)

    然后下一步,输入 Module 名称,这里可以看到工程目录位置。

在这里插入图片描述

创建好后的目录结构如下:

在这里插入图片描述

java 源文件目录

新建的目录结构中,没有存放 java 源文件的地方,需要先新建目录:选择 main 右键 New > Directory

在这里插入图片描述

建好 java 目录后,默认下,右键不能新建 class 的,还需要如下设置:

在这里插入图片描述

选择 Sources Root 设置后,会发现 java 目录颜色便成为蓝色,此时右键就可以新建 class 了。

配置 pom 依赖和添加框架支持

编辑 pom.xml

接下来我们在写代码前,需要先配置 springmvc 的依赖,以便获取 springmvc 所需的 jar 包。

在这里插入图片描述

就是在上面界面中,选择 pom.xml 打开,在 节点中添加一个依赖节点,代码如下:

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.1.5.RELEASE</version>
    </dependency>

上面依赖配置内容获取方式,打开官网:https://mvnrepository.com/ 搜索 spring 即可找到。在这里省略。不会的可以直接复制上面的代码,放入 pom.xml 中即可。

加入配置后,idea 的右下角会提示发现更新,提示你确定更新导入: 在这里插入图片描述

选择 Import Changes 即可开始自动连接网络下载 springMVC 依赖的 jar包了。可以选择后面的 Enable Auto-Import,意思就是后面再有更新,便会自动导入,不再需要手动点击了。

添加框架支持,自动配置生成xml文件

如果您使用其他环境使用过 SpringMVC 那么应该知道需要配置 web.xml 的核心控制器 和 springmvc-servlet.xml 文件。这些 idea 都可以自动化生成 相关文件。

具体步骤:

a. File > Project Structure > 左边 Modules > 选择你的 工程 Module 点开,会看到 Spring 选中删除。

(可以通过下图右上角图标直接进入下面界面)

在这里插入图片描述

上图删除完成再选择 module 右键选择 Add Framework Support :

在这里插入图片描述

然后进入下图界面,选择左边 Spring > 右边 Spring MVC:

在这里插入图片描述

上面步骤完成后,会发现在 src / webapp / WEB-INF / 目录下多出两个 xml 文件 applicationContext.xml 和 dispatcher-servlet.xml ,不过这里暂时不用 applicationContext.xml 文件,后续整合 SSM 时会使用。

在这里插入图片描述

不仅上面自动声明了控制器配置文件,而且打开 web.xml 会发现也自动配置了控制器 Servlet :

在这里插入图片描述

新建包和控制器类

上面的框架搭建起来后,接下来我们开始编写控制器类,以便验证搭建是否成功。

首先选择 src / main /java 右键 New > Package。键入 com.wdzl.controller 用来存放控制器类。

然后再选择刚建包名,右键新建 class 类 HelloController,键入代码:

package com.wdzl.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloController {
    //这里映射url,访问时:http://127.0.0.1:8080/hello
    @RequestMapping("hello")
    public String hello(){
        System.out.println("======hellow======");
        return "index";
    }
}
配置 dispatcher-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: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">
    <!--指定扫描的基包名-->
    <context:component-scan base-package="com.wdzl"></context:component-scan>
    <!--视图解析器-->
    <bean id="viewRelover" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>
</beans>

发布到 Tomcat 和访问测试

配置 Tomcat

选择窗体右上角:

在这里插入图片描述

然后进入如下界面,点击左上角 “+” 添加 Tomcat ,并选择 Local :

在这里插入图片描述

再在下图中编辑 Name: Tomcat9,再选择 Configure

在这里插入图片描述

选择 Configure 进入下面界面:

在这里插入图片描述

在上图中选择 Tomcat Home 安装目录。点击 OK 。然后再选择发布界面,进行项目的发布。

在这里插入图片描述

按上图依次操作即完成项目的发布。

运行和测试

在这里插入图片描述

点击右上角的运行箭头按钮,运行即可。

然后在浏览器中,输入在控制器类中 映射的地址,即可看到下图。

在这里插入图片描述

常见问题

有的环境下,常出现 web.xml 中 Servlet 报错,

在这里插入图片描述

这是因为没有找到 JavaEE 相关的 API 导致的,此时可以通过下面步骤解决。

现在项目 Module 右键 > Open Module Settings

在这里插入图片描述

再按下图分别选择和操作添加类库

在这里插入图片描述

打开下图,选择 tomcat9

在这里插入图片描述

在这里插入图片描述

点击 OK 完成后,问题即可解决。

总结

在整个搭建过程中,我们可以看到,idea 环境下的过程不需要编写很多代码和文件,多数都是自动生成文件和配置。所以主要是了解和按着上面的步骤依次操作。环境即可搭建成功。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐