【写给自己的教程】Mac上的Tomcat & IDEA配置

前文

本文更新于:2024-03-10 22:17

2024版正在更新...

正文

brew update

接着查看一下Tomcat在Homebrew支持的版本

brew search tomcat

正常来说会显示这样的

==> Formulae
tomcat          tomcat-native   tomcat@7        tomcat@8        tomcat@9

也就是这样

看到这个之后直接安装就行了

brew install tomcat

安装完后就会是这样

当然不同电脑不同显示,不同版本不同的显示

catalina -h // 检查是否安装成功
catalina run // 运行tomcat

浏览器打开地址 http://localhost:8080/

看到如下页面即可

IDEA配置

我的基础环境版本

IDEA版本:IntelliJ IDEA 2021.2.2 Build #IU-212.5284.40

JDK版本:17

TomCat版本:10.0.8 (Homebrew)

首先在IDEA的主页面新建一个Java Web项目

由于是2021.2.2版本,已经没有Java Enterprise选项(如果你的有当我没说,反正我的没有),别着急,正常创建一个Java项目,在上图的步骤中,点击两次Next,Project JDK可以跟我的不一样,我上面给了我的环境版本

到了这个页面后给他改个位置命个名,当然你也可以用默认,最好是小写吧,追包的时候要小写,怕大写会报错,当然你非要呆或者非要杠我,我无话可说

点Finish,会看到这个页面

这时,例如我这里的工程文件名是jsp,我就在jsp这个地方双指点击触控板(鼠标或Windows里的右键)调出菜单,找到Add Framework Support,就像下图一样

勾选Web Application

点击OK即可,现在你可以看到这样的页面

在WEB-INF文件夹双指点击触控板(鼠标或Windows里的右键),调出菜单,创建两个文件夹,一个是classes,一个是lib,如图所示

看好我的图,是在WEB-INF文件夹里面创建,肯定有呆瓜是创到同目录的

然后File中找到Project Structure

别问中文界面是什么了,你连这个都找不到你 ❌ 了这页吧,或者切个英文,把中文插件关掉

进来之后点Modules,改一下编译后的class存放地址

文件夹是什么?刚才创建的classes文件夹就是拿来存编译后的class的

Windows别傻傻的跟着我这个输入,路径都不一样,带点脑子看教程

添加完点 Dependencies 就是 Paths 隔壁那个,点加号

找到刚才创建的lib文件夹

选择Jar Directory,点OK

点击Artifacts,把 Show content of elements 勾上,勾上之后点OK就行,我懒得放图了

配置Tomcat

菜单栏找到Run,Edit Configurations

进去之后点加号,找到Tomcat Server,Local

进来之后,如果你本地有下载Tomcat那就选本地的,就好像我这里,本地下载了,就会被读取到,但是我用的是Homebrew,所以我会改到Homebrew的文件夹

/usr/local/Cellar/tomcat/10.0.8/libexec

Oh shit下面有个Warning,点一下Fix吧,点了之后就会把你带到这里

这时就可以OK了,无脑运行一下吧

OK,It works!

Servlet

现在来看看IDEA中怎么配置Servlet吧

首先在src中创建一个Java文件,名为 HelloX1a0He

就像这样

创建完后,Ctrl + a全选代码,全部删掉,也就2行罢了,然后把下面的代码贴进去

import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloX1a0He extends HttpServlet {
    private String message;

    @Override
    public void init() throws ServletException{
        message ="Hello X1a0He, this message is from servlet!";
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException{
        //设置响应内容类型
        resp.setContentType("text/html");
        //设置逻辑实现
        PrintWriter out = resp.getWriter();
        out.println(message);
    }

    @Override
    public void destroy(){
        super.destroy();
    }
}

就像这样

贴完代码后,报错了

Let's fix it

还记得我说过这个是一篇写给我自己的教程么,这篇教程用的是Homebrew安装的Tomcat

报错只是缺了servlet-api.jar,那就找到Homebrew的Tomcat文件夹找一下吧,本地下载的也类似

Homebrew下载的Tomcat路径如下

/usr/local/Cellar/tomcat/10.0.8/libexec/lib/

找到一个文件叫 servlet-api.jar 的文件

 

OK,两个方法

方法一

command + c拷贝这个文件,Windows用户则是ctrl + c,把它放到WEB-INF的lib文件里面吧


command + s保存一下吧

OK,报错没了

方法二

双指点击触控板,Windows则是右键调出菜单,找到 Open Module Settings

找到 Dependencies 点加号 选择Library

选择Homebrew的Tomcat,点Add Selected后点击OK

OK,报错没了

无脑运行一下吧,你会发现还是刚才的页面,但编译后的class文件夹会多了一个HelloX1a0He文件

点红色的方形,就是运行右边那个,停掉服务器

怎么部署 Servlet

在类前放上这一行代码

@WebServlet("/HelloX1a0He")
// 这里的HelloX1a0He是类名

你会发现,又报错了

导一下包就行了,鼠标移到红色字部分,有一个 Import Class,点一下会把第一行改成这样

import jakarta.servlet.annotation.WebServlet;

当然也可以手动将第一行换成这个,报错就没了

现在来无脑运行一下吧

主页面正常

访问一下 Servlet 页面

在原地址基础上加上 HelloX1a0He,也就是

http://localhost:8080/jsp_war_exploded/HelloX1a0He

运行正常

这就是Mac上配置 Homebrew Tomcat 和 Servlet 的全过程了,本地下载的Tomcat和Windows是类似的

 

晓看天色暮看云

版权声明:
作者:X1a0He
链接:https://www.x1a0he.com/mactomcat
来源:X1a0He's Blog
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录