为了完成Java课的实验四,尝试在IDEA中配置tomcat环境。由于2024新版IDEA对界面选项有一定改动,参考网上教程建立tomcat项目十分困难,故特此记录踩坑过程!
注:如果你只是准备简单写个tomcat项目,之后没有深入学习Java后端开发的打算,强烈建议直接通过命令行启动tomcat(启动方式见后文),没必要在IDEA中配置tomcat环境!
IDEA中配置tomcat环境
废话不多说,这边直接上IDEA Ultimate中配置tomcat环境的动图(注意,必须下载IDEA Ultimate和tomcat,并配置好tomcat的环境变量)
如果提示8080端口已经被占用,可以通过taskkill命令强行删进程(先通过netstat指令查找绑定了8080端口的进程,再用taskkill删除该进程即可),截图如下:
// 到这里已经把最终的解决方案呈现清楚了,下文为踩坑过程和命令行启动tomcat的介绍qwq
踩坑过程
作业要求如下:
你可能的一种踩坑路径如下:
- 你尝试跟着b站教程在IDEA中配置tomcat环境
- 你发现教程要求新建Java Enterprise项目,但是你的IDEA中没有这个选项
- 你去网上搜索相关的解决方案,你了解到,Java Enterprise 选项可以通过修改IDEA注册表调出来
- 你十分开心,尝试跟着教程操作,但你无奈地发现,你的IDEA注册表里没有 javaee.legacy.project.wizard 这一选项
- 你只好继续在网上搜解决方案,并了解到,通过右键项目文件夹,选择“添加框架支持”同样可以给项目添加web支持
- 你尝试进行这一操作,但你惊奇地发现,你的IDEA的项目文件夹右键后竟然没有这个选项
- 你十分无奈,继续搜索解决方案
- 你了解到,菜单栏的“帮助”选项中,选择“查找操作”选项(快捷键ctrl+shift+A),可以搜索到“添加框架支持”选项
- 你尝试之后,绝望地发现,你的“添加框架支持”页面中,没有教程中给出的 Java EE->Web Application 选项
- 你百般无奈,继续搜索解决方案
- 你偶然了解到,IDEA Community版本是不提供Java EE的,你抱着试一试的心态,下载了IDEA Ultimate
- 为了用到IDEA Ultimate,你申请了30天试用体验
- 你打开新下好的IDEA Ultimate,尝试新建一个项目,不出所料,还是没有Java Enterprise选项
- 但是,你已经身经百战了。你丝毫不慌,按下快捷键ctrl+shift+a,并进入“添加框架支持”页面
- 皇天不负有心人,IDEA Ultimate 真的提供了Java EE支持,你选择Java EE->Web Application,为你的项目添加了web支持
- 你跟着教程继续往下走,从菜单栏选择 Run->Edit Configurations,并选择TomEE Server->Local,为你的项目添加了tomcat支持
- 这时,你老早就下好的tomcat(并配好了环境变量)终于能用上了,你的IDEA正常检测出了你下载的tomcat,你简单在你的IDEA中配置了一下你的tomcat设置
- 这时,理论上你的tomcat环境已经配好了,你尝试在你项目的src目录下建了一个index.jsp页面,并参照教程中的语法写了个hello world
- 你满怀期待得运行项目,不出意外,意外出现了,IDEA提示8080端口已被占用(很可能是因为你刚刚写了Java实验三!),项目无法启动
- 你发现Java实验四后面本来就要把8080端口改成88端口,于是你索性提前试着改端口号
- 不知道为什么,你的尝试失败了,但你没有放弃,你直接通过taskkill指令强行关闭了绑定8080端口的进程!
- 你满怀期待地运行项目,一个chrome网页顺利弹出,但你绝望地发现,hello world没能正常显示出来,网页显示的内容是“$END$”
- 你绝望地继续搜解决方案,无果
- 你回顾之前看的tomcat教程,惊奇地发现jsp文件应该建在web目录下,而不是src目录下!因为之前写得所有Java代码都是把源文件放在src目录下,所以你看教程的时候没注意到这个细节!网页之所以显示“$END$”是因为web目录下有一个默认的index.jsp,其要显示的内容就是“$END$”
- 你删掉默认的index.jsp,将你写好的index.jsp从src目录移到web目录,并重新运行项目
一行大大的Hello World在屏幕上显示出来,你默默地看了一眼屏幕右下角:又是美好的一天
命令行启动tomcat
假如你没有IDE就写不出程序,那么你就不配使用IDE!
上文踩坑过程很大程度是因为过分依赖IDE。其实,只要绕过在IDE中配置环境这一层,通过命令行启动tomcat,你可以很容易地写出一个JSP的Hello World。
具体操作如下(内容由GPT生成,亲测有效):
- 下载和安装 Tomcat:按照前面提到的步骤下载和安装 Tomcat。
创建一个新的 JSP 项目:
- 打开命令行界面。
导航到 Tomcat 的 webapps 目录。
cd /path/to/tomcat/webapps
创建一个新的目录作为你的项目名称,例如
myjspproject
。mkdir myjspproject
进入该目录。
cd myjspproject
在该目录下创建你的 JSP 文件,例如
index.jsp
。vim index.jsp
(Windows系统下直接在资源管理器中建文件就行了)
编辑 JSP 文件:
- 使用文本编辑器(如 Vim、Nano、Notepad++ 等)打开
index.jsp
文件,编写你的 JSP 代码。
- 使用文本编辑器(如 Vim、Nano、Notepad++ 等)打开
启动 Tomcat:
- 返回到 Tomcat 的 bin 目录。
启动 Tomcat,按照前面提到的方法执行启动脚本。
startup.bat (Windows) ./startup.sh (Unix/Linux)
验证项目是否可访问:
- 打开一个 Web 浏览器。
- 访问
http://localhost:8080/myjspproject/index.jsp
,其中myjspproject
是你创建的项目名称,index.jsp
是你创建的 JSP 文件名。 - 如果一切正常,应该能够看到你编写的 JSP 页面的内容。
这样,你就成功地通过命令行创建了一个简单的 JSP 项目,并且在 Tomcat 中启动了它。