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启动后, ...
随机推荐
- c#中怎么求百分比
string Scorepercent = (lowScoreNum*1.0/ ScoreNum).ToString("P");//百分比 ToString("P&quo ...
- PHP利用数组构造JSON
问题起因 以往都是直接用构造数组的形式构造json 例子: $arr = array("A"=>"1","B"=>"2 ...
- scrapy setting 备注
scrapy 脚本里面设置输出文件: process = CrawlerProcess(settings) process.settings.set('FEED_URI', 'wangyi.csv', ...
- Zju1290 Word-Search Wonder(http://begin.lydsy.com/JudgeOnline/problem.php?id=2768)
2768: Zju1290 Word-Search Wonder Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 4 Solved: 2[Submit] ...
- 10-instanceof
在Java中可以使用instanceof关键字判断一个对象到底是不是一个类的实例 package com.example; class A{ void tell1(){ System.out.prin ...
- NSBundle介绍
原文:http://blog.sina.com.cn/s/blog_8c87ba3b0100t89v.html bundle是一个目录,其中包含了程序会使用到的资源. 这些资源包含了如图像,声音,编译 ...
- post请求时2种传参方式
@Testpublic void dopost(){ String httpurl = "https://jin.caimao.com/api/user/loginSalt"; M ...
- centos 修改/etc/fstab后无法启动
今天做实验,增加了一个磁盘sdb1,而且也增加了自动挂载的功能/etc/fstab里增加了记录. 重新启动服务器的时候,系统启动不了了. 系统提示: 按提示 输入 root的密码,进入以Repair ...
- Android开发:View的几种布局及实践
引言 View的布局显示方式有下面几种:线性布局(Linear Layout).相对布局(Relative Layout).表格布局(Table Layout).网格视图(Grid View).标签布 ...
- 2.6. 类型(Core Data 应用程序实践指南)
单精度浮点数与双精度浮点数:创建NSManagedObject紫雷师,如果实体中单精度或双精度浮点数类型,那么在子类里,相关特性的类型是NSNumber. 小数:涉及货币时,建议设置为小数(decim ...