IDEA +Tomcat 新建 Spring MVC 项目踩坑记

前言

使用Java 做企业级Web开发,十多年前,SSH(Spring + Struts + Hibernate)框架很火,当时流行的 IDE 是 Eclipse 和 MyEclipse,后来过了几年变成了 SSM(Spring + Spring MVC + Mybatis),直到 2014 年 4 月,Spring 发布 Spring Boot 第一个正式版本后,后续新的微服务 web 项目基本都用 Spring Boot 开发了,其遵循的约定大于配置的理念,极大提升了开发效率,再配合上 JetBrains 公司的 IDE 全家桶 IntelliJ IDEA 真是香的一批。

当然,自从用了spring boot后,我基本没再用过纯 spring mvc 项目,因为真的太麻烦了需要配置一大堆xml,虽然也能搭配注解版本开发,但还是效率太低且容易出错。

最近帮同事排查一个问题,由于是历史老Spring Mvc 项目,为了方便复现问题,我需要在本地 IDEA 中搭建一个最小化测试环境,然后 debug 调试,本来以为很 easy,结果还折腾了挺久,问题最终解决,特此记录一下,以帮助后人避坑。

前置依赖

spring mvc 项目的运行,需要部署到 tomcat 或 jetty这类的web容器中才行,因为其不像spring boot 默认已经内置了tomcat来运行服务,所以我们还需要到tomcat到官网去单独下载,这里我推荐:

jdk8 项目:下载 tomcat 9

jdk11 或 jdk17:下载 tomcat 10

下载解压之后,熟悉的目录结构如下:

有了web容器之后,我们项目打成一个war包后,就可以丢进tomcat的webapps目录下,tomcat就可以自动帮我们解压,不过今天我是在IDEA中运行,所以 IDEA 会帮我完成部署的动作,但前提是需要在IDEA中正确配置使用Tomcat

新建项目

创建一个 spring mvc 项目和创建一个常规的 maven 项目的流程区别不大,主要是spring mvc项目创建完成之后的一系列配置:

点击 File => New => Project,然后当成常规 maven 项目创建即可:

配置项目

接着添加 spring mvc 项目的 pom 依赖,模版配置如下:

<?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>my-mvc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <spring.version>4.3.2.RELEASE</spring.version>
        <hibernate.version>4.3.8.Final</hibernate.version>
        <jackson.version>2.5.0</jackson.version>
        <log4j.version>1.2.17</log4j.version>
        <slf4j.version>1.7.25</slf4j.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.projectlombok</gr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值