工具:

IDEA 2020.1 Ultimate版

maven 3.6.3

JDK 1.8

本文参考代码下载(访问密码: 7325):

demo10_springMVC入门程序.zip: https://url47.ctfile.com/f/64055047-1504253452-eb750e?p=7325

1.创建项目

打开IDEA,点击“File—>New—>Project”

我们 选择“Maven”项目, JDK这里选择1.8版本,下面勾选maven-archtype-webapp,然后点击“Next”

来到下面的界面,给项目起个名字,叫demo10

此处主要配置一下maven,配置完了以后选择”Finish”

创建完项目后,整个项目结构如下:

2.引入Maven依赖

打开项目的pom.xml文件,

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>demo10</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>demo10 Maven Webapp</name>
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>8</maven.compiler.source>
    <maven.compiler.target>8</maven.compiler.target>
  </properties>

  <dependencies>
    <!--Spring 核心类-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <!--Spring MVC-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.8.RELEASE</version>
    </dependency>
    <!-- servlet -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
    <!--JSP-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <!--构建-->
  <build>
    <!--设置插件-->
    <plugins>
      <!--具体的插件配置-->
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
          <port>8080</port>
          <path>/demo10</path>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

引入依赖以后,右上角刷新一下maven,将相关依赖引入。

注意这里引入的是tomcat插件。

3.配置前端控制器

打开web.xml文件,修改里面的内容

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <!-- 配置 Spring MVC 的前端控制器 -->
  <servlet>
    <servlet-name>DispatcherServlet</servlet-name>
    <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <!-- 配置初始化参数,用于读取 Spring MVC 的配置文件 -->
    <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>
</web-app>

代码加上后如下图,注意,下图这个地方报红是正确的,因为还没有创建这个spring-mvc.xml文件,所以会爆红。

4.配置处理器映射信息和视图解析器(spring-mvc.xml)

如果项目没有java和resources文件,那么右击main文件夹,选择New—>Directory文件夹

在弹出来的框中分别选择java和resources文件夹,生成这两个文件夹。

创建完毕后整个项目结构如下:

右击resources文件夹,选择New—>File

文件名称为spring-mvc.xml

参考代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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">
    <!-- 配置 Spring MVC 要扫描的包 -->
    <context:component-scan base-package="com.itheima.controller"/>
    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

注意,这个地方base-package后面的爆红是正常的,因为项目还没有创建相关的文件夹

5.创建处理器(Controller层)

我们需要在java目录下创建一个路径为com.itheima.controller的包,要和上面的base-package对应,这样Spring-MVC才能扫描到。

右击java,选择New—>Package

继续右击刚才创建的controller文件夹,创建一个具体的Controller,

选择New——>Java Class

Controller的名字为FirstController

代码参考如下:

package com.itheima.controller;

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

//设置当前类为处理器类
@Controller
public class FirstController {
    //设定当前方法的访问映射地址
    @RequestMapping("/firstController")
    //设置当前方法返回值类型为 String,用于指定请求完成后跳转的页面
    public String sayHello() {
        System.out.println("访问到 FirstController!");
        //设定具体跳转的页面
        return "success";
    }
}

其中return “success” 这行代码用于设定具体跳转的页面名称,结合Spring MVC配置文件,将返回值与视图解析器指定的前缀和后缀进行拼接以确定结果视图的最终路径,同时将结果解析并呈现给用户。

注意:实际开发中一般通过json格式返回给前端。

6.创建视图(view)

右击WEB-INF文件夹,选择New—>Directory

文件夹的名字为pages

注意:这里必须是pages,因为在上文spring-mvc.xml文件配置的路径就是/WEB-INF/pages

创建成功以后,右击pages文件夹,选择New—>JSP/JSPX

创建jsp文件的名字为success

success.jsp里面的代码参考如下:

<html>
<body>
<h2>Spring MVC FirstController!</h2>
</body>
</html>
7.启动项目测试

本项目使用的是tomcat插件的方式运行,没有配置tomcat服务器,如果需要配置tomcat,请参考下面这篇文章:下载配置tomcat(IDEA版) – 每天进步一点点

我们打开项目右侧的maven

按照顺序找到Plugins—>tomcat7—>tomcat7:run

双击它

就可以看到控制台启动任务,

最后一行的 Starting xxxx 表示启动成功

前面一行的 Running war on http://localhost:8080/demo10 表示项目启动的地址,我们可以按住ctrl键用鼠标左键点击这个地址,也可以直接复制这个地址到浏览器中。

在浏览器中输入下面的地址

http://localhost:8080/demo10/firstController

就可以看到success.jsp中的数据了。