为了完成Java课的实验四,尝试在IDEA中配置tomcat环境。由于2024新版IDEA对界面选项有一定改动,参考网上教程建立tomcat项目十分困难,故特此记录踩坑过程!
注:如果你只是准备简单写个tomcat项目,之后没有深入学习Java后端开发的打算,强烈建议直接通过命令行启动tomcat(启动方式见后文),没必要在IDEA中配置tomcat环境!

IDEA中配置tomcat环境

废话不多说,这边直接上IDEA Ultimate中配置tomcat环境的动图(注意,必须下载IDEA Ultimate和tomcat,并配置好tomcat的环境变量)
tomcat_3 2024-4-17 17-12-15.gif

如果提示8080端口已经被占用,可以通过taskkill命令强行删进程(先通过netstat指令查找绑定了8080端口的进程,再用taskkill删除该进程即可),截图如下:
taskkill_2024-04-17_16-50-33.png

// 到这里已经把最终的解决方案呈现清楚了,下文为踩坑过程和命令行启动tomcat的介绍qwq

踩坑过程

作业要求如下:
Java实验4_20240417113051.png

你可能的一种踩坑路径如下:

  1. 你尝试跟着b站教程在IDEA中配置tomcat环境
  2. 你发现教程要求新建Java Enterprise项目,但是你的IDEA中没有这个选项
  3. 你去网上搜索相关的解决方案,你了解到,Java Enterprise 选项可以通过修改IDEA注册表调出来
  4. 你十分开心,尝试跟着教程操作,但你无奈地发现,你的IDEA注册表里没有 javaee.legacy.project.wizard 这一选项
  5. 你只好继续在网上搜解决方案,并了解到,通过右键项目文件夹,选择“添加框架支持”同样可以给项目添加web支持
  6. 你尝试进行这一操作,但你惊奇地发现,你的IDEA的项目文件夹右键后竟然没有这个选项
  7. 你十分无奈,继续搜索解决方案
  8. 你了解到,菜单栏的“帮助”选项中,选择“查找操作”选项(快捷键ctrl+shift+A),可以搜索到“添加框架支持”选项
  9. 你尝试之后,绝望地发现,你的“添加框架支持”页面中,没有教程中给出的 Java EE->Web Application 选项
  10. 你百般无奈,继续搜索解决方案
  11. 你偶然了解到,IDEA Community版本是不提供Java EE的,你抱着试一试的心态,下载了IDEA Ultimate
  12. 为了用到IDEA Ultimate,你申请了30天试用体验
  13. 你打开新下好的IDEA Ultimate,尝试新建一个项目,不出所料,还是没有Java Enterprise选项
  14. 但是,你已经身经百战了。你丝毫不慌,按下快捷键ctrl+shift+a,并进入“添加框架支持”页面
  15. 皇天不负有心人,IDEA Ultimate 真的提供了Java EE支持,你选择Java EE->Web Application,为你的项目添加了web支持
  16. 你跟着教程继续往下走,从菜单栏选择 Run->Edit Configurations,并选择TomEE Server->Local,为你的项目添加了tomcat支持
  17. 这时,你老早就下好的tomcat(并配好了环境变量)终于能用上了,你的IDEA正常检测出了你下载的tomcat,你简单在你的IDEA中配置了一下你的tomcat设置
  18. 这时,理论上你的tomcat环境已经配好了,你尝试在你项目的src目录下建了一个index.jsp页面,并参照教程中的语法写了个hello world
  19. 你满怀期待得运行项目,不出意外,意外出现了,IDEA提示8080端口已被占用(很可能是因为你刚刚写了Java实验三!),项目无法启动
  20. 你发现Java实验四后面本来就要把8080端口改成88端口,于是你索性提前试着改端口号
  21. 不知道为什么,你的尝试失败了,但你没有放弃,你直接通过taskkill指令强行关闭了绑定8080端口的进程!
  22. 你满怀期待地运行项目,一个chrome网页顺利弹出,但你绝望地发现,hello world没能正常显示出来,网页显示的内容是“$END$”
  23. 你绝望地继续搜解决方案,无果
  24. 你回顾之前看的tomcat教程,惊奇地发现jsp文件应该建在web目录下,而不是src目录下!因为之前写得所有Java代码都是把源文件放在src目录下,所以你看教程的时候没注意到这个细节!网页之所以显示“$END$”是因为web目录下有一个默认的index.jsp,其要显示的内容就是“$END$”
  25. 你删掉默认的index.jsp,将你写好的index.jsp从src目录移到web目录,并重新运行项目

一行大大的Hello World在屏幕上显示出来,你默默地看了一眼屏幕右下角:又是美好的一天

命令行启动tomcat

假如你没有IDE就写不出程序,那么你就不配使用IDE!

上文踩坑过程很大程度是因为过分依赖IDE。其实,只要绕过在IDE中配置环境这一层,通过命令行启动tomcat,你可以很容易地写出一个JSP的Hello World。

具体操作如下(内容由GPT生成,亲测有效):

  1. 下载和安装 Tomcat:按照前面提到的步骤下载和安装 Tomcat。
  2. 创建一个新的 JSP 项目

    • 打开命令行界面。
    • 导航到 Tomcat 的 webapps 目录。

      cd /path/to/tomcat/webapps
    • 创建一个新的目录作为你的项目名称,例如 myjspproject

      mkdir myjspproject
    • 进入该目录。

      cd myjspproject
    • 在该目录下创建你的 JSP 文件,例如 index.jsp

      vim index.jsp

      (Windows系统下直接在资源管理器中建文件就行了)

  3. 编辑 JSP 文件

    • 使用文本编辑器(如 Vim、Nano、Notepad++ 等)打开 index.jsp 文件,编写你的 JSP 代码。
  4. 启动 Tomcat

    • 返回到 Tomcat 的 bin 目录。
    • 启动 Tomcat,按照前面提到的方法执行启动脚本。

      startup.bat    (Windows)
      ./startup.sh   (Unix/Linux)
  5. 验证项目是否可访问

    • 打开一个 Web 浏览器。
    • 访问 http://localhost:8080/myjspproject/index.jsp,其中 myjspproject 是你创建的项目名称,index.jsp 是你创建的 JSP 文件名。
    • 如果一切正常,应该能够看到你编写的 JSP 页面的内容。

这样,你就成功地通过命令行创建了一个简单的 JSP 项目,并且在 Tomcat 中启动了它。

最后修改:2024 年 04 月 17 日
如果觉得我的文章对你有用,请随意赞赏