菜鸟学Linux 第102篇笔记 tomcat + JDK

简介:

菜鸟学Linux 第102篇笔记 tomcat + JDK




内容总览

Java体系

JDK (Java Development Kit) java SE, java EE

Tomcat

tomcat配置文件

tomcat 应用程序“部署”

webapp体系结构

webapp的归档格式

tomcat的运行方式



Java体系

java程序设计语言

java API

java class文件格式

java VM


JDK (Java Development Kit)

java SE: JDK + 额外类库,面向桌面级应用

java EE: Java SE + 企业级类库

servlet, jsp, jmx

servlet 类库

servlet container

jsp 类库

<% %>



Tomcat

借助JDK + servlet, jsp 

Java EE不完整的实现


web container

Jetty, Resin

Websphere, weblogic, JBoss, Glassfish, GonAS


tomcat:

server.xml

顶级类: server

容器类: engine, host, context

服务类: service

连接器: connector (http,ssl,ajp) apache jserv protocol

被嵌套类: valve, logger, realm

<server>

<service>

<connector />

<connector />

<engine>

<host>

<context />

<context />

</host>

<host>

</host>

</engine>


</service>

</server>


server status:

状态查看

app部署

host manager:

虚拟主机管理



安装目录

bin

conf

server.xml, tomcat-users.xml, web.xml

logs

lib

temp

webapps

work


tomcat配置文件

server.xml

context.xml 为部署于此tomcat实例上的所有web应用程序提供的默认配置文件,每个webapp

都可以使用自己独有的context.xml 通常放置于webapp目录中的META-INF目录中

常用于定义会话管理器、realm以及JDBC等

web.xml 部署描述符,通常用于为webapp提供基本的的servlet定义和MIME映射表等

tomcat-users.xml 用户控制

catalina.policy 当基于-security选项启动tomcat实例时会读取此配置文件,安全策略配置

catalina.properties java属性定义文件,设定类加载路径、安全包列表和一些调整性能参数

logging.properties 日志相关配置


tomcat 应用程序“部署”

部署是指将webapp及其所依赖类库等装载进tomcat实例上,以便接受用户请求

部署方式:

静态方式,在tomcat启动之前进行的webapp部署

动态方式,在不中止tomcat运行的前提下,通过tomcat manager或其它的命令行工具进行

  部署


部署是由一类“操作”组成:

deploy 将webapp的源文件放置于目录目录、配置tomcat服务器能够基于某context路径

   访问此webapp,并将其特有的类由类加载器进行装载等

redeploy 重新部署,主要用于升级时

undeploy 取消部署,停止应用程序,并从tomcat实体上移除其部分文件和部署名

stop 停止

start 将停止的webapp再次启动


部署方式

tomcat manager

ant script

TCD


war类归档程序部署实现,将归档文件复制到$CATALINA_BASE/webapps目录并重启即可

未归档  直接放置在上述目录中即可


webapp体系结构

webapp有特定的组织格式,是一种层次性目录结构 通常包含了servlets代码文件,jsp页面

文件、类文件、部署描述符文件等等,一般会打包成归档格式


/ web应用程序的根目录

/WEB-INF 此webapp的私有资源目录,通常web.xml和context.xml放置在此处

/WEB-INF/class 此webapp自有的类

/WEB-INF/lib 此webapp自有能够被打包为jar格式的类


webapp的归档格式

EJB类归档的扩展名为.jar

web应用程序的归档扩展名为.war

资源适配器的扩展名.rar (resource adapters)

企业级应用程序的扩展名.ear (enterprise archive)

web服务的扩展名通常为.ear或.war


tomcat的运行方式

standalone configure

request --> web server(tomcat) --> servlet container


进程间配置

独立网络配置



apache与tomcat连接器通信的模块有两个

mod_jk: apache/1.3, apache/2.0

mod_proxy: apache/2.2+


tomcat的连接器协议有两种

http

ajp


LAMT:

apache(mod_jk, ajp) + tomcat(ajp connector)

apache(mod_proxy,(http,https,ajp)) + tomcat(http,https, ajp)


LNMT:

nginx + tomcat(http, https)

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1899162如需转载请自行联系原作者


Winthcloud

相关文章
|
1月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
1月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
116 21
|
6月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
323 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
4月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
310 7
|
6月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
145 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
6月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
206 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
7月前
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
8月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
220 2
linux笔记 diff及patch的制作与使用
|
8月前
|
消息中间件 Java 中间件
在Linux中,什么是中间件?什么是jdk?
在Linux中,什么是中间件?什么是jdk?
|
8月前
|
数据采集 Linux
Linux源码阅读笔记20-PCI设备驱动详解
Linux源码阅读笔记20-PCI设备驱动详解