这些文件可能是以目录的形式存放,也可能会打包成各种归档格式的文件,如jar、war等。但jsp有规定,在web应用程序的根目录下,一般要有下面几个目录:
/WEB-INF:此webapp的私有资源目录,从浏览器上是无法访问此目录资源的,通常web.xml和context.xml均放置于此目录
/WEB-INF/classes:此webapp自有的类
/WEB-INF/lib:此webapp自有能够打包为jar格式的类
/META-INF:并非标准的webapp目录,有的应用程序才有。当该应用程序想独立定义自己的context.xml时可放入此目录,也是私有目录。
每个webapp要想被tomcat加载,一种方法是程序目录放在$catalina.home/webapps下,另一种方式是配置该webapp相关的context配置,使tomcat能找到此webapp。之所以可以直接放在$catalina.home/webapps下,是因为默认的localhost虚拟主机的appBase="webapps",该目录下的所有内容它都可以自动查找,不过要注意,此时要想访问此webapp只能通过虚拟主机是localhost。
简单部署示例:
(1)对于war类归档程序:将归档文件复制到$CATALINA_BASE/webapps/目录中,并重启tomcat即可,tomcat会自动展开war归档。例如官方提供了一个sample.war作为tomcat学习初级示例( https://tomcat.apache.org/tomcat-8.5-doc/appdev/sample/sample.war ),下载后只需将其放入webapps下即可。
(2)在程序的开发过程中,很多时候是未归档程序,这时可以手动创建目录来实现部署。需要创建的目录有webapps/yourapp,此目录下还要创建WEB-INF目录,在WEB-INF目录中还要创建classes和lib目录。然后将jsp文件放在对应目录下即可,如写一个测试的index.jsp放在yourapp目录下。
5. tomcat配置文件server.xml详解tomcat配置文件中配置的是各个组件的属性,全局配置文件为$CATALINA_HOME/conf/server.xml,主要的组件有以下几项:Server,Service,Connector,Engine,Host,Alias,Context,Valve等。配置完配置文件后需要重启tomcat,但在启动后一定要检查tomcat是否启动成功,因为即使出错,很多时候它都不会报错,可从监听端口判断。
配置方法见官方手册,在页面的左边有各个组件的链接。
tomcat的配置文件都是xml文件,以下是xml文件的常见规则:
文件第一行设置xml标识,表示该文件是xml格式的文件。例如<?xml version="1.0" encoding="UTF-8"?>。
xml文件的注释方法为<!-- XXX -->,这可以是单行注释,也可以多行注释,只要前后注释符号能对应上,中间的内���都是注释。
定义属性时有两种方式:单行定义和多行定义。例如:
<!-- 单行定义的方式 --> <NAME key=value /> <!-- 多行定义的方式 --> <NAME key=value> </NAME>下面个组件的配置中有些地方使用了相对于$CATALINA_BASE的相对路径,它和$CATALINA_HOME小有区别。如果只有一个tomcat实例,则它们是等价的,都是tomcat的安装路径。如果有多个tomcat实例,则$CATALINA_HOME表示的是安装路径,而$CATALINA_BASE表示的是各实例所在根目录。关于tomcat多实例,见running.txt中对应的说明。
5.1 顶级元素serverserver组件定义的是一个tomcat实例。默认定义如下:
<Server port="8005" shutdown="SHUTDOWN"> </Server>