3.在Tomcat上部署Servlet和JSP web应用程序
Tomcat的配置文件总是称web应用程序为context,Tomcat的主配置文件server.xml中有一个叫Context的XML元素,代表了web应用程序的配置。对每个显式配置的web应用程序,server.xml或分开的context XML片段,应有一个context元素。
为了在Tomcat中部署应用程序,必须在Host主机下部署。
常见的server.xml中有一个默认主机名localhost,该Host是默认的Host,也是唯一的Host。意味着进入Tomcat的HTTP请求都将映射到该主机上。
如要将应用程序部署到A.com主目录下,必须给A.com配置好Tomcat。仅需编辑server.xml。并查找到第一个定义<Host >XML元素,然后在它上面追加新的<Host>即可。
<Host name=”A.com” appBase=”webapps” unpackWARs=”true” autoDeply=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
</Host>
<Host name=”localhost” appBase=”webapps” unpackWARs=”true” autoDeply=”true” xmlValidation=”false” xmlNamespaceAware=”false”>
</Host>
若服务器请求A.com,还应改变<Engin>的默认主机名。在server.xml中:
<Engin name=”catalina” defaultHost=” A.com”>
Tomcat在运行时,支持无需重启而部署应用程序,也可解除对应用程序的部署:热部署。Hot Deployement
只需将host中的autoDeploy=true即可。为此,一般无需在启动时部署应用程序,此时将deployStartup=false,否则应用程序启动2次。
若采用编辑server.xml形式,则需重启Tomcat才会生效。
将Web应用程序部署在Tomcat可以采用2种形式:解包目录和War(Web application aRchive,应用程序归档文件)包。解包目录webappa的优点是类、XML、JSP都是单个文件,很容易判断哪个文件出错。
Tomcat固定了Web应用程序的布局,即War的文件格式和布局:
根目录下有index.jsp+WEB-INF,WEB-INF下有lib、classes、web.xml。其中lib用于存放Jar包,classes存放Java class文件,web.xml是部署描述文件,包含web应用程序的配置信息,该文件提供给servlet-mapping,设定servlet对应的URI。
Context部署
<Host name=”A.com” appBase=”webapps” unpackWARs=”true” autoDeply=”false” xmlValidation=”false” xmlNamespaceAware=”false”>
<Context docBase=”my-webapp” path=”/my-webapp”>
</Host>
Tomcat启动后,会在my-webapp”路径下查找web应用程序对应的目录,并部署到URI为/my-webapp的路径下。
然后可以采用http://locaohost:8080/my-webapp访问。
生成WAR文件的命令:jar –cvf X.war 打包目录,如.
在Java和Tomcat社区,Ant是自动部署的标准工具。
Ant自动运行其他程序,可以执行非Java程序。
Ant由Java编写,有可靠的JVM,执行其他的Java功能也会灰常迅速。
Ant会读入XML格式的构建(build.xml)文件,以寻找要执行的命令。build.xml包含一个项目的定义,及很多的target(类似于子程序),其中一个是默认的目标。
在Ant上可以用名字执行任何目标,默认执行run.
4.Tomcat性能调校
Web负载测试工具:apache Benchmark 、siege(命令行工具)、apache Jakarta、JMeter(图形界面)。
基于命令行的调校工具是ab。
Ab调试工具接受单一的URL,重复的按照我们制定的多独立线程的方式加载它,并使用各种不同的命令行参数来控制访问的次数、最大的并发访问次数。可以定期打印进度报告,输出十分详细的报告。
Ab –k –n 100000 –c 149 URL
用最多149个并发线程,执行URL100000次。
默认150个并发线程。
-k 是keep live,保持与Tomcat保持联机
同样的需求,siege的命令行是:
Siege –b –r 671 –c 149 tomacathost:8080
671*149≈100000
同种情况下优先使用ab。
JMeter:
运行图形界面:bin/jmeter
安全防护的关键部分是加密处理。
阻断私有或内部网络端口,避免公网访问是很重要的。使用系统的防火墙安全防护机制,能限制Tomcat访问连接的端口。在80端口上激活Tomcat需要root权限,停止服务却不要。
5.配置
Tomcat主要通过编辑文件及重启Tomcat来实现Tomcat配置。
Cong目录下的配置文件主要有:
Server.xml:Tomcat主配置文件
Web.xml:servlet配置文件
Tomcat-users.xml:Tomcat的UserDatabase Realm用于认证的默认角色、用户及密码清单
Catalina.policy:Tomcat的Java安全策略文件
Context.xml:应用于安装了Tomcat的所有主机的所有部署内容
Tomcat以面向对象的方式运作,在执行期间,基于配置文件的设定动态组建对象结构。Server.xml文件中的每个主要元素都会创建对象、排序。
Server代表tomcat自己,每个server.xml文件只有一个这个元素
Service:共享引擎Engin的连接器
Executor:一个或多个Connector的共享线程池
Connector:Web服务器
Engin:处理所有请求
Host:一台虚拟主机
Context:在Host配置一个web应用程序
Realm:设置用户和角色
相关推荐
【标题】:Tomcat学习笔记 【正文】: Tomcat是一款广泛应用的开源Web服务器和Java Servlet容器,由Apache软件基金会的Jakarta项目开发。它实现了Java Servlet和JavaServer Pages(JSP)规范,并且作为轻量级应用...
《Tomcat学习笔记》 Tomcat是一款开源的Java Servlet容器,是Apache软件基金会下的Jakarta项目中的核心项目,主要用于运行Java Web应用程序。本笔记将详细阐述Tomcat的安装、配置、虚拟主机设置、JDBC数据库连接池...
【标题】:Tomcat学习笔记 【描述】:Tomcat是一款广泛应用的开源Java Servlet容器,由Apache软件基金会下属的Tomcat项目开发维护。它主要用于部署和运行Java Web应用程序,包括Servlet和JSP。Tomcat以其轻量级、...
【Tomcat 学习精华笔记】 Tomcat 是一个广泛应用的开源服务器,主要用于托管Java Web应用程序。它虽然不是严格意义上的应用服务器,但作为一个Servlet容器,它能够处理Servlet和JSP,并且具备了一些应用服务器的...
【Tomcat7.0学习笔记】 Tomcat 7.0是Apache软件基金会的Jakarta项目下的一个开源Java Servlet容器,它实现了Java Servlet和JavaServer Pages(JSP)规范,为Web应用程序提供服务。本笔记主要涵盖了在Linux环境下...
Tomcat学习笔记,图片比较多,懒得写博客,先上传
### Tomcat 6 学习笔记 #### 一、Tomcat 6 平台搭建与配置 ##### 1. 下载与安装 Tomcat 6 是一个免费且开源的Servlet容器,由Apache软件基金会下的Jakarta项目开发。可以通过官方网站进行下载:...
### Tomcat 6 学习笔记 #### 一、Tomcat 6 平台搭建与配置 ##### 1. 下载与安装 Tomcat 6 是一个免费且开源的Servlet容器,由Apache软件基金会下的Jakarta项目开发。可以通过官方网站:...
### jBoss + Tomcat 学习笔记大全及帮助文档概览 #### 一、环境搭建与配置 在开始深入探讨jBoss与Tomcat的集成之前,我们先来了解如何搭建基本的开发环境。 ##### 1. Java 环境配置 - **安装 J2SDK1.4+ 和 J2...
【标题】"Tomcat学习笔记 - 使用JNDI数据源" 在Java应用服务器如Tomcat中,使用JNDI(Java Naming and Directory Interface)数据源是一种标准的方式,它允许我们集中管理和配置数据库连接,提高应用的可移植性和可...
云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-云的学习...
【标题】:Tomcat笔记 【内容】 Tomcat是一款由Apache软件基金会开发的开源Web服务器和Servlet容器,它是Java EE(现在称为Jakarta EE)的一部分,特别针对...希望这些笔记能为你的Tomcat学习之旅提供有价值的参考。
### Tomcat部署知识点详解 #### 一、概述 在IT领域中,Apache Tomcat是一款开源的Servlet容器,它能够提供对Servlet和Java...希望这份“Tomcat部署笔记”能够帮助大家顺利完成部署任务,为后续的学习打下坚实的基础。
【标题】:“Web学习笔记——Tomcat” 在Web开发领域,Tomcat是一个广泛使用的Java Servlet容器,它实现了Java EE中的Web部分,特别是Servlet和JSP规范。Tomcat以其开源、轻量级和高效的特性,成为了许多小型项目和...
【如何使用Tomcat——学习笔记】 Tomcat是一款广泛使用的开源Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP规范。本教程将详细解释如何配置和使用Tomcat,以便于开发和测试Servlet应用。 1. **...
【Java学习笔记】这篇学习笔记主要涵盖了Java开发中的一些基础操作和配置,特别是使用Eclipse作为IDE,结合Tomcat服务器进行Servlet和JSP开发时的关键点。以下是对这些知识点的详细说明: 1. **Eclipse快捷键配置**...