我的Java Web之路8 - Tomcat初步使用

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,原来已经分享在我的CSDN博客,现在分享在百科,希望能帮助更多码农和想成为码农的人。版权声明:本文为CSDN博主「普通的码农」的原创文章,遵循CC 4.0 by-sa版权协议,请附上原文出处链接及本声明。原文链接:等等。

Java在Web开发的主要技术就是Servlet,它最初是由Sun公司的某个大牛用Java开发Web服务器的产物,最后形成规范、标准,就叫Java Servlet Specification,简称JSS。Tomcat也是由该大牛开发出来的(其实就是用Java开发的),后来贡献给了Apache软件基金会。

所以,Tomcat首先是一个Web服务器,同时也是一个Servlet容器,当然它也是一个JSP容器(本质上,JSP也是Servlet)。容器也可以叫引擎。既然叫容器,那么它肯定就是能够装某些东西,什么东西呢?当然就是Servlet了,那Servlet又是什么东西呢?它既然是Java提供的技术,在Java世界里一切都是类和对象,所以Servlet其实就是某种类而已,只不过它遵循某些规范(可以想象为某种格式)来供Servlet容器装载并执行。

Servlet技术咱暂且不细说,既然我们要用Servlet技术来开发Web应用程序,一个Servlet容器就必然是需要的,我们就选择Tomcat吧。

下载和安装因为我使用的是Windows系统作为开发平台,在Windows系统下Tomcat的安装有两种,一种是使用安装器(就是Installer),一种是直接解压Tomcat二进制发行包。安装器可以把Tomcat安装为一个Windows服务。但这里,我采用跟Eclipse类似的方式,直接解压安装法。

当然,当你开发完你的Web应用程序之后,需要放到Tomcat服务器上,所以在你的部署机器上也需要安装Tomcat。

先到Tomcat官网(。

我的Java Web之路8 - Tomcat初步使用

我们就选择红色箭头所指的版本Tomcat 9.0.16.Released(读者可以选择当前的最新版本),点击下面的Download,将出现:

我的Java Web之路8 - Tomcat初步使用

大家根据自己的系统来选择就可以了,我选择的是64-bit Windows zip。下载完毕之后,直接解压缩到合适的目录下。OK,这样就算安装完毕了,进入到解压出来的目录去看看都有哪些内容:

我的Java Web之路8 - Tomcat初步使用

bin目录:(英文单词binary的简写,二进制的意思,引申为各种可执行的文件和工具)主要存放各种脚本,包括启动和停止等脚本;conf目录:(英文单词configuration的简写,配置的意思)存放配置文件,包括server.xml等配置文件;lib目录:(英文单词library,图书馆的意思,引申为存放各种库的地方)存放各种JAR包,包括servlet-api.jar、jsp-api.jar等,我们的web应用程序就需要引用这些JAR包中的类或接口等。logs目录:顾名思义,就是存放Tomcat的日志文件的,目前是空的;temp目录:Tomcat临时文件的存放目录,暂时不需要理会,目前是空的;webapps目录:这里就是存放你的Web应用程序的地方了,你需要把你的Web应用程序拷贝到这,然后Tomcat就能加载它,这就是所谓的部署你的应用。当然,还有其他的部署方式。这个目录里面已经带有一些Tomcat的示例Web应用程序。work目录:这个是Tomcat的工作目录,目前是空的。剩下的:就是些说明文件、授权文件等,无须理会。这里要说明的是,Tomcat把这些个目录分成三类:

可以修改其中的文件的目录:conf、logs、webapps、work这四个目录。这类目录的存放位置其实可以用环境变量CATALINA_BASE设置,其值默认是安装目录;只能读其中的文件的目录:bin、lib这两个目录,可以用环境变量CATALINA_HOME设置,其值默认是安装目录;临时文件目录:temp目录,可以用环境变量CATALINA_TMPDIR设置,其值默认是CATALINA_HOME/temp。为什么要这样分呢?这是为了启动多个Tomcat实例而拥有各自的定制特性和日志等(就放在自己设置的CATALINA_BASE目录下),或者避免升级Tomcat带来的文件覆盖。

启动和停止既然这就算安装成功了,那咱就启动一下Tomcat来验证一下。打开Windows命令行工具,并进入到Tomcat的安装目录,我的机器上是:E:\csdn\apache-tomcat-9.0.16,然后输入:

bin\startup.bat这就是执行bin目录下的tomcat启动脚本,一般情况下会执行成功,同时弹出Tomcat的控制台窗口:

我的Java Web之路8 - Tomcat初步使用

从最后一句日志信息中可以看出Tomcat已经成功启动,但问题是出现了很多乱码,这是怎么回事?猜想是Tomcat打印日志的字符集和这个控制台显示信息的字符集有问题吧。于是网上搜了半天,在Tomcat控制台的标题栏右击弹出菜单,点击属性弹出属性对话框:

我的Java Web之路8 - Tomcat初步使用

显示Tomcat控制台窗口的字符集是GBK。于是想只要把Tomcat日志打印的字符集改为GBK就可以了吧。日志打印的字符集配置在哪呢?当然是先到conf目录下找找看啊,可以找到一个logging.properties文件,用文本编辑器打开看看:

我的Java Web之路8 - Tomcat初步使用

可以看到这个文件里有一项是配置日志打印字符集的,那就把它修改为GBK试试,结果真的成功了。

好,现在已经把Tomcat成功启动了,实际上我们就可以在浏览器地址栏输入:

/按回车键可以看到:

我的Java Web之路8 - Tomcat初步使用

这其实就是Tomcat自带的一个示例Web应用程序,只不过它也可以用来配置、管理和监控该Tomcat运行实例,这也说明Tomcat确实已经运行起来了,而且是监听在8080端口上,当然,这都是可配置的。

停止Tomcat有几种方法:

直接点击Tomcat控制台窗口标题栏的关闭按钮;在Tomcat控制台窗口时,使用快捷键Ctrl + C;在另外一个命令行窗口执行Tomcat停止脚本:bin\shutdown.bat配置这里先暂时不用理会,等需要用到的时候再讨论,所谓契约优先原则就是我们尽量使用默认的配置,尽量让默认的配置够用,这样就可以减少我们的工作量。试想一下,如果一个软件的使用需要很多很繁复的配置,那用户将会多么沮丧,这样的软件将是失败的。实际上,我们设计出的软件也应该尽量遵循这个原则。

Tomcat自带的示例Web应用程序上面提到的webapps目录就是部署Web应用程序的目录,Tomcat安装包里面已经自带有几个示例Web应用。我们可以尝试着访问它们。

启动Tomcat,打开浏览器,先在地址栏输入:

/在浏览器上可以看到下面这个页面:

我的Java Web之路8 - Tomcat初步使用

说明这个Web应用可以访问,它是Tomcat的使用文档,如果英文熟练的话,我们完全就可以通过这个应用来研究Tomcat的使用。没错,这就是Web应用,看起来用户体验不错吧。

在地址栏输入:

/在浏览器上可以看到下面这个页面:

我的Java Web之路8 - Tomcat初步使用

说明这个Web应用也可以访问,它真的是Tomcat的示例Web应用,我们可以进一步点击上面三个链接中的每一个,看看里面都有什么内容,每一个页面又有链接,继续点击访问即可,反正鼠标可以到处尝试着点击,看页面会有什么反应。这里给出的例子还是比较丰富的,甚至有聊天工具、贪吃蛇游戏、画板等应用。

我点击上面的Servlets examples,页面显示:

我的Java Web之路8 - Tomcat初步使用

再点击红色箭头所指的HelloWorld这个Servlet的源代码,让我们来看看Servlet的庐山真面目:

我的Java Web之路8 - Tomcat初步使用

可以看到,Servlet的庐山真面目就是一个Java类:

import java.io.*;import javax.servlet.*;import javax.servlet.。我们后面就介绍何为继承。

再在地址栏输入:

/或

应用可以访问,但是需要用户名和密码登录后才能继续使用。

最后在地址栏输入:

应用。

总结Tomcat是一个既是Web服务器,又是Servlet容器;Servlet其实就是一个特殊的类,遵循Servlet规范,当然Servlet规范可不仅仅包含Servlet这个类而已;遇到乱码的问题,一般都是字符集冲突的原因造成的;我们设计出的软件最好也遵循契约优先原则。

你可能想看:
分享给朋友: