发布于 ,更新于 

笔记:JavaWeb 项目环境配置

话说在前头,如果你像我一样对 JavaWeb 的基础知识了解不够,光是配置环境以运行别人的项目就可以让你欲仙欲死。

不过我还是希望这篇文章能够帮助到你(也提醒自己)。因此,请务必一步步仔细阅读、操作,有问题可以在评论区留言。

环境

  • OS: Windows 11
  • IDE: IDEA 2023.1.2 (Ultimate Edition)
  • SDK: JDK 1.8.0_372 (Java SE 8)
  • Database: MySQL 8.0.33
  • Server: Tomcat 9.0.76

IDEA 导入 Eclipse 项目

为了学习 JavaWeb 项目的开发,我从最经典的图书管理系统这个案例入手,找了一个 CSDN 上的项目

不过当我导入项目后,就出现问题了:项目结构没有 src 目录。打开资源管理器检查,发现 src 目录确实存在,但是在 IDEA 中却没有显示出来。

有问题的项目结构
有问题的项目结构

根据文件 .classpath 可知,这个项目是在 Eclipse 中开发的。

解决方案:

导入模块
  1. Ctrl + Alt + Shift + S 打开 项目结构。请注意,不是打开 设置Ctrl + Alt + S,即全局设置)。也可以点击右上角的齿轮图标,选择 项目结构
  2. 项目设置 - 模块 选项卡中,点击右侧的 + 号,选择 导入模块
  3. 在选择导入文件或目录的窗口中,选择项目的根目录。
  4. 在导入模块的窗口中,选择 从外部模型导入模块 - Eclipse
  5. 接下来的配置不需要修改,下一步直到完成即可。

如果配置无误,可以看到 IDEA 的文件树根目录变成了整个项目的根目录,并且 src 等目录也能正常显示了。

配置完成后的项目结构
配置完成后的项目结构

配置数据库连接

如果你还没有配置 MySQL,去官网下载 MySQL Installer。如果你有疑惑,可以参考 这篇 CSDN 文章

除此之外,还需要下载 MySQL-Connecter-J,这是 MySQL 的 Java 驱动包。(它包含了 com.mysql.cj.jdbc.Driver,驱动包和类名不一致是很正常的现象,不要再问我为什么了!)

至于数据库怎么连接,要看具体项目了。一般会将数据库的连接信息写在一个 .properties 文件中,只需要修改数据库密码即可。

IDEA 配置数据库链接

此外,为了让 IDEA 也能理解数据库结构,方便编写 SQL 语句,点击右侧边栏的数据库图标,添加 MySQL 数据库。

建议设置为全局配置、永久保存密码。配置完毕后点击下方的测试连接

添加 MySQL 数据库
添加 MySQL 数据库

测试数据库连接

这一般是第一个运行的 main() 函数。Ctrl + Shift + F10 运行……

一般都会报错,因为种种依赖没有正确配置,比如说 javax.servlet 等等。

编译报错
编译报错

我们先转进配置 Tomcat,顺便解决依赖问题。

配置 Tomcat 环境

下载 Tomcat

前往 Tomcat 官网,选择你需要的版本下载。此处以 Tomcat 9 为例。

下载时选择 64-bit Windows zip,才能建立本地服务器。

下载后解压到任意目录,例如 D:\java\apache-tomcat-9.0.76

配置环境变量

配置环境变量
  1. 打开 控制面板 - 系统和安全 - 系统 - 高级系统设置 - 高级 - 环境变量。Windows 10/11 可以直接搜索 Path环境变量
  2. 添加环境变量:键为 CATALINA_HOME,值为 Tomcat 的目录(此处为 D:\java\apache-tomcat-9.0.76)。
  3. 修改环境变量 Path,在最后添加 %CATALINA_HOME%\bin
  4. 在 IDEA 中打开 项目结构,在 平台设置 - SDK 选项卡中找到你使用的 SDK 的路径,例如 C:\Users\Color\.jdks\corretto-1.8.0_372
  5. 添加环境变量:键为 JAVA_HOME,值为 SDK 的路径。
  6. 修改环境变量 Path,在最后添加 %JAVA_HOME%\bin
  7. 添加环境变量:键为 JRE_HOME,值为 %JAVA_HOME%\jre
  8. 修改环境变量 Path,在最后添加 %JRE_HOME%\bin
第 4 步,找到 SDK 的路径
第 4 步,找到 SDK 的路径

在 Tomcat 目录下进入 \bin,双击 startup.bat,启动 Tomcat。如果命令行中出现 信息 [main] org.apache.catalina.startup.Catalina.start [xxx]毫秒后服务器启动,证明环境变量配置无误。

打开浏览器访问 http://localhost:8080/,看到 Apache Tomcat/9.0.76,证明 Tomcat 启动成功。

Tomcat 启动成功
Tomcat 启动成功

此时应关闭 Tomcat,避免后续操作 8080 端口被占用。

在 IDEA 中配置 Tomcat 和依赖

配置依赖

打开 项目结构,在 项目设置 - 模块 选项卡中,选择 依赖,添加:
- mysql-connector-javajar
- tomcat 的 lib 目录(此处为 D:\java\apache-tomcat-9.0.76\lib

添加依赖
添加依赖

此时再测试数据库连接,应该没有问题了。

配置 Tomcat 服务器

最后也是最核心的步骤。

配置完成后,打开任意 .jsp 文件,可以在右上角看到浏览器图标,点击即可在浏览器中打开。

新建 Facet
  1. 打开 项目结构,在 项目设置 - Facet 选项卡中,点击右侧的 + 号,选择 Web
  2. 选择模块,确定。
  3. 修改 Web 资源目录,选择 web(也有可能名为 webapp 等)。此处为 D:\java\others\Library_management-\WebContent
  4. 修改 Web 模块部署描述符,选择 web 目录下的 WEB-INF\web.xml。此处为 D:\java\others\Library_management-\WebContent\WEB-INF\web.xml
新建 Facet
新建 Facet

注意观察上图左侧 \WebContent 的结构。配置完成后,其图标变成带有一个蓝色圆点的文件夹。

新建 Artifact
  1. 如果你还没有关闭项目结构窗口(如上图),点击右下角的 创建工件
  2. 否则,在 项目设置 - 工件 选项卡中,点击右侧的 + 号,选择 Web 应用程序:展开型 (Web Application: Exploded) - 基于模块
  3. 根据下方提示修正依赖问题。有两种方法:
    • mysql-connector-java.jar 包添加到 WEB-INF/lib 目录下(打包时会自动添加)。
    • tomcatlib 目录的作用域改为 已提供 (Provided)(打包时不添加。由于必须要完整的 Tomcat 环境才能运行,即使把 Tomcat 的 lib 目录添加到 WEB-INF/lib 目录下,也无法在未配置 Tomcat 的电脑上运行。因此,不如直接在打包时不添加,减少打包体积、避免冲突)。

这个问题不修正也可以。一般发布自己的项目时都会修改成 已提供

新建工件
新建工件
配置 Tomcat
  1. 回到 IDEA 主菜单,选择 运行 - 编辑配置。(右上角运行符号的下拉菜单中也有 编辑……,但只能编辑当前运行的配置)
  2. 新建配置,点击 + 号,选择 Tomcat 服务器 - 本地。注意不要选择 TomEE 服务器
  3. 配置 应用程序服务器,选择 Tomcat 的目录(此处为 D:\java\apache-tomcat-9.0.76)。
  4. 点击右下角 修复,在 部署 选项卡中,选择刚刚新建的工件(此处为 Library_management:war exploded)。
第 1 步,找到编辑配置选项
第 1 步,找到编辑配置选项
第 2 步,新建配置
第 2 步,新建配置

到此我们终于完成了所有配置。Ctrl + Shift + F10 运行,应该可以在浏览器中看到项目的主页了。

运行成功
运行成功