JavaWeb - 07 Tomcat 服务器相关内容

发布于:2022-12-19 ⋅ 阅读:(621) ⋅ 点赞:(0)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.企业级开发简介

1.1 JavaEE规范

  • JavaEE 规范是 J2EE 规范的新名称,早期被称为 J2EE 规范,其全称是 Java 2 Platform Enterprise Edition ,它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准( JCP 组织成员)。
  • 之所 以改名为 JavaEE ,目的还是让大家清楚 J2EE 只是 Java 企业应用。
  • 在2004年底中国软件技术大会 Ioc 微容器(也就是 Jdon 框架的实现原理)演讲中指出:我们需要一个跨 J2SE/WEB/EJB 的微容器,保护 我们的业务核心组件,以延续它的生命力,而不是依赖 J2SE/J2EE 版本.此次 J2EE 改名为 Java EE , 实际也反映出业界这种共同心声。
  • JavaEE 规范是很多 Java 开发技术的总称。这些技术规范都是沿用自 J2EE 的。一共包括了13个技术规 范。例如: jsp/servlet , jndi , jaxp , jdbc , jni , jaxb , jmf , jta , jpa , EJB 等。
  • 其中, JCP 组织的全称是 Java Community Process 。它是一个开放的国际组织,主要由 Java 开发者 以及被授权者组成,职能是发展和更新。成立于1998年。官网是:JCP JavaEE 的版本是延续了 J2EE 的版本,但是没有继续采用其命名规则。
  • J2EE 的版本从1.0开始到1.4结 束,而 JavaEE 版本是从 JavaEE 5 版本开始,目前最新的的版本是 JavaEE 8 。

1.2 Web技术

  • web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在Internet上的一种网络服务,为浏览者在Internet上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将Internet上的信息节点组织成一个互为关联的网状结构。
  • 前面学的 HTML , CSS 和 JS 的参考文档《 W3School 全套教程》中的 W3C 就是万维网联盟。他们的出现都是为了 让我们在网络的世界中获取资源,这些资源的存放之处,我们称之为网站。我们通过输入网站的地址 (即:网址),就可以访问网站中提供的资源。在网上我们能访问到的内容全是资源(不区分局域网还 是广域网)。只不过,不同类型的资源展示的效果不一样。
  • 资源可以分为静态资源与动态资源
  • 静态资源指的是,网站中提供给人们展示的资源是一成不变的,也就是说不同人或者在不同时间,看到 的内容都是一样的。例如:我们看到的新闻,网站的使用手册,网站功能说明文档等等。而作为开发 者,我们编写的 html , css , js ,图片,多媒体等等都可以称为静态资源。
  • 动态资源它指的是,网站中提供给人们展示的资源是由程序产生的,在不同的时间或者用不同的人员由 于身份的不同,所看到的内容是不一样的。例如:我们在12306上购买火车票,火车票的余票数由于时 间的变化,会逐渐的减少,直到最后没有余票。还有,我们在 CSDN 上下载资料,只有登录成功后,且 积分足够时才能下载。否则就不能下载,这就是访客身份和会员身份的区别。作为开发人员,我们编写 的 JSP , servlet , php , ASP 等都是动态资源。
  • 关于广域网和局域网的划分,广域网指的就是万维网,也就是我们说的互联网。局域网是指的是在一定 范围之内可以访问的网络,出了这个范围,就不能再使用的网络。

1.3 体系结构

  • 在我们前面课程的学习中,开发的都是 Java 工程。这些工程在企业中称之为项目或者产品。
  • 项目也 好,产品也罢,它是有系统架构的,系统架构的划分有很多种方式。
  • 我们今天讨论的是基础结构上的划 分。除此之外,还有技术选型划分,部署方式划分等等。
  • 基础结构划分:C/S结构,B/S结构两类。
  • 技术选型划分:Model1模型,Model2模型,MVC模型和三层架构+MVC模型。
  • 部署方式划分:一体化架构,垂直拆分架构,分布式架构,流动计算架构,微服务架构。

1.C/S结构

它指的是客户端——服务器的方式。其中C代表着Client,S代表着服务器。C/S结构的系统设计图如 下:

在这里插入图片描述

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

2.B/S架构

它指的是浏览器——服务器的方式。其中B代表着Browser,S代表着服务器。B/S结构的系统设计图如 下:

在这里插入图片描述

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

两种架构的区别

  • 硬件环境不同,C/S通常是建立在专用的网络或小范围的网络环境上(即局域网),且必须要安 装客户端。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行。
  • C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强。
  • B/S结构维护升级比较简单,而C/S结构维护升级相对困难。

2.Tomcat服务器相关概述

2.1 Tomcat介绍

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

  • Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

  • 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。Tomcat最新版本为10.0.14。

  • 常见的服务器

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

2.2 下载与安装

  • 下载地址:https://tomcat.apache.org/download-80.cgi
  • 安装方式:是免安装的,直接解压
  • 启动方式:start.bat
  • 关闭方式: shutdown.bat
  • 端口号配置 : tomcat/conf/server.xml
  • 启动控制台乱码 : tomcat\conf\logging.properties ava.util.logging.ConsoleHandler.encoding = GBK

2.3 启动出现的问题

1.启动一闪而过

出现的原因:因为tomcat是要依托本地的JDK来运行的,本地的JDK若没有配置环境变量。就会闪退。

解决方式:通过JAVA_HOME方式来配置环境变量

2.Address already in use : JVM_Bind

出现原因:tomcat的端口被占用

解决方式:修改tomcat端口、或者关闭8080端口正在运行的程序

3.启动有很多异常,但仍然能够正常启动

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

解决办法: 能找到报异常的项目,就把它从发布目录中移除。 不能确定报异常的项目,就重新解压一个新的Tomcat。

2.4 Tomcat目录结构介绍

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lo75Chnu-1663069532919)(3.png)]

2.6 Tomcat 部署项目

方式一 : 直接将项目文件部署在Tomcat中webapps目录下。

  • 直接将一个web应用程序放置在tomcat/webapps目录下。这时web应用程序目录名称就是我们访问 tomcat下的这个应用程序的名称

方式二 : 虚拟目录初级版

  • 将一个不在tomcat下的web应用程序部署加载。可以在tomcat/conf/server.xml文件中配置,在 server.xml文件中的标签中添加一段配置
  • <Context docBase="磁盘路径" path="项目访问路径" />

方式三 : 虚拟目录优化版

  • 在tomcat/conf/Catalina/localhost下创建任意名称的一个xml文件,例如创建一个good.xml文件, 在good.xml中书写
  • <Context docBase="磁盘路径" />
  • 这种方案配置,xml文件的名称就是访问路径,在浏览器中访问http://localhost/good就可以。

2.7 在IDEA中部署Tomcat服务器

1.创建JavaWeb项目

在这里插入图片描述

2.选择项目存放路径

在这里插入图片描述

3.添加Tomcat插件

在这里插入图片描述

在这里插入图片描述

4.配置tomcat插件

在这里插入图片描述

在这里插入图片描述

5.部署web项目环境

在这里插入图片描述

6.配置Tomcat参数信息

在这里插入图片描述

7.点击ok配置完成

2.8 在Linux系统上配置Tomcat服务器

1.进入Tomcat官网,找到对应版本点击 download 进入下载页 面,如下图

在这里插入图片描述

2.上传到Linux

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

3.在 /usr/local 新建一个文件夹tomcat

mkdir /usr/local/tomcat

4.移动 tomcat…tar.gz 到 /usr/local/tomcat

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

5.进入/usr/local/tomcat目录,解压Tomcat

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

7.进入 /usr/local/tomcat/apache-tomcat-8.5.32/bin

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

8.启动tomcat

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

9.修改防火墙的规则

方式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

2.9.web资源会部署到那去?

①web目录中资源会部署到哪儿?

部署到"\day09_web_war_exploded" 

②src目录中资源会部署到哪儿?

部署到"\day09_web_war_exploded\WEB-INF\classes" 

③项目目录中资源会部署到哪儿?

不会部署!!! 

④WEB-INF目录中资源会部署到哪儿?

部署到"/day09_web_war_exploded/WEB-INF" WEB-INF目录中的资源不能够直接被外部访问,它们是受保护的资源,只能被内部访问(转发)
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到