Web服务器—Tomcat

Tomcat服务器

备注:该技术博客的内容是我根据技术视频整理与总结的(并非复制粘贴)。取自黑马JavaWeb课程。

一、概述

首先学习汤姆之前,我们应该先理解一个概念,什么是服务器?

服务器:安装了服务器软件的计算机。本质上还是一台电脑,不过这台电脑的性能非常好!一般作为服务器的电脑配置非常高。

服务器软件:接收用户的请求,处理请求,做出响应。

web服务器软件:它是服务器软件中的一种,也可以接收用户的请求,处理请求,做出响应。只不过web服务器软件让用户通过浏览器来访问的。

在web服务器软件中我们可以部署web项目,让用户通过浏览器访问这些项目。

由于动态资源不能直接运行,依赖于web服务器软件。也就是说,动态资源只能够运行在服务器软件中。所以web服务器有时候也被称为web容器。动态资源必须在容器中才能运行。

接下来介绍几种常见的与Java相关的web服务器软件:

  1. webLogic:属于oracle公司,是大型的JavaEE服务器,支持所有的JavaEE规范,收费的。(JavaEE是java语言在企业级开发中使用的技术规范的总和,一共规定了13项大的规范)

  2. webSphere:属于IBM公司,是大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

  3. JBOSS:属于JBOSS公司,是大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

  4. Tomcat:属于Apache基金组织(慈善),是中小型的JavaEE服务器,仅仅支持少量的JavaEE规范。

    该组织所有的产品都是开源免费的。为整个软件行业的发展做出了很大的贡献。该组织的生存是依靠于大型公司捐赠。

二、Tomcat服务器软件

我今天要学习和使用的web服务器软件是Tomcat(汤姆猫)。我要学习一款软件,第一件事当然是把它下载成功。

那么去哪里下载tomcat软件呢?我把他的官方网站告诉大家:https://tomcat.apache.org/

由于该网站是全英文的我们可能看不懂,不知道怎么下载。接下来我讲解一下如何下载:

1.首先我们进入网站后,直接看左侧一栏,有一个Download(下载) 英文单词:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KFLBVABg-1597997521220)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821095513673.png)]

2.这里有许多版本的汤姆猫,我使用的是Tomcat9,点击进入以下页面,将目光锁定到新页面的9.0.37

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kvphOMc1-1597997475977)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821095630642.png)]

3.由于我是window64位,所以我的选择是:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3mDZYRz-1597997475979)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821095315797.png)]

4.点击下载即可,下载完成后,怎么去安装这个压缩包呢?我们需要将下载好压缩包找一个位置复制一下。

复制完成后将该文件拖到当前的目录下就完成了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ordTNIwF-1597997475981)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821100701973.png)]

了解目录结构

一切准备就绪之后,我们应该深入理解一下它的目录结构:

在这里插入图片描述

  1. bin:是二进制(binary)的简写。里面存放的是可执行文件。
  2. conf(configure简写):里面存放的是配置文件。
  3. lib(依赖jar包):因为tomcat在启动运行时,需要依赖于一些jar包才可以运行。
  4. logs(日志文件):可以通过日志文件监控调试程序。(由于目前tomcat没有启动过,所以目录中还没有日志)
  5. temp(临时文件):存放一些临时文件数据的。(不常用)
  6. webapps(重要):存放web项目。
  7. work:存放运行时的数据。

启动tomcat

启动路线是:进入bin文件夹——>启动startup.bat文件,会出现一下画面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B2U8u1ex-1597997475983)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821104508506.png)]

接下来就可以访问tomcat了。我们上面说过,tomcat是web服务器软件,可以通过浏览器来访问项目。我们就可以打开浏览器访问自己,浏览器中输入:IP地址:8080 或者 localhost:8080进入。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PyUGs90q-1597997475984)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821105311150.png)]

出现这个页面就说明我们成功的安装了tomcat。

刚刚我们完成了自己访问自己,但是tomcat这个web服务器软件可以让别人访问我(当然你也可以访问别人),访问者就需要使用我的ip地址访问。查询ip地址的方式是:

打开doc命令框(win + R),输入ipconfig,回车,IPv4地址就是本机的ip地址:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ykX5RdQe-1597997475985)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821110423095.png)]

别人就可以通过你的ip地址:8080访问你的电脑上的tomcat。

关闭Tomcat:

  1. 正常关闭(推荐):bin目录/双击shutdown.bat 或者 Ctrl + C
  2. 强制关闭(不推荐):点击启动窗口的×

可能遇到的问题:

  1. java环境变量没有配置
  2. 闪退问题:需要配置兼容性
  3. 乱码问题:配置文件中设置

如何配置(重要)

部署项目的方式第三种最推荐,作为开发者会第一种就可以了):

1.直接将项目文件(例如文件名叫hello,里面存放一个html文件名为hello.html)放到webapps目录下即可。我们启动Tomcat,(双击startup.bat)我们可以通过浏览器输入localhost:8080/hello/hello.html就可以访问。

/hello:项目的访问路径(虚拟目录)

/hello.html:资源名称

简化部署:有一个hello的项目文件,里面有许多文件,拷贝过程中非常慢。我们可以将项目打成war包,再将war包放置到webapps目录下。war包会自动的解压缩。

缺点:部署项目的时候,虚拟目录的名字与项目名称一样。而且还得拷贝项目到webapps目录下面,不管是打war包还是复制文件夹,最后都需要拷贝。那么我们不拷贝的情况下能否完成部署呢?接下来这个方法可以解决。

2.配置conf/sever.xml文件。在host标签体中配置:

<Context docBase="D:\Tomcat\hello" path="/hehe" />

其中docBase是项目存放的路径,path是虚拟目录

缺点:由于配置文件sever.xml(Tomcat核心配置文件)是配置Tomcat整体的,现在在这个文件中部署项目的话,有可能将tomcat整个核心文件配置毁坏,其他项目因此也运行不起来。所以这样配置很不安全

3.在conf\Catalina\localhost创建任意名称的xml文件。在文件中去编写:

<Context docBase="D:\Tomcat\hello"/>

现在它的虚拟目录就是xml文件的名称。

三、静态项目和动态项目

区别静态项目中只能放静态资源:html,css,js,图片,文本,音频,视频…

动态项目中不仅可以放静态资源还可以放动态资源:servlet,jsp,php…

目录结构:对于java的动态项目的目录结构来说,java动态项目的目录结构为:

项目的根目录:
	WEB-INF目录:
		web.xml:web项目的核心配置文件
		classes目录:放置字节码文件的目录
		lib目录:放置依赖的jar包

注意:有WEB-INF的项目是动态项目

四、与IDEA集成和创建web项目

接下来将Tomcat集成到IDEA中,并且创建JavaEE的项目。

目前我们每一次在本地启动Tomcat很麻烦,所以我们可以借助IDEA启动,关闭,发布。

那么怎么与IDEA集成呢?

1.打开IDEA,在导航栏找到Run,点击Edit Configurations

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ffZ5MNd-1597997475985)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821150955541.png)]

点击完成之后,找到这个按钮点击。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9uMjgwDh-1597997475986)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821151827530.png)]

点完之后会出现Tomcat Server框弹出(如下图),在Tomcat Home中选择你的电脑中Tomcat的安装路径后一路ok即可,这样Tomcat就集成到我们的IDEA中

在这里插入图片描述
一般Tomcat启动伴随着web项目的启动,所以我们的Tomcat中应该部署一个web项目再运行才有意义。接下来我们创建一个web项目:

首先点击创建一个模块,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4uKg7XUt-1597997475987)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821152419918.png)]

然后按照以下操作进行:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F5HGwGbA-1597997475988)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821153055911.png)]

最后给项目命名后完成。

我们编写和运行一下WEB-INF文件下的index.jsp文件发现跟html页面没什么区别,可以运行。
运行结果是:Hello Tomcat

在这里插入图片描述
当我们再web下创建一个html页面,运行时候发现报错(HTTP Status 404–Not Found)。该html没有被加载到。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2KV5PPqS-1597997475990)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821160302854.png)]

那么该怎么办呢?

我们需要重新启动一下服务器(等会说热部署,可以解决这个问题)。启动完成之后再来访问hello.html就可以成功。

其中index.jsp就是默认的首页

热部署步骤:按下图进行操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bWsWgUuw-1597997475990)(C:\Users\XuZhibin\AppData\Roaming\Typora\typora-user-images\image-20200821155644171.png)]

这样选择后,当我们更新资源的时候就让它重新部署项目,这样就可以创建一个html项目就直接部署了,不需要再重写服务器了,非常方便。比如:

我们创建一个hehe.html文件就可以发现直接可以访问,不需要重新启动服务器。非常的方便!

猜你喜欢

转载自blog.csdn.net/weixin_46594796/article/details/108149483
今日推荐