好程序员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日志并进行多维度分析。
相关文章
|
10天前
|
消息中间件 前端开发 Java
java学习路径
【4月更文挑战第9天】java学习路径
17 1
|
10天前
|
设计模式 前端开发 安全
Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
【4月更文挑战第9天】Java是一种广泛使用的编程语言,其学习路径可以大致分为以下几个阶段
15 1
|
1天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
15 1
|
1天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
14 0
|
4天前
|
Web App开发 Java 应用服务中间件
【Java Web】在 IDEA 中部署 Tomcat
【Java Web】在 IDEA 中部署 Tomcat
20 0
|
7天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
10 0
键值之道:深入学习Java中强大的HashMap(二)
|
9天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
13天前
|
安全 前端开发 Java
Java Web开发知识点学习总结
Java Web开发涉及Java基础、Servlet、JSP、数据库操作(SQL+JDBC)、MVC设计模式、Spring框架、Hibernate ORM、Web服务(SOAP&RESTful)、安全认证(HTTP Basic/Digest/OAuth)及性能优化(缓存、异步、负载均衡)。
15 3
|
Web App开发 弹性计算 Java
Tomcat部署Java Web项目教程
Tomcat是一个开源的且免费的Java Web服务器,常用来作为web开发的工具。它可以托管由servlet,JSP页面(动态内容),HTML页面,js,样式表,图片(静态内容)组成的Java Web应用程序,本文教你怎样使用Tomcat部署Java Web项目。
22860 0