IT兄弟连 Java Web教程 Tomcat
本文采用的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的更多相关文章
- IT兄弟连 Java Web教程 经典面试题
1.什么是B/S结构?什么是C/S结构? B/S是Browser/Server的缩写客户机上只要安装—个浏览器(Browser)加Netscape Navigator或Internet Explore ...
- IT兄弟连 Java Web教程 Web开发的相关知识
Web基本概念 Web,是环球信息网的缩写,也称作“WWW.W3”,英文全称为World Wide Web,中文名成为万维网,常简称为Web.Web分为Web客户端和Web服务器程序.Web可以让We ...
- IT兄弟连 Java Web教程 经典案例2
案例需求:写一个用户登录的html页面有账号和密码,并在登录的Servlet中获取登录的账号和密码,如果账号是abc密码是123则向浏览器输出登录成功,否则向浏览器输出登录失败. 案例实现: ● h ...
- IT兄弟连 Java Web教程 经典面试题2
1.Servlet的工作流程? Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找.创建以及整个生命周期的管理,Servlet整个生命周期可以分为四个阶段 ...
- IT兄弟连 Java Web教程 Servlet的生命周期
JavaWeb应用的生命周期由Servlet容器来控制,而Servlet作为JavaWeb应用的最核心的组件,其生命周期也由Servlet容器来控制.Servlet的生命周期可以分为3个阶段:初始化阶 ...
- Java Web教程——检视阅读
Java Web教程--检视阅读 参考 java web入门--概念理解.名词解释 Java Web 教程--w3school 蓝本 JavaWeb学习总结(一)--JavaWeb开发入门 小猴子mo ...
- java web服务器tomcat介绍【转载】
机器矩阵2016-08-10 22:14 java程序员亲切地称他为tom猫,看到这只猫可以说明1 服务器部署成功了 ,2 网络是联通的. 到底这只猫是什么来头呢? tomcat是Apache基金会下 ...
- java java web及tomcat的使用
java web及tomcat的使用 一.什么是java web: 参考百度百科: http://baike.baidu.com/link?url=HnaWXFD7wFfPAlFMW02GV6r5p ...
- Web —— java web 项目 Tomcat 的配置 与 第一个web 项目创建
目录: 0.前言 1.Tomcat的配置 2.第一个Web 项目 0.前言 刚刚开始接触web开发,了解的也不多,在这里记录一下我的第一个web项目启动的过程.网上教程很多,使用的java IDE 好 ...
随机推荐
- opencms 安装出现以下的问题:Your 'max_allowed_packet' variable is set to less than 16777216 Byte (16MB).
一.问题 在安装opencms是会出现例如以下错误: MySQL system variable 'max_allowed_packet' is set to 1048576 Byte (1MB). ...
- Git的使用 -- 用git玩翻github,结尾有惊喜!有惊喜!有惊喜!林妙妙看了说:牛呲呼啦带闪电 (三)(超详解)
简介 上一篇主要讲解的是Git安装及配置,这一篇就详细的从无到有的来用Git玩翻github. 一.什么是Github Github是全球最大的社交编程及代码托管网站(https://github.c ...
- 【转载】.NET Remoting学习笔记(一)概念
目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道 背景 自接触编程以来,一直听过这个名词Remotin ...
- HDU 3639 Hawk-and-Chicken
Hawk-and-Chicken Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDOJ--1869--六度分离(用三种算法写的,希望能比較出来他们之间的差别)
六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- Anaconda和Pycharm安装和配置教程
1.下载Anaconda2 (最好选Python2.7的,兼容性好点) 在官网下载:https://www.continuum.io/downloads 2.安装Pycharm ...
- easyui tree的简单使用
Tree 数据转换 所有节点都包含以下属性: id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data text: 显示的节点文本 ...
- vue弹窗插件实战
vue做移动端经常碰到弹窗的需求, 这里写一个功能简单的vue弹窗 popup.vue <template> <div class="popup-wrapper" ...
- ADB结构及代码分析【转】
本文转载自:http://blog.csdn.net/happylifer/article/details/7682563 最近因为需要,看了下adb的源代码,感觉这个作者很牛,设计的很好,于是稍微做 ...
- 目前最新版本ActiveMQ 5.15.3 和JDK版本有关的问题
java.lang.UnsupportedClassVersionError: org/apache/activemq/ActiveMQConnectionFactory : Unsupported ...