1. 环境变量
tomcat 就是一个java程序,必须用到 jre,所以需要配置环境变量 java_home= c:\jdk1.6
tomcat的启动是通过 startup.bat 文件, 实际上 startup.bat 中是去调用catalina.bat 文件, 而且是通过 %catalina_home%\bin\catalina.bat 去找
所以为了保证服务器启动正常, 需要配置 catalina_home 环境变量为 tomcat的安装目录。
注:如果硬盘里有多个服务器程序,当你运行statup.bat时,真正决定启动哪个服务的是catalina.bat里配置的路径
2. 目录结构
bin目录存放一些启动运行Tomcat的可执行程序和相关内容。
conf存放关于Tomcat服务器的全局配置。
lib目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。
wabapps目录是默认的站点根目录,可以更改。
work目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果。
其他目录和文件暂时不做介绍。
3. 请求的格式定义
url (用于定位网络上的资源的唯一地址): http://localhost:8080/ROOT/index.jsp
协议类型 (同类型还有mail..): http
hosts (主机名) : localhost
端口号(决定由服务器上哪个程序响应, http默认的端口号80):8080
如http://www.baidu.com/ 表示用http协议向域名为baidu.com下的www主机发送请求。
注:一个域名下可以约束多个主机,如邮件服务地址http://mail.baidu.com,域名需要购买。
4. 服务端口的配置
开发默认的端口号是8080, 正式发布后,肯定不会让用户在域名后加上:8080才能访问到资源,因此需将服务端口修改成http协议默认的端口80.
打开%TOMCAT_HOME%(以下代指Tomcat的安装路径)下的conf目录下的server.xml文件,找到下面一段代码,知道怎么做了吧。
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="utf-8" connectionTimeout="20000" redirectPort="8443" />
5. web应用配置
何为web应用,web应用就是用户真正想访问到的页面资源,也是开发人员想让用户看到的东西,由js, css, html, 支持jar包等组成。那怎么才能让用户从外界能够访问到
web应用呢?很简单,只要把web应用交给服务器管理就可以实现了,而交给服务器管理就需要对服务器进行一定的配置。
1)在 conf/server.xml里配置Context, 不推荐这种方法,因为这种配置方法只有在重启tomcat才生效。
-<Host name="localhost" autoDeploy="true" unpackWARs="true" appBase="webapps"> <Context path="/myweb" docBase="d:\news" /> </Host>
有了上述配置后,位于d:\news下面的页面资源都可以通过http://localhost:8080/myweb/xxx.html这样的请求格式访问.
注:path = ""时该应用为服务器的默认应用
2)在conf/context.xml里进行配置, 这种方法配置的资源会被所有的web应用共享
3)In the /conf/[enginename]/[hostname]/context.xml.default
file: the Context element information will be loaded by all web applications of that host. 与第2种有点区别,这种限定了主机
4)In individual files (with a ".xml" extension) in the $CATALINA_BASE/conf/[enginename]/[hostname]/
directory. The context path and version will be derived from the base name of the file (the file name less the .xml extension). This file will always take precedence over any context.xml file packaged in the web application‘s META-INF directory.(不用重启服务器)
翻译成中文就是:在$CATALINA_BASE/conf/[enginename]/[hostname]/
下任意创建一个xml文件,并在里面配置context元素就可以让服务器将指定的路径纳入管理范围,文件名就是访问路径中的虚拟路径部分,多级目录用#隔开,现在假设在该目录下有一个名为a#b.xml的文件,内容如下:
<Context docBase="d:\news" />
http访问格式为:http://localhost:8080/a/b/xxx.html(xxx为资源页面的文件名)
如果将a#b.xml改成ROOT.xml,这个就是表明它是默认的web应用,这个时候http://localhost:8080就看不到原来的tomcat自带的文档说明了,现在想要访问d:\news下面的资源,只需这样 http://localhost:8080/xxx.html(直接跟在端口号后面)
5)最简单的一种方式,把资源文件直接丢到 \apache-tomcat-7.0.54\webapps目录下,无需任何配置服务器会自动将该目录下的资源纳入入理范围。