javaweb--02

一、核心概念

1. Tomcat 定义

Tomcat 是 Apache 软件基金会的核心项目,是开源免费的轻量级 Web 服务器 ,支持 Servlet/JSP 等少量 JavaEE 规范,也被称为Web 容器、Servlet 容器,Servlet 必须依赖 Tomcat 才能运行。

2. JavaEE 详解

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


二、核心目录结构

解压后的 Tomcat 根目录包含 7 个核心文件夹,作用如下:

表格

目录名 核心作用
bin 存放 Tomcat 的可执行脚本(如启动 / 关闭脚本)
conf 存放 Tomcat 的所有配置文件(如server.xml、logging.properties)
lib 存放 Tomcat 运行依赖的 jar 包
logs 存放 Tomcat 运行产生的日志文件
temp 存放 Tomcat 运行产生的临时文件
webapps 存放需要部署的 Web 应用项目
work Tomcat 的工作目录,用于存放 JSP 编译后的 Servlet 等中间文件

三、基础使用流程

1. 下载与安装

  • 下载:从 Tomcat 官网下载对应系统的压缩包(Windows 选择 32/64 位 zip 包)
  • 安装:绿色免安装,直接解压即可使用
  • 卸载:直接删除整个 Tomcat 目录即可

2. 启动与关闭

  • 启动 :执行bin\startup.bat(Windows)或bin/startup.sh(Linux)
  • 控制台乱码解决 :修改conf/logging.properties,将java.util.logging.ConsoleHandler.encoding = UTF-8改为GBK
  • 关闭方式 :
    1. 直接关闭运行窗口(强制关闭,不推荐)
    2. 执行bin\shutdown.bat(正常关闭)
    3. 在运行窗口按Ctrl+C(正常关闭)

四、核心配置与常见问题

1. 端口号配置

  • 配置文件 :conf/server.xml
  • 修改位置 :找到<Connector port="8080" ... />标签,修改port属性即可
  • 补充说明:HTTP 协议默认端口为 80,若将 Tomcat 端口改为 80,访问时无需输入端口号

2. 启动常见问题

  1. 端口号冲突
    • 报错特征:日志中出现Address already in use: bind
    • 解决方案:找到占用端口的进程并关闭,或修改 Tomcat 端口号
  2. 启动窗口一闪而过
    • 原因:JAVA_HOME环境变量未正确配置
    • 解决方案:检查并重新配置 JDK 环境变量

五、项目部署

1. 部署方式

  • 直接部署 :将 Web 项目文件夹直接放入webapps目录,部署完成
  • war 包部署 :将 JavaWeb 项目打包为war包,放入webapps目录,Tomcat 会自动解压 war 包

2. 访问规则

  • 项目部署后,访问路径为http://服务器IP:端口号/项目名
  • 若将项目命名为ROOT,则可直接通过http://服务器IP:端口号访问
相关推荐
weixin_BYSJ19874 分钟前
【计算机毕设】基于Spring_Boot_Vue的马拉松报名与选手成绩追踪系统05445
java·vue.js·spring boot·学习·spring·django·课程设计
Shaoshing30 分钟前
消息类型
java
2301_322414280435 分钟前
springboot学生课堂出勤统计系统15835-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·mysql·随机森林·微信小程序·uni-app·微信开发者工具·推荐算法
程序员夏洛2 小时前
VMware Workstation Pro 卸载失败:安装向导提前结束、错误 1603 的排查与解决
java
User_芊芊君子2 小时前
【JavaEE初阶 - 网络原理】网络分几层?从自定义协议聊到 DNS
java·网络·java-ee
聚美智数9 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
十年Java程序媛9 小时前
Java枚举Enum完整教程|替代静态常量,开发与面试要点
java·开发语言·spring boot·后端·面试
我是人✓9 小时前
SpringBoot静态资源映射揭秘
java·spring boot·后端
土豆.exe10 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
小坏讲微服务11 小时前
刚发布一个月的JDK 27,为什么我建议你立刻升级?
java·开发语言·spring boot·spring·架构·求职招聘·springboot4