准备环境

idea2021

tomcat8.0

资料来源,尚硅谷的视频

1、新建项目

SpringMVC的搭建idea2021、tomcat8.5_spring

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_02

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_03

SpringMVC的搭建idea2021、tomcat8.5_xml_04

 

SpringMVC的搭建idea2021、tomcat8.5_spring_05

 

SpringMVC的搭建idea2021、tomcat8.5_spring_06

 

SpringMVC的搭建idea2021、tomcat8.5_xml_07

 生成pom.xml文件

 

SpringMVC的搭建idea2021、tomcat8.5_spring_08

3、pom.xml文件添加依赖

SpringMVC的搭建idea2021、tomcat8.5_spring_09

<dependencies>
     <!-- SpringMVC -->
     <dependency>
         <groupId>org.springframework</groupId>
         <artifactId>spring-webmvc</artifactId>
         <version>5.3.1</version>
     </dependency>
  
     <!-- 日志 -->
     <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
         <version>1.2.3</version>
     </dependency>
  
     <!-- ServletAPI -->
     <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>javax.servlet-api</artifactId>
         <version>3.1.0</version>
         <scope>provided</scope>
     </dependency>
  
     <!-- Spring5和Thymeleaf整合包 -->
     <dependency>
         <groupId>org.thymeleaf</groupId>
         <artifactId>thymeleaf-spring5</artifactId>
         <version>3.0.12.RELEASE</version>
     </dependency>
 </dependencies>

 如果引入报错可以对比一下,没错就刷新工程或者重启idea

4、配置web.xml

main下新建文件webapp

SpringMVC的搭建idea2021、tomcat8.5_xml_10

SpringMVC的搭建idea2021、tomcat8.5_mvc_11

webapp没蓝点刷新一下

配置Moudels

 

SpringMVC的搭建idea2021、tomcat8.5_spring_12

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_13

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_14

 

SpringMVC的搭建idea2021、tomcat8.5_spring_15

 ok---->Apply

SpringMVC的搭建idea2021、tomcat8.5_xml_16

 配置web.xml

SpringMVC的搭建idea2021、tomcat8.5_spring_17

<!-- 配置SpringMVC的前端控制器,对浏览器发送的请求统一进行处理 -->
 <servlet>
     <servlet-name>springMVC</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     <!-- 通过初始化参数指定SpringMVC配置文件的位置和名称 -->
     <init-param>
         <!-- contextConfigLocation为固定值 -->
         <param-name>contextConfigLocation</param-name>
         <!-- 使用classpath:表示从类路径查找配置文件,例如maven工程中的src/main/resources -->
         <param-value>classpath:springMVC.xml</param-value>
     </init-param>
     <!-- 
  		作为框架的核心组件,在启动过程中有大量的初始化操作要做
 		而这些操作放在第一次请求时才执行会严重影响访问速度
 		因此需要通过此标签将启动控制DispatcherServlet的初始化时间提前到服务器启动时
 	-->
     <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
     <servlet-name>springMVC</servlet-name>
     <!--
         设置springMVC的核心控制器所能处理的请求的请求路径
         /所匹配的请求可以是/login或.html或.js或.css方式的请求路径
         但是/不能匹配.jsp请求路径的请求
     -->
     <url-pattern>/</url-pattern>
 </servlet-mapping>

SpringMVC的搭建idea2021、tomcat8.5_xml_18

Java文件夹下的com.atzd.controller包下建HelloConller,记住自己创建的类的路径 

SpringMVC的搭建idea2021、tomcat8.5_xml_19

<?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"
        xmlns:mvc="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">
     <!-- 自动扫描包 -->
     <context:component-scan base-package="com.atzd.controller"/>
  
     <!-- 配置Thymeleaf视图解析器 -->
     <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
         <property name="order" value="1"/>
         <property name="characterEncoding" value="UTF-8"/>
         <property name="templateEngine">
             <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                 <property name="templateResolver">
                     <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
  
                         <!-- 视图前缀 -->
                         <property name="prefix" value="/WEB-INF/templates/"/>
  
                         <!-- 视图后缀 -->
                         <property name="suffix" value=".html"/>
                         <property name="templateMode" value="HTML5"/>
                         <property name="characterEncoding" value="UTF-8" />
                     </bean>
                 </property>
             </bean>
         </property>
     </bean>
  
     <!--
        处理静态资源,例如html、js、css、jpg
       若只设置该标签,则只能访问静态资源,其他请求则无法访问
       此时必须设置<mvc:annotation-driven/>解决问题
      -->
     <mvc:default-servlet-handler/>
  
     <!-- 开启mvc注解驱动 -->
     <mvc:annotation-driven>
         <mvc:message-converters>
             <!-- 处理响应中文内容乱码 -->
             <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                 <property name="defaultCharset" value="UTF-8" />
                 <property name="supportedMediaTypes">
                     <list>
                         <value>text/html</value>
                         <value>application/json</value>
                     </list>
                 </property>
             </bean>
         </mvc:message-converters>
     </mvc:annotation-driven>
 </beans>

根据这个路径

SpringMVC的搭建idea2021、tomcat8.5_xml_20

 注意templates是文件夹

SpringMVC的搭建idea2021、tomcat8.5_mvc_21

 

SpringMVC的搭建idea2021、tomcat8.5_spring_22

package com.atzd.controller;
  
  
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
  
 @Controller
 public class HelloController {
     // @RequestMapping注解:处理请求和控制器方法之间的映射关系
 // @RequestMapping注解的value属性可以通过请求地址匹配请求,/表示的当前工程的上下文路径
 // localhost:8080/springMVC/
     @RequestMapping("/")
     public String index() {
         //设置视图名称
         return "index";
     }
 }

SpringMVC的搭建idea2021、tomcat8.5_xml_23

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_24

 

SpringMVC的搭建idea2021、tomcat8.5_spring_25

 

SpringMVC的搭建idea2021、tomcat8.5_spring_26

 修改访问路径,保留到模块名

SpringMVC的搭建idea2021、tomcat8.5_xml_27

 

SpringMVC的搭建idea2021、tomcat8.5_xml_28

 

SpringMVC的搭建idea2021、tomcat8.5_xml_29

 最后Aplly,就可以启动了

 

 

SpringMVC的搭建idea2021、tomcat8.5_mvc_30