菜鸟学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