微信号:grzlwx

介绍:光荣之路官方资讯

Tomcat入门

2015-05-19 22:35 光荣之路




Tomcat作为一名开发人员来说已经是再熟悉不过了,我们几乎每天都会与其打交道,无论是测试还是开发,甚至是生产环境。然而我相信大部分开发和测试人员仅仅是使用Tomcat,对其更深层次的研究寥寥无几,其实我也一样。

没关系!我们从基础开始系统的学习一下Tomcat的使用及高级应用。


1.Tomcat是什么?

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。

Tomcat在严格意义上并不是一个真正的应用服务器,它只是一个可以支持运行Serlvet或JSP的Web容器,不过Tomcat也扩展了一些应用服务器的功能,如JNDI,数据库连接池,用户事务处理等等。

Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,目前Tomcat被非常广泛的应用在中小规模的Java Web应用中。

2.Tomcat的下载

Apache Tomcat官网:http://tomcat.apache.org/
从官网可以下载最新版本的Tomcat,也可以查看该版本对应的文档教程:

选定所需版本后(以8.0为例), 点击Tomcat主页左部导航栏中的“Download”下“Tomcat 8.0”链接,进入Tomcat 8的下载页面。

下载页面中,Tomcat又分可执行文件版和源代码版,正常情况下我们只需要下载可执行文件版中Croe所列即可(默认的本文已最新的Tomcat 8.0.21为例)。我们还可以根据不同的操作系统或需求下载不同的版本。

在下载链接的Core列表中列出了不同版本的Tomcat应用,如图:

一般情况下只需要下载zip或tar压缩版即可,类似与绿色免安装版。

3.Tomcat目录结构

下载解压缩之后,会呈现如下目录结构。

Tomcat目录结构:

apache-tomcat-8.0.21
|--bin 存放启动和关闭等相关脚本
|--conf 存放相关配置文件(server.xml和web.xml等)
|--doc 存放Tomcat文档(需下载)
|--lib 存放Tomcat运行需要的库文件(jar文件)
|--logs 存放Tomcat执行时产生的log文件
|--src 存放Tomcat的源代码(需下载)
|--webapps Web应用默认发布目录(默认包含Tomcat示例)
|--work 存放Tomcat工作产生的class文件


以下是几个重要目录的简单介绍:
bin:存放的是Tomcat的启动、停止、调试等bat、sh可执行文件,.bat文件对应于windows系统,.sh文件对应于Linux系统,如:startup.sh、version.sh。
conf:用于存放Tomcat的各种配置文件,如权限相关,服务器配置相关等。
lib:放置Tomcat运行所需的jar包和Tomcat的相关类库,我们也可以将公用jar包复制到lib下
logs:Tomcat运行时产生的日志文件默认放置在此文件夹中,例如:catalina.out
webapps:Web应用的程序默认放置目录,新下载的Tomcat会包含示例,可以根据情况删除
work:由Tomcat自动生成,work文件是Tomcat运行期间的中间(intermediate)文件(诸如编译的JSP文件)放置的地方。一般情况下重启Tomcat时需要删除此文件下所有内容,已防止缓存的情况。

Tomcat相关的目录结构基本已经清晰,更深入的内容将在后面一起学习。

4.Tomcat的启动

1)Tomcat启动需要Java的支持,所以在启动前需要检查下Java环境配置:


  1. echo $JAVA_HOME(Linux下)

  2. 显示结果:/usr/java/jdk1.7.0_67

  3. echo %JAVA_HOME%(Windows下)

  4. 显示结果:C:\Program Files\Java\jdk1.7.0_67

2)在命令行状态下进入Tomcat/bin目录下,运行启动脚本:


  1. ./startup.sh(Linux下)

  2. 显示结果:

  3. Using CATALINA_BASE: /usr/local/apache-tomcat-8.0.21

  4. Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.21

  5. Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.21/temp

  6. Using JRE_HOME: /usr/java/jdk1.7.0_67

  7. Using CLASSPATH: /usr/local/apache-tomcat-8.0.21/bin/bootstrap.jar

  8. startup.bat(Windows下)

  9. 显示结果:

  10. Using CATALINA_BASE: "D:\apache-tomcat-8.0.21"

  11. Using CATALINA_HOME: "D:\apache-tomcat-8.0.21"

  12. Using CATALINA_TMPDIR: "D:\apache-tomcat-8.0.21\temp"

  13. Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_67"

  14. Using CLASSPATH: "D:\apache-tomcat-8.0.21\bin\bootstrap.jar"

3)启动成功后通过浏览器进入http://localhost:8080/地址进行验证,如果显示Tomcat的默认欢迎页面表示启动成功!

显示如下画面表示已经成功启动:



4)如果没有显示Tomcat默认首页,说明Tomcat启动失败,此时需要查看一下Tomcat的日志,进入Tomcat的logs目录,在 Windows下用记事本等工具直接打开catalina.out 文件即可;Linux下可以使用tail -行数 catalina.out命令查看。

发现在启动过程中,Tomcat报如下错误:


  1. Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : Unsupported major.minor version 51.0

  2. at java.lang.ClassLoader.defineClass1(Native Method)

  3. at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

  4. at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

  5. at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)

  6. at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)

  7. at java.net.URLClassLoader.access$000(URLClassLoader.java:58)

  8. at java.net.URLClassLoader$1.run(URLClassLoader.java:197)

  9. at java.security.AccessController.doPrivileged(Native Method)

  10. at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

  11. at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

  12. at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

  13. at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

  14. Could not find the main class: org.apache.catalina.startup.Bootstrap. Program will exit.

这说明你所安装的JDK版本低于1.7,只需要升级至1.7或更高即可。

5.关闭Tomcat

关闭Tomcat只需要调用shutdown.sh或shutdown.bat脚本即可,调用方法与启动相同:


  1. shutdown.bat(Windows下)

  2. 显示结果:

  3. Using CATALINA_BASE: "D:\apache-tomcat-8.0.21"

  4. Using CATALINA_HOME: "D:\apache-tomcat-8.0.21"

  5. Using CATALINA_TMPDIR: "D:\apache-tomcat-8.0.21\temp"

  6. Using JRE_HOME: "C:\Program Files\Java\jdk1.7.0_67"

  7. Using CLASSPATH: "D:\apache-tomcat-8.0.21\bin\bootstrap.jar;D:\apache-tomcat-8.0.21\bin\tomcat-juli.jar"

  8. shutdown.sh(Linux下)

  9. 显示结果:

  10. Using CATALINA_BASE: /usr/local/apache-tomcat-8.0.21

  11. Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.21

  12. Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.21/temp

  13. Using JRE_HOME: /usr/java/jdk1.7.0_67

  14. Using CLASSPATH: /usr/local/apache-tomcat-8.0.21/bin/bootstrap.jar;/usr/local/apache-tomcat-8.0.21/bin/tomcat-juli.jar

如果关闭失败,Tomcat会额外显示关闭失败的信息,这些信息也可以在日志文件catalina.out 末尾找到。

本篇文章旨在让大家了解Tomcat,更多深入内容会在后面有针对性的讲解。

(作者:g21121 来源:http://286.iteye.com/blog/2210887)

光荣之路软件测试培训

官网:http://www.gloryroad.cn/

微信公众号:gloryroadtrain

性能测试QQ群:415987441
软件测试招聘QQ群: 203715128
自动化3群QQ: 371211499












 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 一张图看懂攻陷苹果的木马:xCodeGhost是个什么鬼! 微信开平携腾讯云分析上线报表功能 数据分析第一步 | 做好数据埋点 最具争议的数学事实,各位技术大牛你答对了吗? 如何测试存储(下)