本文采用的Tomcat服务器版本是Tomcat8.5版本,Tomcat8.5支持Servlet3.1、JSP2.3以及EL3.0规范。并且Tomcat8.5版本对JDK8的支持比Tomcat8更加全面。因为我们一般使用Windows系统进行开发,所以本节将引导大家下载并安装windows版本的Tomcat服务器,以及启动Tomcat服务器并进行测试。最后,为了在开发时方便进行测试,我们会在Eclipse开发工具中集成Tomcat。

Tomcat介绍

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

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试程序的首选。

Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

Tomcat最初是由Sun的软件构架师詹姆斯·邓肯·戴维森开发的。后来他帮助将其变为开源项目,并由Sun贡献给Apache软件基金会。由于大部分开源项目O'Reilly都会出一本相关的书,并且将其封面设计成某个动物的素描,因此他希望将此项目以一个动物的名字命名。因为他希望这种动物能够自己照顾自己,最终,他将其命名为Tomcat(英语公猫或其他雄性猫科动物)。而O'Reilly出版的介绍Tomcat的书籍的封面也被设计成了一个公猫的形象。而Tomcat的Logo兼吉祥物也被设计成了一只公猫。

下载Tomcat

下载Windows版本的Tomcat服务器步骤如下:

●  打开浏览器,在地址栏中输入Tomcat服务器的官方网站:http://tomcat.apache.org。在网页左侧的Download列表中有Tomcat的各种版本,点击Tomcat 8超链接,进入到Tomcat 8的下载页面。如图1.5所示。

图1.5  Tomcat官网网站

●  在Tomcat 8的下载页面中,找到8.5.33(本书编写时Tomcat 8.5的最新版本号是8.5.33,但是未来网页中的版本号可能会与本书中显示的不一致)下的Core节点,在Core节点下包含了Tomcat 8.5服务器安装文件的不同平台下的不同版本。我们选择zip压缩版的Tomcat,点击“zip”即可进行下载。下载完成后是一个zip格式的压缩文件,将其解压缩到任意目录即可使用,无需安装。如图1.6所示。

图1.6  下载压缩版的Tomcat 8.5服务器安装文件

测试启动Tomcat服务器

下载压缩版的Tomcat服务器安装文件后,将其解压缩到磁盘中的任意位置,双击安装目录中bin目录下的startup.bat(注意,文件名的后缀是.bat而不是.sh,.sh是Linux系统上的脚本文件)文件即可启动Tomcat服务器。如图1.7所示Tomcat的启动和停止脚本文件。

Tomcat的启动和停止脚本

启动Tomcat服务器后,会弹出Tomcat的控制台,在控制台中滚动显示了Tomcat启动时的进度(如果启动失败,或者点击启动脚本后控制台一闪就消失了,请参照下一章节,1.5.4 Tomcat服务器启动常见问题进行解决)。如图1.8所示。

Tomcat启动成功时控制台输出的信息

当Tomcat启动成功后,我们需要在浏览器中访问http://localhost:8080,如果浏览器显示如图1.9所示的页面,表示Tomcat服务器启动成功。

图1.9  Tomcat启动成功后在浏览器中访问http://localhost:8080

Tomcat启动常见问题

导致Tomcat服务器无法正常启动的原因一般来说就是如下的两个。

●  JAVA_HOME环境变量设置问题

要想使用启动脚本(startup.bat)启动Tomcat服务器,首先要做的就是在Windows中设置JAVA_HOME环境变量,因为Tomcat服务器的启动需要用到这个JAVA_HOME环境变量,如果Windows中不存在JAVA_HOME环境变量,则Tomcat服务器是无法启动的(Tomcat控制台一闪就消失)。将JDK的安装目录路径添加进JAVA_HOME环境变量即可解决。

●  Tomcat端口占用问题

因为Tomcat服务器默认使用的是8080端口,如果这个8080端口被其它的程序占用了,那么Tomcat服务器就会无法正常启动,现象就是Tomcat控制台中显示了一些信息然后就自动关闭了。

由于这个控制台窗口从启动到关闭的时间非常短,我们很难通过这个窗口看到Tomcat启动时的报错异常信息,因此我们一般只能通过Tomcat服务器记录的log(日志)信息去查看Tomcat服务器的运行情况。在Tomcat服务器的安装目录下有一个logs文件夹。在该文件夹下是Tomcat服务器全部的日志文件。如图1.10所示。

图1.10  Tomcat服务器的日志文件

打开catalina.2018-08-27.log(该文件是作者Tomcat启动失败时的Tomcat日志文件,读者需要根据自己目前的日期打开相应的文件,如2018年8月27日Tomcat启动失败,则需要找到catalina.2018-08-27.log文件进行查看),显示如图1.11所示的日志记录。

图1.11  Tomcat部分日志记录

日志信息里面清楚的记录了Tomcat服务器的运行情况,如果因为8080端口被占用而无法正常启动,就会记录如图1.11所示的异常信息,此时我们需要修改Tomcat的默认端口为自定义端口号。

Tomcat服务器端口的配置

Tomcat的所有配置文件都放在conf文件夹之中,里面的server.xml文件是Tomcat配置的核心文件。如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改。

例如:将Tomcat服务器的启动端口由默认的8080改成8081端口。

Tomcat服务器启动端口默认配置:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

将Tomcat服务器启动端口修改成8081端口:

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

这样就把原来默认Tomcat默认的的8080端口改成了8081端口了,需要注意的是,一旦服务器中的*.xml配置文件改变了,则Tomcat服务器就必须重新启动,重新启动之后将重新读取新的配置信息。

Tomcat的目录结构

Tomcat服务器文件解压缩成功后,将会出现7个文件夹。Tomcat目录下的文件结构如下图1.12所示。

图1.12  Tomcat服务器目录结构

其中每个文件夹的作用如下:

●  bin文件夹保存的是Tomcat启动与监控Tomcat的命令文件。

●  conf文件夹保存的是Tomcat的配置文件。

●  lib文件夹保存的是Web应用程序能访问的JAR包文件。

●  logs文件夹保存的是Tomcat的日志文件。

●  temp文件夹保存的是Tomcat的临时文件。

●  webapps文件夹是Tomcat默认的Web应用程序发布目录。

●  work保存各种由JSP文件生成的Servlet文件。

在Eclipse中配置Tomcat服务器

我们可以在Eclipse中配置一个Tomcat服务器,这样我们编写的代码就可以通过Eclipse中的Tomcat服务器来进行测试了。

1)首先打开Eclipse,如图1.13所示,选择并打开JavaEE视图。

图1.13  打开Eclipse中的JavaEE视图

2)选择Servers透视图,在Servers透视图中点击No servers are available.Click this link to create a new server...新建一个服务器。如图1.14所示。

图1.14  Server透视图

注意,Eclipse在使用中界面可能会发生改变,某些透视图会被关闭,如果找不到servers透视图或其他界面,可以按照如图1.15所示的方法恢复初始界面设置。

图1.15  恢复Eclipse初始界面

3)在弹出的对话框中找到Apache—Tomcat v8.5 Server(因为我们下载的是Tomcat8.5版本,如果下载的是Tomcat8.0版本请选择Tomcat v8.0 Server),然后点击Next。如图1.16所示。

4)点击Next按钮后,在新的对话框中设置Tomcat的安装路径和JRE运行时环境,然后点击Finish。如图1.17所示。

图1.16  New Server界面

图1.17  配置Tomcat服务器路径和JDK路径

5)再次回到Servers透视图,双击Tomcat v8.5 Server at localhost,然后在弹出的界面中对Tomcat服务器的一些参数进行修改。如图1.18所示。

6)测试Tomcat服务器,使用鼠标右击Tomcat v8.5 Server at localhost,在弹出的菜单中选择start选项启动服务器。如图1.19所示。

Tomcat启动时,会在Eclipse中的console透视图下滚动显示Tomcat启动时的进度。如图1.20所示。

图1.18  在Eclipse中对Tomcat进行配置

图1.19  在Eclipse中启动Tomcat服务器

图1.20  Eclipse控制台显示Tomcat启动成功

7)等待服务器启动完成后,打开浏览器,输入localhost:8080来检查服务器是否启动成功。如图1.21所示。

图1.21  Tomcat启动成功后在浏览器中访问http://localhost:8080

8)如图1.22所示,使用Eclipse修改Tomcat启动时端口号。

使用Eclipse修改Tomcat服务器端口号

IT兄弟连 Java Web教程 Tomcat的更多相关文章

  1. IT兄弟连 Java Web教程 经典面试题

    1.什么是B/S结构?什么是C/S结构? B/S是Browser/Server的缩写客户机上只要安装—个浏览器(Browser)加Netscape Navigator或Internet Explore ...

  2. IT兄弟连 Java Web教程 Web开发的相关知识

    Web基本概念 Web,是环球信息网的缩写,也称作“WWW.W3”,英文全称为World Wide Web,中文名成为万维网,常简称为Web.Web分为Web客户端和Web服务器程序.Web可以让We ...

  3. IT兄弟连 Java Web教程 经典案例2

    案例需求:写一个用户登录的html页面有账号和密码,并在登录的Servlet中获取登录的账号和密码,如果账号是abc密码是123则向浏览器输出登录成功,否则向浏览器输出登录失败. 案例实现: ●  h ...

  4. IT兄弟连 Java Web教程 经典面试题2

    1.Servlet的工作流程? Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找.创建以及整个生命周期的管理,Servlet整个生命周期可以分为四个阶段 ...

  5. IT兄弟连 Java Web教程 Servlet的生命周期

    JavaWeb应用的生命周期由Servlet容器来控制,而Servlet作为JavaWeb应用的最核心的组件,其生命周期也由Servlet容器来控制.Servlet的生命周期可以分为3个阶段:初始化阶 ...

  6. Java Web教程——检视阅读

    Java Web教程--检视阅读 参考 java web入门--概念理解.名词解释 Java Web 教程--w3school 蓝本 JavaWeb学习总结(一)--JavaWeb开发入门 小猴子mo ...

  7. java web服务器tomcat介绍【转载】

    机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...

  8. java java web及tomcat的使用

     java web及tomcat的使用 一.什么是java web: 参考百度百科: http://baike.baidu.com/link?url=HnaWXFD7wFfPAlFMW02GV6r5p ...

  9. Web —— java web 项目 Tomcat 的配置 与 第一个web 项目创建

    目录: 0.前言 1.Tomcat的配置 2.第一个Web 项目 0.前言 刚刚开始接触web开发,了解的也不多,在这里记录一下我的第一个web项目启动的过程.网上教程很多,使用的java IDE 好 ...

随机推荐

  1. Flex事件机制学习-自定义事件实现类间通信 .

    今天,学习Flex自定义事件,可以使两个类通信,定义一个Main类. public class Main extends Sprite     {            public function ...

  2. 探索Scala(3)-- 单例对象

    研究一下Scala语言的单例对象(Singleton Objects),为下一篇文章做准备. static不是keyword 上一篇文章提到过,interface并非Scala语言keyword,能够 ...

  3. 20170228 Z_po_send_email

    FUNCTION zmm_po_send_email. function zmm_po_send_email. *"------------------------------------- ...

  4. spring boot 打印sql

    配置: logging.level.gov.chinatax.ctims.dao.mapper=DEBUG or logging: level: gov.chinatax.ctims.dao.mapp ...

  5. POJ 2017 Speed Limit (直叙式的简单模拟 编程题目 动态属性很少,难度小)

                                                                                                      Sp ...

  6. POJ1321 棋盘问题 —— DFS回溯

    题目链接:http://poj.org/problem?id=1321 棋盘问题 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions ...

  7. javascript 树形菜单

    1. [代码][JavaScript]代码     var ME={ini:{i:true,d:{},d1:{},h:0,h1:0,h2:0},html:function(da,f){var s='& ...

  8. Android ViewDragHelper及移动处理总结

    概述 2013年谷歌i/o大会上介绍了两个新的layout: SlidingPaneLayout和DrawerLayout,现在这俩个类被广泛的运用.我们知道在我们实际的开发中往往会涉及到很多的拖动效 ...

  9. linux:在vmware上模拟新加一个硬盘对其格式化分区

    在实际情况中,很容易有系统硬盘空间不够,然后需要添加新硬盘情况:这里我用vmware来模拟实验: 一:在一个Linux vmware上创建一个虚拟硬盘   1.打开vmware,选择一个已经搭建好的l ...

  10. Oracle:手工建库

    今天学习了小布老师的手工建库视频,自己也做了一遍,下面是创建过程记录: 本地环境oracle10.2.0.1 一.前期准备工作 1.设置环境变量 [oracle@app dbs]$ vi bbk.en ...