笔记: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 中开发的。
解决方案:
- Ctrl + Alt + Shift + S 打开
项目结构
。请注意,不是打开设置
(Ctrl + Alt + S,即全局设置)。也可以点击右上角的齿轮图标,选择项目结构
。 - 在
项目设置
-模块
选项卡中,点击右侧的+
号,选择导入模块
。 - 在选择导入文件或目录的窗口中,选择项目的根目录。
- 在导入模块的窗口中,选择
从外部模型导入模块
-Eclipse
。 - 接下来的配置不需要修改,下一步直到完成即可。
如果配置无误,可以看到 IDEA 的文件树根目录变成了整个项目的根目录,并且 src
等目录也能正常显示了。
配置数据库连接
如果你还没有配置 MySQL,去官网下载 MySQL Installer。如果你有疑惑,可以参考 这篇 CSDN 文章。
除此之外,还需要下载 MySQL-Connecter-J,这是 MySQL 的 Java 驱动包。(它包含了 com.mysql.cj.jdbc.Driver
,驱动包和类名不一致是很正常的现象,不要再问我为什么了!)
至于数据库怎么连接,要看具体项目了。一般会将数据库的连接信息写在一个 .properties
文件中,只需要修改数据库密码即可。
IDEA 配置数据库链接
此外,为了让 IDEA 也能理解数据库结构,方便编写 SQL 语句,点击右侧边栏的数据库图标,添加 MySQL 数据库。
建议设置为全局配置、永久保存密码。配置完毕后点击下方的测试连接
。
测试数据库连接
这一般是第一个运行的 main()
函数。Ctrl + Shift + F10 运行……
一般都会报错,因为种种依赖没有正确配置,比如说 javax.servlet
等等。
我们先转进配置 Tomcat,顺便解决依赖问题。
配置 Tomcat 环境
下载 Tomcat
前往 Tomcat 官网,选择你需要的版本下载。此处以 Tomcat 9 为例。
下载时选择 64-bit Windows zip,才能建立本地服务器。
下载后解压到任意目录,例如 D:\java\apache-tomcat-9.0.76
。
配置环境变量
- 打开
控制面板
-系统和安全
-系统
-高级系统设置
-高级
-环境变量
。Windows 10/11 可以直接搜索Path
或环境变量
。 - 添加环境变量:键为
CATALINA_HOME
,值为 Tomcat 的目录(此处为D:\java\apache-tomcat-9.0.76
)。 - 修改环境变量
Path
,在最后添加%CATALINA_HOME%\bin
。 - 在 IDEA 中打开
项目结构
,在平台设置
-SDK
选项卡中找到你使用的 SDK 的路径,例如C:\Users\Color\.jdks\corretto-1.8.0_372
。 - 添加环境变量:键为
JAVA_HOME
,值为 SDK 的路径。 - 修改环境变量
Path
,在最后添加%JAVA_HOME%\bin
。 - 添加环境变量:键为
JRE_HOME
,值为%JAVA_HOME%\jre
。 - 修改环境变量
Path
,在最后添加%JRE_HOME%\bin
。
在 Tomcat 目录下进入 \bin
,双击 startup.bat
,启动 Tomcat。如果命令行中出现 信息 [main] org.apache.catalina.startup.Catalina.start [xxx]毫秒后服务器启动
,证明环境变量配置无误。
打开浏览器访问 http://localhost:8080/,看到 Apache Tomcat/9.0.76
,证明 Tomcat 启动成功。
此时应关闭 Tomcat,避免后续操作 8080 端口被占用。
在 IDEA 中配置 Tomcat 和依赖
打开 项目结构
,在 项目设置
- 模块
选项卡中,选择 依赖
,添加:
- mysql-connector-java
的 jar
包
- tomcat 的 lib
目录(此处为 D:\java\apache-tomcat-9.0.76\lib
)
此时再测试数据库连接,应该没有问题了。
配置 Tomcat 服务器
最后也是最核心的步骤。
配置完成后,打开任意 .jsp
文件,可以在右上角看到浏览器图标,点击即可在浏览器中打开。
- 打开
项目结构
,在项目设置
-Facet
选项卡中,点击右侧的+
号,选择Web
。 - 选择模块,确定。
- 修改
Web 资源目录
,选择web
(也有可能名为webapp
等)。此处为D:\java\others\Library_management-\WebContent
。 - 修改
Web 模块部署描述符
,选择 web 目录下的WEB-INF\web.xml
。此处为D:\java\others\Library_management-\WebContent\WEB-INF\web.xml
。
注意观察上图左侧 \WebContent
的结构。配置完成后,其图标变成带有一个蓝色圆点的文件夹。
- 如果你还没有关闭项目结构窗口(如上图),点击右下角的
创建工件
。 - 否则,在
项目设置
-工件
选项卡中,点击右侧的+
号,选择Web 应用程序:展开型
(Web Application: Exploded) -基于模块
。 - 根据下方提示修正依赖问题。有两种方法:
- 将
mysql-connector-java.jar
包添加到WEB-INF/lib
目录下(打包时会自动添加)。 - 将
tomcat
的lib
目录的作用域改为已提供
(Provided)(打包时不添加。由于必须要完整的 Tomcat 环境才能运行,即使把 Tomcat 的lib
目录添加到WEB-INF/lib
目录下,也无法在未配置 Tomcat 的电脑上运行。因此,不如直接在打包时不添加,减少打包体积、避免冲突)。
- 将
这个问题不修正也可以。一般发布自己的项目时都会修改成 已提供
。
- 回到 IDEA 主菜单,选择
运行
-编辑配置
。(右上角运行符号的下拉菜单中也有编辑……
,但只能编辑当前运行的配置) - 新建配置,点击
+
号,选择Tomcat 服务器
-本地
。注意不要选择TomEE 服务器
。 - 配置
应用程序服务器
,选择 Tomcat 的目录(此处为D:\java\apache-tomcat-9.0.76
)。 - 点击右下角
修复
,在部署
选项卡中,选择刚刚新建的工件(此处为Library_management:war exploded
)。
到此我们终于完成了所有配置。Ctrl + Shift + F10 运行,应该可以在浏览器中看到项目的主页了。