Tomcat

Tomcat&Http协议-授课

1 JavaEE规范

  • JavaEE(Java Enterprise Edition):Java 企业版

  • 它是由 SUN 公司领导、各个厂家共同制定并得到广泛认可的工业标准

  • JavaEE 规范是很多 Java 开发技术的总称。这些技术规范都是沿用自 J2EE 的。一共包括了 13 个技术规范

  • 包括:JDBC,JNDI,EJB,RMI,IDL/CORBA,JSP,Servlet,XML,JMS,JTA,JTS,JavaMail,JAF

1.2 Web概述和资源分类

1.2.1 Web概述

  • WEB 在计算机领域中代表的是网络
  • 像我们之前所用的 WWW,它是 World Wide Web 三个单词的缩写,称为:万维网
  • 网络相关技术的出现都是为了让我们在网络的世界中获取资源,这些资源的存放之处,我们把它叫做网站
  • 我们通过输入网站的地址(网址),就可以访问网站中提供的资源(不区分局域网或广域网)

1.2.2 资源分类

  • 静态资源
    • 网站中提供给人们展示的资源是一成不变的,也就是说不同人或者在不同时间,看到的内容都是一样的
    • 例如:我们看到的新闻,网站的使用手册,网站功能说明文档等等
    • 作为开发者来说,我们编写的 HTML、CSS、JavaScript 都属于静态资源
    • 注意:这里说的是js文件本身属于静态资源,但是js可以实现界面动态效果
  • 动态资源
    • 网站中提供给人们展示的资源是由程序产生的,在不同的时间或不同的人由于身份的不同,所看到的内容是不一样的
    • 例如:我们在12306上购买火车票,火车票的余票数由于时间的变化,会逐渐的减少,直到最后没有余票。
    • 作为开发者来说,我们编写的 JSP、Servlet 等都属于动态资源

1.3 系统结构

1.3.1 系统结构简介

  • 在我们前面课程的学习中,开发的都是 Java 工程。这些工程在企业中称之为项目或者产品。它都是有系统架构的

  • 基础结构划分:

    • CS 结构
    • BS 结构
  • 技术选型划分:

    • Model1 模型
    • Model2 模型
    • MVC 模型
    • 三层架构+ MVC 模型
  • 部署方式划分:

    • 一体化结构
    • 垂直拆分结构
    • 分布式结构
    • 微服务结构

1.3.2 C/S结构

  • CS 结构:(Client Server) 客户端+服务器的方式

在这里插入图片描述

1.3.3 B/S结构 ***

  • BS 结构:(Browser Server) 浏览器+服务器的方式
    在这里插入图片描述

1.3.4 两种结构的区别及优略

两种结构的区别

第一:硬件环境不同,C/S通常是建立在专用的网络或小范围的网络环境上(即局域网),且必须要安装客户端。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行。

第二:C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强。

第三:B/S结构维护升级比较简单,而C/S结构维护升级相对困难。

优略

1 C/S:是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。

2 B/S:总体拥有成本低、维护方便、 分布性强、开发简单,可以不用安装任何专门的软件就能 实现在任何地方进行操作,客户端零维护,系统的扩展非常容易,只要有一台能上网的电脑就能使用。

关于课程中结构的选择:我们的课程中涉及的系统结构都是是基于B/S结构。

2 Tomcat服务器

2.1. 服务器介绍

  • 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如 PC 机、智能设备等)提供计算或者应用服务。服务器具有高速的 CPU 运算能力、长时间的可靠运行、强大的 I/O 外部数据吞吐能力以及更好的扩展性

  • 说白了,服务器(硬件)就是更牛逼的电脑

  • 而我们这里所说的服务器,其实是 web 服务器,或者应用服务器。它本质就是一个软件,通过和硬件的相结合,从而达到帮助我们来发布应用的功能,让用户通过客户机访问我们的应用

  • 服务器的概念非常的广泛,它可以指代一台特殊的计算机(相比普通计算机运行更快、负载更高、价格更贵),也可以指代用于部署网站的应用

  • 我们这里说的服务器,其实是web服务器,或者应用服务器。它本质就是一个软件,一个应用作用就是发布我们的应用(工程),让用户可以通过浏览器访问我们的应用

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

服务器名称说明
weblogic实现了javaEE规范,重量级服务器,又称为javaEE容器
websphereAS实现了javaEE规范,重量级服务器。
JBOSSAS实现了JavaEE规范,重量级服务器。免费的。
Tomcat实现了jsp/servlet规范,是一个轻量级服务器,开源免费。
  • 总结
    • 我们想要将一个项目让广大网民都可以访问,就需要将项目发布到一个web应用服务器中,然后这个web 应用服务器需要安装在一台服务器电脑上
    • 就是说我们的项目,需要web应用服务器(软件)和服务器电脑(硬件)结合之后,才可以让广大网民访问
    • web应用服务器Tomcat是用来管理项目的,而单单只要这个tomcat是不行的,如果咱们将tomcat装到自己的电脑上,有两个问题,1:性能太差,经不起多人访问;2:互联网用户无法访问咱们的电脑
    • 我们需要一台有外网ip地址的,一台真正的服务器电脑
  • Tomcat:是一个软件/应用服务器,用于发布项目,应用
  • 服务器:是一个硬件服务器,真实的一台电脑

2.2 Tomcat介绍

  • Tomcat 是 Apache 软件基金会的 Jakarta 项目组中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成

  • 由于有了 Sun 公司的参与和支持,最新的 Servlet、JSP 规范总是能在 Tomcat 中得到体现

  • 因为 Tomcat 技术先进、性能稳定,而且免费,所以深受 Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的 Web 应用服务器

  • Tomcat 官网:https://tomcat.apache.org/
    在这里插入图片描述

    • 这只猫就是tomcat的logo
  • Tomcat各版本所需支持
    在这里插入图片描述

2.2 Tomcat基本使用

2.2.1 Tomcat下载与安装

Tomcat官网下载地址

2.2.2 Tomcat目录结构详解 ***

在这里插入图片描述

  • 重要记忆的目录:bin,conf,webapps

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

1)启动和停止

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

其中.bat文件是针对windows系统的运行程序,.sh文件是针对linux系统的运行程序。

2)启动问题
  • 第一个问题:启动一闪而过

    原因:没有配置环境变量

    解决办法:配置上JAVA_HOME环境变量(一定要确保自己的jdk路径是对的,并且路径不要到bin,是到jdk根路径)

    如果配置过JAVA_HOME还不行,就配置一个CTATLINE_HOME ,路径为tomcat根路径

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

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

    解决办法:

      能找到报异常的项目,就把它从发布目录(webapps)中移除
      
      不能确定报异常的项目,就重新解压一个新的Tomcat
    
  • 第四个:其它问题

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

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

3)访问自己的界面
  1. tomcat的项目发布目录:我们可以在webapps目录放入自己的项目,这样tomcat启动之后就可以访问这个项目

  2. 新建项目:新建hello/hello.html

  3. 编写内容:这里没写html的声明,html基本的结构标签,但是浏览器也可以解析

  4. 访问

2.3 Tomcat 乱码问题

  • 问题描述:启动tomcat之后,控制台(命令行)出现乱码

  • 问题解决:

    • 打开tomcat目录下conf/logging.properties文件
    • 修改如下:(将UTF-8改为gbk,因为cmd命令行窗口的字符集是gbk,所以要统一)

在这里插入图片描述

  • 重新启动tomcat

2.4 IDEA集成Tomcat服务器 ***

  1. 第一步:点击 Run -> Edit Configurations

在这里插入图片描述

  1. 第二步:点击 Templates-> Tomcat Server -> Local(往下拖才能看到Tomcat Server)

在这里插入图片描述

  1. 第三步:点击 Configure -> Tomcat Home -> 选择 tomcat 所在路径

在这里插入图片描述

  1. 通过创建项目,验证Tomcat安装成功

    • 创建一个Java Enterprise项目

在这里插入图片描述

  1. 项目名称

在这里插入图片描述

  1. 选择语言级别

    在这里插入图片描述

  2. 最终:能看到下方的Tomcat即可

在这里插入图片描述

2.5 Linux系统安装Tomcat

第一步:找到Tomcat

apache-tomcat-9.0.29.tar.gz

第二步:上传到linux

在crt上 使用 alt+p 
将windows上的软件拖进去即可(root目录)

第三步:进入/home/

cd /home/

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

mv apache-tomcat-9.0.29.tar.gz /home/

第五步:解压Tomcat

tar -zxvf apache-tomcat-9.0.29.tar.gz

第六步:进入 apache-tomcat-9.0.29/bin

cd /apache-tomcat-9.0.29/bin

第七步:启动tomcat

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

第八步:访问:http://linuxip地址:8080

**第九步:修改防火墙的规则 **(如果访问不了,执行此步)

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

方式2:放行8080 端口

在这里插入图片描述

2.6 JavaWeb项目创建 ***

2.6.1 JavaWeb工程概述

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

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

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

  • web工程目录

在这里插入图片描述

  • .iml是项的配置文件(idea自动维护,我们不需要管)

2.6.2 JavaWeb应用的创建

  1. 创建项目(新建一个空项目,然后再新建一个web模块)

在这里插入图片描述

  1. 项目名称

在这里插入图片描述

  1. 选择语言级别

  2. 目录结构

    • src:存放源代码的
    • web:存放项目相关资源的(html、css、js、jsp、图片等)
    • WEB-INF:存放相关配置的(web.xml等)

2.6.3 JavaWeb应用的部署

  • 应用部署,就是项目发布
1)IDEA部署
  1. 点击 Run -> Edit Configurations

  2. 点击 Tomcat Server -> Deployment
    在这里插入图片描述

    • Application Context是项目访问路径(项目根路径),/代表默认路径,多个项目中只能有一个默认路径
  3. 点击 Tomcat Server -> Server
    在这里插入图片描述

    • After launch:启动tomcat自动以谷歌浏览器打开首页:http://localhost:8080/ , 这里的/就是刚刚配置的默认路径
    • update resources , 是tomcat启动之后,我们还可能会修改项目,那这时候不用重新启动tomcat,只需要刷新浏览器,就可以看到修改后的内容
  4. 启动 tomcat 服务

  5. 验证结果:能看到Conneted to Server就说明启动成功,并且会自动打开项目首页

    • 这里为啥显示的是一个 $END$,这是他默认访问的是index.jsp
  6. 根路径设置
    在这里插入图片描述

  7. 修改之后,访问的路径就是/webdemo/

  8. 改一下首页

  9. 效果:不用重启tomcat,因为我们已经配置过 update resources,自动更新资源

    注意http://localhost:8080/ 访问项目根路径,相当于访问项目的web目录

    ​ 如果通过url访问某个目录,默认打开此目录中的index.jsp、index.html、index.htm

    ​ 可以配置虚拟路径:Application Context (应用上下文/项目根路径) /webdemo 指向的是项目的web目录

2.7 Tomcat配置

2.7.1 Tomcat配置文件介绍 ***

  1. 主配置文件 server.xml

在这里插入图片描述

  • 8080 端口:tomcat 服务默认端口号。访问 url 地址后必须手动写 :8080
  • 80 端口:HTTP协议采用的端口号。访问 url 地址后不用写 :80
  • 一般我们访问人家的网址都是不用添加8080的,这是因为项目发布之后都会将端口改为80,80端口可以省略
  1. 可以改为80端口,重启tomcat进行测试,访问http://localhost

    1. 扩展:在今日资料中有tomcat其他的配置文件,“day01_tomcat和http协议\资料\扩展资料”,感兴趣的可以先自己了解下,我们后边用到的话会详细介绍
  2. 测试完之后,再改为8080端口

2.7.2 Tomcat配置虚拟目录 (了解)

  • 虚拟目录的作用:可以发布任意目录下的项目
  • 之前我们以war包形式发布的webdemo项目,是必须放到webapps目录下的,那我们能不能将其他目录的项目也发布到tomcat呢?
  • 可以,需要配置虚拟目录
  • 步骤:
  1. 编辑 server.xml 配置文件,找到<Host>标签

  2. 加入以下内容
    在这里插入图片描述

    • path 属性:访问资源的虚拟目录名称
    • docBase属性:项目真实存在的路径
  3. 将之前发布的webdemo,copy到D盘,改名字为my

  4. 重启tomcat,访问:http://localhost:8080/my

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值