Web 服务器

  • Web 服务器是一个应用程序(软件),对 HTTP 协议的操作进行封装,使得程序员不必直接对协议进行操作,让 Web 开发更加便捷。主要功能是“提供网上信息浏览服务”。


Tomcat 概念

  • 概念: Tomcat 是 Apache 软件基金会的一个核心项目,是一个开源免费的轻量级 Web 服务器,支持 Servlet/JSP,符合少量 JavaEE 规范。

  • JavaEE: Java Enterprise Edition,即 Java 企业版。指 Java 企业级开发的技术规范总和,包含 13 项技术规范: JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、JMS、Java IDL、JTS、JTA、JavaMail、JAF。

  • Tomcat 的别称: 也被称为 Web 容器Servlet 容器。 Servlet 需要依赖 Tomcat 才能运行,它负责解析 HTTP 请求并调用相应的 Servlet 处理逻辑。

  • 官网https://tomcat.apache.org/

✅ 补充说明:

  • Tomcat 主要用于运行 Java Web 应用(基于 Servlet 和 JSP)。

  • 它是 Java 开发中常用的开发和测试服务器,常配合 IDE(如 IntelliJ IDEA、Eclipse)使用。

  • 生产环境也可部署,但大型应用通常会搭配 Nginx 做反向代理和负载均衡。


基本使用

启动

修改控制台默认字符集

修改过后,再次启动

关闭:推荐 bin\shutdown.bat 或者 Ctrl+C

配置:修改 Tomcat 启动端口号

  1. 修改启动端口号: 编辑配置文件 conf/server.xml,找到如下配置项:

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
    • port="8080" 修改为你想要的端口号(如 808081 等)。

    ✅ 注:HTTP 协议默认端口号为 80。如果将 Tomcat 端口改为 80,则访问时无需手动输入端口号,例如直接访问 http://localhost 即可。

启动时可能出现的问题

  1. 端口号冲突

    • 错误提示:

      Caused by: java.net.BindException: Address already in use: bind
    • 原因:当前端口已被其他程序占用(如另一个 Tomcat 实例、IIS、Nginx 等)。

    • 解决方法: 找到占用该端口的程序,将其关闭。 可通过命令行查看占用进程(Windows 使用 netstat -ano + tasklist;Linux/macOS 使用 lsof -i :8080)。

  2. 启动窗口一闪而过

    • 原因:可能是 JAVA_HOME 环境变量未正确配置。

    • 解决方法: 检查并确保 JAVA_HOME 指向正确的 JDK 安装路径,并在系统环境变量中生效。

✅ 小贴士:

  • 推荐使用非常用端口(如 8080、8081)避免冲突。

  • 若需绑定 80 端口,需管理员权限(Windows 上右键以管理员身份运行)。

Tomcat 部署项目

  • 部署方式一:直接放置项目文件夹 将你的 JavaWeb 项目文件夹(如 myweb)直接复制到 Tomcat 的 webapps 目录下,Tomcat 启动后会自动识别并部署该项目。

  • 部署方式二:使用 war 包(推荐) 一般 JavaWeb 项目会被打包成 .war 文件(Web Application Archive),然后将该 war 包放入 webapps 目录下。 Tomcat 会在启动时自动解压 war 文件,并将其部署为一个 Web 应用。

✅ 示例: 将 myapp.war 放入 webapps/,Tomcat 会自动创建 webapps/myapp 目录并部署应用。

  • 部署完成后,可通过浏览器访问:http://localhost:8080/项目名

  • 若未看到页面,请检查:

    • 是否正确放置了项目

    • Tomcat 是否成功启动

    • 控制台是否有报错信息


IDEA创建Maven Web项目

Web的项目结构

  • 编译后的 Java 字节码文件.class 文件)和 resources 目录下的资源文件(如配置文件、properties、json 等),应放置到 WEB-INF/classes 目录下。

  • pom.xml 中依赖坐标对应的 jar 包,应放入 WEB-INF/lib 目录下。

  • WEB-INF 是 Web 应用的私有目录,客户端无法直接访问。

  • classes:存放应用程序的编译类文件和资源文件。

  • lib:存放第三方库(jar 包),Tomcat 会自动加载这些依赖。

创建项目


IDEA中使用Tomcat

第一种

第二种

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐