tomcat基础应用
1. Tomcat版本和支持的API和JDK版本
| Apache Tomcat | Servlet API | JSP API | JDK |
| 7.0 | 3.0 | 2.2 | 1.6 |
| 6.0 | 2.5 | 2.1 | 1.5 |
| 5.5 | 2.4 | 2.0 | 1.4 |
| 4.1 | 2.3 | 1.2 | 1.3 |
| 3.0 | 2.2 | 1.1 | 1.1 |
2. 比较好的tomcat的资料:
官网:http://tomcat.apache.org
Tomcat mailing lists:http://tomcat.apache.org/lists.html
一个比较关于tomcat的网站:www.tomcatexpert.com
3. tomcat的架构组件
<Server>
<Service>
<Connector />
<Engine>
<Host>
<Context> </Context>
</Host>
</Engine>
</Service>
</Server>
<Server>代表整个Catalina servlet engine,作为一个tomcat实例的顶级元素,<Server>元素可以包含一个
或者多个<Service>容器
<Service>容器可以包含一个或者多个<Connector>元素和一个<Engine>元素,多个<Service>元素可以放到一个<Server>元素中。
<Connector>元素定义类,这个类做真正的请求和响应处理。
<Engine>元素,每个<Service>元素可以仅仅只有一个<Engine>元素,这个<Engine>元素处理被<Connector>元素接收到的所有请求。
<Host>元素定义虚拟主机,它被包含在每个<Engine>的实例中,每个<Host>元素可以包含多个web applications。
每个<Context> 元素代表一个单独的web application,没有任何限制在<host>中的<Context>元素。
4. Tomcat的目录结构
| 目录 | 内容 |
| /bin | 包含windows和Linux下的开启和关闭脚本,tomcat启动时必要的jar包也放在这个目录 |
| /conf | 包含主要的配置文件,两个最主要的配置文件是server.xml和全局的web.xml |
| /lib | 包含tomcat的jar包,共享的组件。所有发布到tomcat的web application都可以访问该目录的包,这个包含Servlet API和JSP API包 |
| /logs | 包含tomcat的日志文件 |
| /temp | 临时文件系统存储 |
| /webapps | 所有web application发布到的地方,就是放你war包的地方 |
| /work |
tomcat的工作目录,tomcat放从jsp形成的所有servlets到该目录,如果你想要看一个特定的jsp怎么编译,你应该看该目录 |
5. 执行tomcat脚本
在bin目录中最重要的执行脚本是Catalina脚本,这个脚本负责启动和关闭tomcat,它接受不同的命令行参数为不同的操作。
(Catalina脚本仅仅可以使用对于zip版本来说,如果你下载的是Windows service installer版本,你不能访问Catalina脚本,你可以使用tomcat7w.exe GUI应用来管理tomcat服务)
下面是你可以使用的Catalina的命令行参数
| 命令行参数 | 描述 |
| catalina start | 开启tomcat服务做为单独的进程,在windows,tomcat将会开启以新的命令行窗口,在linux,tomcat以后台进程开启,你还可以继续使用命令行 |
| catalina stop | 关闭tomcat服务 |
| catalina run | 以当前的窗口/终端开启tomcat服务,在windows,tomcat开启的输出信息将会被添加到当前的窗口,而在linux下,tomcat进程将会运行在当前的终端会话,它将会很有用,对于侦测tomcat启动失败的原因 |
| catalina debug | 以debug的模式启动tomcat |
| catalina version | 显示tomcat的版本 |
| catalina configtest | 检测当前的tomcat配置是否正确,这个脚本将会试着开启tomcat服务,加载所有的配置文件,如果配置正确,则优雅的关闭,如果任何配置有问题,它将会报告问题 |
| catalina jpda start | 以java platform debugging architecture(JPDA)的debug模式开启tomcat |
你可以添加-security的选项到任何start command中,tomcat将会伴随着security manager开启的状态开启服务。
6. 传运行选项到Catalina脚本
JAVA_OPTS环境变量包括可用的选项是针对运行在该机器上的所有java进程,包括tomcat,例如,为了是JVM读取文件使用UTF-8编码,你可以添加file.encoding参数到JAVA_OPTS环境变量:
export JAVA_OPTS="-Dfile.encoding=utf-8"
当你设置完这个之后,启动tomcat服务,它将会读取文件使用UTF-8编码,但是这个不仅仅对于tomcat进程,而是对于所有JVM进程。
为了传递特定的JVM参数到tomat,你可以使用CATALINA_OPTS环境变量,例如:添加更多的heap memory到tomcat进程,并不会影响其他java应用的内存设置,下面就是导入内存设置到CATALINA_OPTS变量:
export CATALINA_OPTS=" –Xms256m -Xmx1g -XX:MaxPermSize=256m"
当你设置完之后,开启tomcat服务,catalina start脚本会按照配置设置JVM内存设置,会使用1G的最大heap size。
你必须要重启tomcat,对于任何JAVA_OPTS或者CATALINA_OPTS的环境变量。
7. tomcat的配置文件
tomcat主要的配置文件是server.xml,它在conf目录。tomcat中主要的元素,像engines, hosts, contexts都配置在该文件,你可以读更多的信息在该文件。
context.xml配置包含默认的context设置,它被共享在所有的tomcat contexts。
除了在server.xml和context.xml文件中的全局的context配置,每个context有他们自己的配置文件,该配置文件在conf目录。context配置文件的位置依赖与engine名字和host名字。配置文件定位在:
CATALINA_HOME/conf/ENGINE_NAME/HOST_NAME/CONTEXT_NAME.xml
例如:如果你部署一个web到context apress,使用默认的host(localhost),在标准的Catalina engine中,配置文件应该定位在:
CATALINA_HOME/conf/Catalina/localhost/apress.xml
8. Java Web Application
一个Java Web Application是包含一系列servlets, html, classes和其他资源,可以运行在多个containers上的东东。
一个Java Web Application主要特性之一就是和ServletContext的关系,每个web application仅仅只有一个ServletContext。这个关联是由servlet container控制,servlet container保证,当访问ServletContext中的对象时,没有两个web application崩溃。
9. 一个Java Web Application的目录结构
例子:
| 目录 | 说明 |
| /apress | 一个web application的根目录,所有的jsp和html文件应该放在这里,通常每种类型的静态文件应该放在各自的目录中(images/,styles/,js/) |
tomcat基础应用的更多相关文章
- Tomcat基础教程(二)
上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...
- Tomcat 基础优化
作者:北京运维 本文档是身边一些朋友.技术大佬之前分享的一些笔记,记录了 Tomcat 优化方法,笔记较多而且比较杂乱,经过整理.分类我个人觉得大致可以从以下几个方面优化 Tomcat: Tomcat ...
- Tomcat基础配置和高级配置
********** 第一部分 Tomcat基础配置 *********** 一.Apatch Tomcat 在win下配置 大部分转载自:http://blog.csdn.net/liuhao ...
- web服务器专题:tomcat基础及模块
Web服务器专题:Tomcat(一)基础架构 针对java系的经典服务器,打算系统的整理一下Tomcat的机制和一些原理,以此记录. 插一则题外话,关于tomat这个名字的由来:Tomcat 名称的由 ...
- 【WEB】Tomcat基础使用知识
由于当前项目性质原因,从开始到现在使用的WEB服务器都是WAS,而Tomcat的基础知识也慢慢地被遗忘.由于种种原因,让我参与到了另外一个全新的项目,使用的是Tomcat6.X,所以复习是必须的,而写 ...
- Tomcat 基础二
1.Tomcat 实现了一个新的Servlet容器Catalina: 2.Tomcat: ROOT | |____ / ...
- tomcat 基础知识学习
1: 直接将web项目文件件拷贝到webapps 目录中,Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用,所以可以将JSP程序打包成一个 wa ...
- 2016-2-10 tomcat基础学习
安装tomcat服务器(1)配置 JAVA_HOME指向你的jdk主目录 也可以在startup.bat文件中设置JAVA_HOME环境变量. 首次使用JAVA_HOME前设置即可.set JAVA_ ...
- 【solr】 solr 5.4.1 和tomcat 基础环境搭建
下载省略; solr下载地址:http://www.apache.org/dyn/closer.cgi/lucene/solr/ tomcat 下载安装(省略). solr5.4.1 默认在jetty ...
- Tomcat基础教程(四)
一.将Web应用部署到Tomcat中 为什么要部署?将Web应用部署到Tomcat中,那么Tomcat就能找到相应的Web应用,当Tomcat启动时就会加载和初始化Web应用,而在Tomcat启动后, ...
随机推荐
- 【转】HashMap实现原理分析
1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端. 数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大.但数组的二分查找时间复杂度小,为O(1 ...
- MongoDB升级教程
1.排序 sort()方法:其中 1 为升序排列,而-1是用于降序排列. db.col.find({},{"title":1,_id:0}).sort({"likes&q ...
- struts配置文件和国际化
一.加载包struts2-core-2.3.24.1.jar struts-default.xml :各种栈 org.apache.struts2 -->> default.propert ...
- 一 APPIUM基本理论知识
1.APPIUM介绍 Appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web 应用和混合应用.所谓的“移动原生应用”是指那些用 iOS SDK 或者 A ...
- iOS 之 文件缓存
对于信息量不是太大的数据,可以使用文件缓存来处理.文件缓存可以缓存字典和数组. 步骤一:创建路径 路径要一级一级往下创建,基本不用考虑创建失败的情况.但是如果创建失败了要怎么做呢?按道理应该提示出来. ...
- 横向子菜单栏ul根据其子元素li个数动态获取宽度,并与父li绝对垂直居中的jquery代码段
;(function(window){ $('.menuitem').hover(function(){ $('>a',this).css('background-color ...
- jQuery 鼠标滚轮插件 jquery.mousewheel.js
jQuery Mousewheel Plugin,用于添加跨浏览器的鼠标滚轮支持.mousewheel事件的处理函数有一点小小的变化,它除了第一个参数event 外,还接收到第二个参数delta.通过 ...
- P2P之UDP穿透NAT的原理与实现
首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用.NAT分为两 ...
- Redis缓存数据之简单逻辑
并发不高的情况: 读: 读redis->没有,读DataBase->把DB数据写回redis,有的话直接从redis中取: 写: 写DataBase->成功,再写redis: 并发高 ...
- MySQL数据类型--日期时间
一.博客前言 自接触学习MySQL已有一段时间了,对于MySQL的基础知识还是略懂略懂的.在这一路学习过来,每次不管看书还是网上看的资料,对于MySQL数据类型中的时间日期类型总是一扫而过,不曾停下来 ...