好程序员Java教程入门基础之Tomcat学习

简介:

  Jrebel公布了一份2020 Java生态系统报告,调查结果显示,有61%的开发者们使用的主要应用服务器还是Tomcat。很多初学Java的人不知道怎么入门Tomcat,接下来的好程序员Java学习教程中,给大家做一个简单的知识梳理。
  Tomcat是什么
  Tomcat是由Apache开发的一个Servlet容器,实现了对Servlet和JSP的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
  Tomcat重要目录
  /bin - Tomcat 脚本存放目录(如启动、关闭脚本)。 .sh 文件用于 Unix 系统; .bat 文件用于 Windows 系统。
  /conf - Tomcat 配置文件目录。
  /logs - Tomcat 默认日志目录。
  /webapps - webapp 运行的目录。
  Tomcat常见组件
  1.服务器(server)
  实例,通常一个JVM只能包含一个实例,一般情况下,一个物理服务器可以启动多个JVM,从而启动多个实例,但一般不这么做。
  2.服务(service)
  一个服务组件通常包含一个引擎和此引擎相关联的一个或多个链接服务器。
  3.连接器(connectors)
  一个引擎能配置多个连接器,但是每个连接器的端口不能冲突。同时,Tomcat也支持AJP JSERV和JK2连接器,实现让Apache反向代理到后端服务器的非常高效的传输协议。
  4.引擎
  可以自己接收用户的http请求,并构建响应报文,而且可以在内部处理java程序的整个套间 。
  5.主机
  6.上下文
  7.阀门,能够过滤也可以做访问控制。
  8.日志记录器
  9.领域(Realm),用来实现用户的认证和授权。
  任何Tomcat实例就是一个server,而一个server内部要想能够解析JSP页面转义编译serlet程序,要靠其引擎来实现。而引擎才是真正意义上执行JSP代码的容器,都是Tomcat用类来描述这些组件的。同时,为了接受用户的请求,需要基于connector组件,所谓监听的套接字的程序,能够接手用户的请求,被称为连接器。一个server内部可以完全运行N个引擎,无非就是运行多个虚拟机而已。
  Tomcat的安装
  查看文件:
  # cat /usr/local/tomcat/conf/server.xml
  Listener为侦听器,通常实现tomcat内部进行通信的,可在各组件之间完成通信
  全局命名资源,方便全局引用,所以为其起完名称后可以随便调用的
  type="org.apache.catalina.UserDatabase"
  description="User databasethat can be updated and saved"
  factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
  pathname="conf/tomcat-users.xml" /> #其调用tomcat-user.xml配置文件进行用户认证
  服务类组件配置信息,将连接器关联至引擎上
  connectionTimeout="20000" #连接超时时间,单位毫秒
  redirectPort="8443" /> #必要的时候可以做重定向,定义在8443
  maxThreads="150" scheme="https" secure="true" #最大线程,协议版本,安全的
  clientAuth="false" sslProtocol="TLS" /> #不验证客户端 ssl协议用的是tls
  #引擎,名为catalina
  resourceName="UserDatabase"/>
  unpackWARs="true" autoDeploy="true"> #如果是war文件格式,是否解压,是否自动部署
  #定义阀门,java中类的记录方式,当前所处域名反过来写的记录方式
  prefix="localhost_access_log." suffix=".txt" #日志的命名 suffix表示时间戳
  pattern="%h %l %u %t "%r" %s %b" /> #访问日志的格式

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
8月前
|
Java 关系型数据库 数据库
Java 项目实战教程从基础到进阶实战案例分析详解
本文介绍了多个Java项目实战案例,涵盖企业级管理系统、电商平台、在线书店及新手小项目,结合Spring Boot、Spring Cloud、MyBatis等主流技术,通过实际应用场景帮助开发者掌握Java项目开发的核心技能,适合从基础到进阶的学习与实践。
1176 4
|
11月前
|
人工智能 Kubernetes Java
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
1625 33
|
11月前
|
Java 程序员 应用服务中间件
【高薪程序员必看】万字长文拆解Java并发编程!(2 2-2)
📌 核心痛点暴击:1️⃣ 面了8家都被问synchronized锁升级?一张图看懂偏向锁→重量级锁全过程!2️⃣ 线程池参数不会配?高并发场景下这些参数调优救了项目组命!3️⃣ volatile双重检测单例模式到底安不安全?99%人踩过的内存可见性大坑!💡 独家亮点抢先看:✅ 图解JVM内存模型(JMM)三大特性,看完再也不怕指令重排序✅ 手撕ReentrantLock源码,AQS队列同步器实现原理大揭秘✅ 全网最细线程状态转换图(附6种状态转换触发条件表)
199 0
|
11月前
|
存储 缓存 Java
【高薪程序员必看】万字长文拆解Java并发编程!(5):深入理解JMM:Java内存模型的三大特性与volatile底层原理
JMM,Java Memory Model,Java内存模型,定义了主内存,工作内存,确保Java在不同平台上的正确运行主内存Main Memory:所有线程共享的内存区域,所有的变量都存储在主存中工作内存Working Memory:每个线程拥有自己的工作内存,用于保存变量的副本.线程执行过程中先将主内存中的变量读到工作内存中,对变量进行操作之后再将变量写入主内存,jvm概念说明主内存所有线程共享的内存区域,存储原始变量(堆内存中的对象实例和静态变量)工作内存。
335 0
|
7月前
|
安全 Java
Java之泛型使用教程
Java之泛型使用教程
447 10
|
6月前
|
Oracle Java 关系型数据库
Java 简单教程
Java是跨平台、面向对象的编程语言,广泛用于企业开发、Android应用等。本教程涵盖环境搭建、基础语法、流程控制、面向对象、集合与异常处理,助你快速入门并编写简单程序,为进一步深入学习打下坚实基础。
480 0
|
10月前
|
算法 Java 测试技术
Java 从入门到实战完整学习路径与项目实战指南
本文详细介绍了“Java从入门到实战”的学习路径与应用实例,涵盖基础、进阶、框架工具及项目实战四个阶段。内容包括环境搭建、语法基础、面向对象编程,数据结构与算法、多线程并发、JVM原理,以及Spring框架等核心技术。通过学生管理系统、文件下载器和博客系统等实例,帮助读者将理论应用于实践。最后,提供全链路电商系统的开发方案,涉及前后端技术栈与分布式架构。附代码资源链接,助力成为合格的Java开发者。
395 4
|
10月前
|
Oracle Java 关系型数据库
java 入门学习视频_2025 最新 java 入门零基础学习视频教程
《Java 21 入门实操指南(2025年版)》提供了Java最新特性的开发指导。首先介绍了JDK 21和IntelliJ IDEA 2025.1的环境配置,包括环境变量设置和预览功能启用。重点讲解了Java 21三大核心特性:虚拟线程简化高并发编程,Record模式优化数据解构,字符串模板提升字符串拼接可读性。最后通过图书管理系统案例,展示如何运用Record定义实体类、使用Stream API进行数据操作,以及结合字符串模板实现控制台交互。该指南完整呈现了从环境搭建到实际项目开发的Java 21全流程实
626 1
|
9月前
|
缓存 安全 Java
Java 并发新特性实战教程之核心特性详解与项目实战
本教程深入解析Java 8至Java 19并发编程新特性,涵盖CompletableFuture异步编程、StampedLock读写锁、Flow API响应式流、VarHandle内存访问及结构化并发等核心技术。结合电商订单处理、缓存系统、实时数据流、高性能计数器与用户资料聚合等实战案例,帮助开发者高效构建高并发、低延迟、易维护的Java应用。适合中高级Java开发者提升并发编程能力。
415 0
|
10月前
|
Oracle Java 关系型数据库
java 编程基础入门级超级完整版教程详解
这份文档是针对Java编程入门学习者的超级完整版教程,涵盖了从环境搭建到实际项目应用的全方位内容。首先介绍了Java的基本概念与开发环境配置方法,随后深入讲解了基础语法、控制流程、面向对象编程的核心思想,并配以具体代码示例。接着探讨了常用类库与API的应用,如字符串操作、集合框架及文件处理等。最后通过一个学生成绩管理系统的实例,帮助读者将理论知识应用于实践。此外,还提供了进阶学习建议,引导学员逐步掌握更复杂的Java技术。适合初学者系统性学习Java编程。资源地址:[点击访问](https://pan.quark.cn/s/14fcf913bae6)。
1145 2
下一篇
开通oss服务