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++中vector使用
不多说,先看代码: #include <IOSTREAM> #include <VECTOR> using namespace std; int main() { cout&l ...
- [转]六款常用的linux C/C++ IDE
之前在windows下开发习惯啦,linux改用vim开发代码,但是前期还是不熟悉看代码效率感觉有点低.由于看代码需要各种跳转查找我个人觉得还是IDE方便些,以前在windows下就挺喜欢使用code ...
- php连接mysql数据库(新浪云SAE)
新浪云提供了免费的创建服务器端应用的服务.网址为:https://www.sinacloud.com/ 在上面创建好应用,然后在本地使用记事本编写应用的代码如下: <?php echo &quo ...
- 通过非root用户访问VNC
我采用的是realvnc5.3.2.对于非root用户通过vnc访问linux桌面,网络上绝大数文章都是说要去配置/etc/sysconfig/vncservers.但安装完realvnc5.3.2之 ...
- 部分网站允许空白referer的防盗链图片的js破解代码
Reference: http://www.114390.com/article/27125.htm Javascript源码: 复制代码代码如下: function showImg( url ) { ...
- 已知从BUF开始存放了10个字类型有符号数据,编程求出这10个数中的最大数和最小数(将最大数存入MAX字单元、最小数存入MIN字单元),并将其以10进制数的形式在屏幕上显示出来。
data segment pmax db 0dh,0ah , 'MAX : ','$' pmin db 0dh,0ah , 'MIN : ','$' buf ...
- EF的 JOIN操作
ef join 用法 var customers = DB.Customer.Join(DB.Commission, cst => cst.CommissionId, ...
- 编写PHP规则
PHP是运行在服务器端的语言,可以动态生成html页面.这篇博客介绍它的一些编码规则. 一.基本规则 1.PHP代码总是用<?php和?>包围,例如 <?php echo " ...
- 用编程的方式定义UI界面
package com.example.administrator.test_hello_world; import android.app.Activity; import android.os.B ...
- 后端数据库使用 Bomb方案
不再需要阿里云进行部署: http://docs.bmob.cn/ios/faststart/index.html?menukey=fast_start&key=start_ios