我的Java Web之路8

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,原来已经分享在我的CSDN博客,现在分享在百科,希望能帮助更多码农和想成为码农的人。Java在Web开发的主要技术就是Servlet,它最初是由Sun公司的某个大牛用Java开发Web服务器的产物,最后形成规范、标准,就……

本系列文章旨在记录和总结自己在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这个类而已;遇到乱码的问题,一般都是字符集冲突的原因造成的;我们设计出的软件最好也遵循契约优先原则。

你可能想看:

webshell是什么意思,如何避免网站被留下webshell后门?

webshell实际是以asp、php、jsp,ini、cgi等网页文件形式存在一种代码执行环境,也可以将其称做为一种网页后门。通常有很多黑客都通过使用webshell来让其在入侵一个网站后留下这个...

COMEBABY是什么意?COMEBABY?

come baby翻译为:来吧宝贝。短语Come On Baby 宝宝总动员 ; 宝贝儿来吧 ; 来吧 ; 来吧宝贝here come my baby 这里来我的宝宝 ; 这里是我的宝贝 ; 这里是...

MXA920天花麦克风阵列和IntelliMix Room音频处理软件,获Zoom Rooms认证!

Shure进一帮助IT专业人员和AV经理利会议解决方案提升协作体验。Microflex Advance MXA920天花麦克风阵列和IntelliMix Room音频处理软件获得Zoom Room...

明明是迷你抄袭mc,为什么迷你玩家却说mc抄袭迷你?

还有这个游戏么?让查一查,MC玩家评论区坐好,点个关注。咱们聊一聊明明迷你抄袭mc,迷你玩家却说mc抄袭迷你,那些迷你玩家为什么玩迷你?说实话阿懵并没有玩迷你世界,但是网上看到了很多迷你世界新闻...

求MC喊麦词和曲 最近刚学MC喊麦 请各位朋友介绍几个 简单易学 曲子和词 歌曲速度稍微慢点 词不要带脏字?

这些都是平时喜欢曲子,你可以听听,总有几首你喜欢也是在学习MC,还木有找到老师,自己一个人练,这东西,觉得吧,还是自己感觉最重要!

为什么「骰子」「骰」正确读音是「tóu」而几乎每个人都念「shǎi」(色)?

不赞同所谓几乎所有人把“骰”(tóu)念“shǎi”这个观点,国民间很多地方,就是念(tóu),尤其是南方一些地方。南方十里不同音,方言多种,但很多地方对“骰”(tóu)字读法,均沿了古音,...

我的世界为什么叫MC和我的世界?

作为一个MC老玩家,也许能回答你这个问题。"我的世界"称呼渐渐成为了分隔新老玩家一个分水岭。老玩家认为我的世界翻译不够准确,而且那时候Mojang从来没有承认我的世界是官方译名。2016年5月20...

喜茶发布十周年报告,会员人数超6300万;东方甄选新年首个专场收官:25款农产品销售超1万单;BeBeBus首店开业|消研所日报

1月3日,喜茶发布名为《喜茶这十年》十周年报告,报告中显示,喜茶已经进入了全球83个城市。截至2022年底,喜茶GO会员人数突破了6300万,2022年新增会员人数达1300万,2022年6月以来喜...

我的我的亲人,伤我的也是我的亲人,你说该怎么办?

你怎么这么倒霉呀?最亲人,都伤害你是不是你太不听话了,是不是你做什么对不起亲人事情,亲人连续伤害你,假如你是一个有志气好孩子,亲人一个敬佩你特别给亲人争光,伤害分轻重,假如是有意,即便是至亲也...

恋日记jason谁演

马志威,王敏奕,符龙飞,林雪,罗家英,苑琼丹,黄一山,麦家琪,利健森,杜小乔,贝依霖,魏文青,莫美妮

变频器端子ATCGNDAV1AFMCOM分别是什么意思?谢谢?

变频器端子ATCGNDAV1AFMCOM分别是什么意思,这个首先要看变频器品牌和型号才清楚,不同变频器端子定义是不一样,你所说端子GND、AVI、AFM、COM等等在变频器控制回中都是常...

IIS、Apache、Tomcat、Nginx、CDN,它们间有何区别?

一个学习总结,或者说是汇总,有些链接给出观点过时,已按照自己理解经过修改编辑;IIS、Apache、Tomcat都可以属于Web服务器。Apache与Tomcat都是Apache开源组织开发的用...

Web已死,垄断盛行,小鱼喂大鱼

如今中国互联网行业正在印证着一个工业化铁律:创造、传播、普及、垄断。随着百度、腾讯和阿里巴巴三大巨头大肆圈地,业界喊出了“Web已死”。在他们看来,“互联网精神”将在垄断冲击下荡然无存。所以,产...

豆瓣和知乎:论Web 2.0社区平等性

豆瓣和知乎是现在国内Web 2.0网站两个标杆,然而仔细对比下,们会发现两者在区分上有着截然不同方式,而正是这种细节上差异决定了两个网站不同发展趋势。豆瓣户门柱文章从个人角度对两...

web服务器是什么?

Web服务器有硬件服务器和软件服务器,现在硬件服务器多以云方式为户提供服务。Apache、nginx属于软件服务器,软件服务器是架设在服务端为Web提供系统级支撑服务,除了题目中提到两个服务...

哪个Golang的Web框架好一点,可以推荐一下吗?

可以看一下 GitHub 上 awesome-go( awesome 很酷意思。可以理解为优质golang资源大全)这里整理了基于golang优质的web框架列表,很多开发者都在关注。你可以从中...

谁可以提供下eWebEditor最新版本下载地址 ?

那个CSDN上有下载呀~~eWebEditor是eWebSoft.com旗下eWeb团队开发基于网页、所见即所得在线HTML编辑器~~你看看是不是这个啊!希望可以帮到你!

Web安全漏洞如何修复?

作为信息安全领域从业人员很高兴回答你问题。关于Web安全如何修复认为漏洞修复分四发现漏洞、确定漏洞危害、确定有那些修复方案及成本、综合比较选择修复方案进行修复。可以通过专业漏洞扫描工具或者...

如何快速解决网站中存在的Web漏洞?

最直接可能就是通过URL 跳转漏洞。而且URL跳转漏洞测试难度小,其次那些细节可能会存在漏洞呢?认证正常页面可能存在URL跳转漏洞;可能存在URL跳转漏洞是站内一些其他外部链接,当你点击跳转...

常见的web安全漏洞有哪些?

跨站脚本攻击是指通过存在安全漏洞的Web网站注册浏览器内运行非法HTML标签或JavaScript进行一种攻击:利虚假输入表单骗取户个人信息,XSS 原理是恶意攻击者往 Web 页面里...

(来源:问答百科)
免责声明:本文内容来源于第三方或整理自互联网,本站仅提供展示,不拥有所有权,不代表本站观点立场,也不构成任何其他建议,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容,不承担相关法律责任。如发现本站文章、图片等内容有涉及版权/违法违规或其他不适合的内容, 请及时联系我们进行处理。

相关推荐