JavaWeb核心 | Tomcat

一、Tomcat介绍

1.1 关于服务器

  • 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能设备等)提供计算或者应用服努。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。
  • 服务器的概念非常的广泛,它可以指代一台特殊的计算机(相比普通计算机运行更快、负载更高、价格更贵),也可以指代用于部署网站的应用。我们这里说的服务器,其实是web服务器,或者应用服务器。它本质就是一个软件,一个应用。作用就是发布我们的应用(工程),让用户可以通过浏览器访问我们的应用。
    在这里插入图片描述

常见的应用服务器,请看下表:

服务器名称说明
weblogic实现了javaEE规范,重量级服务器,又称为javaEE容器
websphereAS实现了javaEE规范,重量级服务器。
JBOSSAS实现了JavaEE规范,重量级服务器。免费的。
Tomcat实现了jsp/servlet规范,是一个轻量级服务器,开源免费。

1.2、Tomcat的介绍

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

在这里插入图片描述

  • Tomcat各个版本所需要的支持

在这里插入图片描述

二、Tomcat下载与安装

Tomcat官网下载地址

2.1 Tomcat各版本所需支持

安装:直接解压即可

2.2 Tomcat各版本所需支持

在这里插入图片描述

2.3 Tomcat目录结构详解

在这里插入图片描述

2.4 Tomcat基本使用

在这里插入图片描述

2.5 Tomcat启动和停止及问题分析解决

1)启动和停止

Tomcat服务器的启动文件在二进制文件目录中:
在这里插入图片描述

这两个文件就是Tomcat的启动文件。

Tomcat服务器的停止文件也在二进制文件目录中:
在这里插入图片描述
这两个文件就是Tomcat的停止文件。
其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

访问localhost:8080

在这里插入图片描述

2)启动遇到的问题

第一个问题:启动一闪而过

原因:没有配置环境变量。

解决办法:配置上JAVA_HOME环境变量

第二个:Address already in use : JVM_Bind

在这里插入图片描述

原因:端口被占用

解决办法:找到占用该端口的应用

使用cmd命令:netstat -ano | findstr 8080 查看pid 在任务管理器中结束占用端口的进程。

再次输入指令:taskkill -pid 7244 -f,回车即可杀死命令(要以管理员身份启动CMD)

进程很重要:修改自己的端口号。修改的是Tomcat目录下\conf\server.xml中的配置。

在这里插入图片描述

第三个:启动产生很多异常,但能正常启动

原因:Tomcat中部署着很多项目,每次启动这些项目都会启动。而这些项目中有启动报异常的。

解决办法:

​ 能找到报异常的项目,就把它从发布目录中移除。

​ 不能确定报异常的项目,就重新解压一个新的Tomcat。

第四个:其它问题

例如:启动产生异常,但是不能正常启动。此时就需要解压一个新的Tomcat启动,来确定是系统问题,还是Tomcat的问题。

所以,此时就需要具体问题,具体分析,然后再对症解决。

第五个:乱码问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
改成跟控制台一样的编解码。

2.6 本地部署Tomcat项目

Webapps下创建项目
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、IDEA集成Tomcat服务器

3.1 IDEA配置Tomcat

第一步
1.点击Run-> Edit Configurations
在这里插入图片描述

第二步
2.点击 Defaults-> Tomcat server-> Local
在这里插入图片描述
第三步
3.点击 Configure-> Tomcat home->选择 tomcat所在路径
在这里插入图片描述
第四步
创建JavaEE工程
在这里插入图片描述
在这里插入图片描述

四、Linux系统安装Tomcat

4.1 Linux下配置Tomcat

在这里插入图片描述

第一步:下载tomcat

进入Tomcat官网,找到对应版本点击download进入下载页面,如下图:
在这里插入图片描述

第二步:上传到linux
在这里插入图片描述

第三步:在 /usr/local 新建一个文件夹tomcat

mkdir /usr/local/tomcat

第四步:移动 tomcat…tar.gz 到 /usr/local/tomcat

mv apache-tomcat-8.5.32.tar.gz /usr/local/tomcat/

第五步:进入/usr/local/tomcat目录,解压Tomcat

cd /usr/local/tomcat
tar -xvf apache-tomcat-8.5.32.tar.gz

第六步:进入 /usr/local/tomcat/apache-tomcat-8.5.32/bin

cd /usr/local/tomcat/apache-tomcat-8.5.32/bin

第七步:启动tomcat

方式1:
	sh startup.sh
方式2:
	./startup.sh

在这里插入图片描述

第八步:修改防火墙的规则

方式1:service iptables stop  关闭防火墙(不建议); 用到哪一个端口号就放行哪一个(80,8080,3306...)

方式2:放行8080 端口
	修改配置文件
		cd /etc/sysconfig
		vi iptables
			复制(yy , p)	
				-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
			改成
				-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
		重启加载防火墙或者重启防火墙
			service iptables reload  
			或者
			service iptables restart

五、Tomcat发布JavaWeb应用

5.1 JavaWeb工程概述

JavaWeb应用是一个全新的应用种类。这类应用程序指供浏览器访问的程序,通常也简称为web应用。

一个web应用由多个静态web资源和动态web资源组成,例如:html、css、js文件,jsp文件、java程序、支持jar包、工程配置文件、图片、音视频等等。

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给Web服务器管理(Tomcat就是Web服务器之一),这个过程称之为虚似目录的映射。

5.2 JavaWeb应用目录结构详解

myapp--------------应用名称
    1.html
    css/css.css
    js/demo.js
	WEB-INF--------如果有web.xml或者.class文件时,该目录必须存在,且严格区分大小写。
		   --------该目录下的资源,客户端是无法直接访问的。
           --------目录中内容如下:
        classes目录----------------web应用的class文件(加载顺序:我们的class,lib目录中的jar包,tomcat的lib目录中的jar包。优先级依次降低)
        lib目录--------------------web应用所需的jar包(tomcat的lib目录下jar为所有应用共享)
        web.xml-------------------web应用的主配置文件

5.3 JavaWeb应用的创建

选择JavaEE7版本如果选择JavaEE8则不会为你创建web.xml
在这里插入图片描述
创建结果:
在这里插入图片描述

5.4 项目组成详解

  • src:存放源代码的
  • web:存放项目相关资源的(htm、 CSs, JS、jsp、图片等)
  • WEB-INF:存放相关配置的 web. xm等)

六、JavaWeb应用的部署

6.1 IDEA部署

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.2 war包发布

1)将web目录打成war包

在这里插入图片描述

jar -cvf webdemo.war .

在这里插入图片描述
在这里插入图片描述
2)放到Tomcat下的Webapps目录下
在这里插入图片描述
3)启动服务时,tomcat会自动解压,最后访问localhost:8080/webdemo即可
在这里插入图片描述

6.3 Tomcat的配置文件

在这里插入图片描述

6.4 Tomcat的虚拟目录

为什么要搞虚拟目录呢?这里就要说一下了,刚才我们的war包是放在webapps下面的,也就是说tomcat启动后可以找到webapps下面的文件,也就是说只有在这个目录下的文件才能访问,但是我们想放在硬盘上其他地方也可以访问到那应该如何做呢,那就引入虚拟目录的概念了,虚拟目录顾名思义哈,虚拟的,可以理解为一种映射吧。
在这里插入图片描述
Tomcat下的conf中的server.xml追加以下配置即可。

<Context path="/my" docBase="d:/my"/>

在这里插入图片描述

6.5 Tomcat配置虚拟主机

Tomcat下的conf中的server.xml添加加以下配置即可。
在这里插入图片描述

<Host name="www.webdemo.com"  appBase="webapps"
	unpackWARs="true" autoDeploy="true">
<Context path="" docBase="webdemo"/>
</Host>

虚拟目录的配置,支持两种方式。第一种是通过在主配置文件中添加标签实现。第二种是通过写一个独立配置文件实现。

第一种方式:在server.xml<Host>元素中加一个<Context path="" docBase=""/>元素。
path:访问资源URI。URI名称可以随便起,但是必须在前面加上一个/
docBase:资源所在的磁盘物理地址。
第二种方式:是写一个独立的xml文件,该文件名可以随便起。在文件内写一个<Context/>元素。
​ 该文件要放在Tomcat目录中的conf\Catalina\localhost\目录下。
需要注意的是,在使用了独立的配置文件之后,访问资源URI就变成了/+文件的名称。而Contextpath属性就失效了。
在这里插入图片描述

主机名映射
配置C:\Windows\System32\drivers\etc即可(以管理员身份)
在这里插入图片描述

测试域名
在这里插入图片描述


版权声明:本文为weixin_46264660原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。