简述
大部分入了 Java 开发这个坑的朋友,都需要把自己的网站发布到 Web 服务器上,相信也听过 Tomcat 的鼎鼎大名。Tomcat 是由 Sun 公司软件架构师詹姆斯·邓肯·戴维森开发的 Web 应用服务器(作者是不是《猫和老鼠》的影迷?),由于它开源免费、技术先进、稳定性好而深受 Java 爱好者的喜爱,在中小型系统和并发访问不是很多的场合中被普遍使用。
关于 Tomcat,我本人也一直是只闻其名,未见其人(本人之前是 .NET 开发),最近因为项目需要,使用了一段时间,现在系统的整理一下,共享出来,与诸君共勉,不足之处,欢迎指正!
安装与配置
大家可以在官网上下载需要的 tomcat 版本,本文以 tomcat 7.0.57 在 windows 下的安装为例。
下载压缩包解压后即可,一般来讲,解压完成后 Tomcat 就可以用了,但是网上还有很多关于 Tomcat 环境变量配置的文章,这里也顺便讲一下(如果你需要使用到多个 Tomcat 版本,建议最好不要配):
- 新建变量名:“CATALINA_BASE”和“CATALINA_HOME”赋值为“D:Runtime omcat_7.0.57”;
- PATH 变量后追加变量值:“%CATALINA_HOME %lib;%CATALINA_HOME %bin”。
目录结构
Tomcat 解压完成后,打开文件夹可以看到如下图所示的文件结构:
那么这些目录的作用如下:
- /bin:存放用于启动和关闭 Tomcat 的可执行程序及其相关内容;
- /conf:存放 Tomcat 服务器的配置文件;
- /lib: 存放 Tomcat 运行所需的 jar 包;
- /logs:存放 Tomcat 运行时生成的日志文件;
- /temp:存放 tomcat 的临时文件;
- /webapps:存放的是我们开发的 web 应用;
- /work: 存放 JSP 编译后产生的 class 文件;
运行应用
进入到 tomcat 的 bin 目录下,点击 startup.bat 即可运行 tomcat 应用,出现下图所示界面即表示运行成功。
运行成功后,可以在浏览器中访问 http://localhost:8080/ 就能够进入 tomcat 的欢迎界面啦。
发布网站
现在,我们通过一个简单的示例,演示一下如何发布和访问一个 tomcat 站点。
首先,我们需要新建一个 html 页面,将其命名为 hello.html 放置在 welcome 文件夹下;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Welcome</title> </head> <body> Hello world! </body> </html>
然后,将 welcome 文件夹拷贝到 tomcat 的 webapps 文件夹下(前面我们已经提到过这个文件夹下是用于存放我们开发的 web 应用);
接着,我们需要修改一点配置,进入到 tomcat 的 conf 文件夹下,打开 server.xml 文件,找到 Host 节点,在其中追加 <Context path="" docBase="/welcome" /> 配置:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> <Context path="" docBase="/welcome" /> </Host>
最后,运行 tomcat 后,即可在浏览器中通过 http://localhost:8080/hello.html 访问到我们发布的网站了,至于为什么要修改 server.xml 中的配置节点,这个会在后续的文章中说明。