好程序员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" /> #访问日志的格式

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2天前
|
Java 开发工具 Windows
Java入门及环境变量
Java入门及环境变量
|
2天前
|
Java API 调度
[AIGC] 深入理解Java并发编程:从入门到进阶
[AIGC] 深入理解Java并发编程:从入门到进阶
|
2天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
2天前
|
前端开发 Java 测试技术
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
Java从入门到精通:4.1.1参与实际项目,锻炼编程与问题解决能力
|
2天前
|
Java 程序员 数据库连接
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
Java从入门到精通:3.3.2性能优化与调优——内存管理篇
|
2天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
|
2天前
|
设计模式 存储 前端开发
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
Java从入门到精通:2.2.1学习Java Web开发,了解Servlet和JSP技术,掌握MVC设计模式
|
2天前
|
Java API
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作
Java从入门到精通:2.1.5深入学习Java核心技术之文件操作