Java Web——Tomcat服务器

Web开发基础栈技术示意图:

1. 服务器概述

服务器指的是网络环境下为客户机提供某种服务的专用计算机,服务器安装有网络操作系统和各种服务器的应用系统服务器的具有高速CPU运算能力、长时间可靠运行、强大I/O外部数据吞吐能力以及更好的扩展性.

简单概括来说,服务器可分为服务器软件和服务器硬件两部分:

  • 服务器硬件:这是服务器的物理基础,包括能够提供CPU、内存等计算资源的设备。这些硬件设备通常被设计为大规模、高性能,以确保服务器能够处理大量的请求和数据。
  • 服务器软件:这是运行在服务器硬件上的应用程序和系统,它们能够提供特定的服务。这些软件负责接收客户端的请求,并根据这些请求提供相应的数据和服务。服务器软件是服务器的“大脑”,负责处理和解释来自客户端的指令,然后调用硬件资源来完成任务。

总的来说,服务器硬件和软件共同构成了一个完整的服务器,使我们能够享受到各种各样的网络服务。

1.1. 服务器硬件

服务器硬件指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。

服务器是一种高级计算机,它比我们平常用的电脑更强大、更稳定。服务器的作用是

提供特定的服务给其他电脑用。为了让服务器能提供更好的服务,它里面安装了一些

特别的软件和系统。所以,服务器的运算速度很快,可以长时间运行不出问题,也能

处理很多数据。并且,如果以后需要更多的服务,服务器也可以升级来满足需求。


1.2. 服务器软件

服务器软件是一种特殊的软件程序,它是基于ServerSocket编写的。这个程序是运行在服务器上的,服务器是一台非常强大的电脑。这个服务器软件可以接收来自客户端的请求,客户端可以是手机、电脑或其他设备。当客户端发出请求时,服务器软件会根据这些请求来给出相应的回应和数据。就像你向一个服务员点菜,服务员会把你点的菜给你送过来一样。服务器软件就是这样一个“服务员”,它负责接收请求并回应数据。


2. Web服务器

Web服务器是一个特殊的软件程序。它的作用是把复杂的HTTP协议操作进行简化封装,这样程序员在开发Web应用的时候,就不需要花费很多时间和精力去自己编写解析HTTP协议的代码。这就像是Web服务器为程序员提供了一个方便的“工具箱”,让他们能更高效地开发Web应用。

此外,Web服务器的主要功能是提供网上信息浏览服务。也就是说,它负责存储和发布我们可以通过浏览器查看的网页信息。

当我们开发好自己的Web项目后,我们需要把它“部署”到Web服务器软件上,比如Tomcat。这个部署过程就是把我们的Web项目“放到”Web服务器上,让服务器能够知道如何展示和运行我们的项目。当Web服务器软件启动后,我们部署在服务器上的网页就可以通过浏览器直接访问了。这样,其他人就能通过互联网查看和使用我们开发的Web应用。


2.1. 常见的Web服务器

  • Tomcat(Apache):Tomcat是由Apache软件基金会开发的一个免费的JavaWeb服务器。由于其开源、稳定且支持广泛,Tomcat是目前应用最广的JavaWeb服务器。
  • Jetty:Jetty是一个更轻量级、更灵活的servlet容器。它通常被用于嵌入式环境或者作为应用程序的一部分集成到项目中。
  • JBoss(Redhat红帽):JBoss是一个支持JavaEE的开源JavaWeb服务器。它提供了一个EJB容器,可以用来实现企业级JavaBean的部署。同时,JBoss还支持SSH(Struts、Spring和Hibernate)轻量级的框架,使其在许多项目中得到应用。
  • GlassFish(Orcale):GlassFish是由Oracle开发的一个开源JavaWeb服务器。虽然它的应用不是很广,但它是JavaEE 5规范和Java平台标准版(J2EE)的参考实现。
  • Resin(Caucho):Resin是一个支持JavaEE的JavaWeb服务器。随着JavaEE技术的不断发展,Resin的应用也越来越广泛。
  • Weblogic(Orcale):Weblogic是一个商业化的JavaWeb服务器,需要付费使用。它支持JavaEE,适合用于大型项目。
  • Websphere(IBM):Websphere也是一个商业化的JavaWeb服务器,需要付费使用。它支持JavaEE,适合用于大型项目。

2.1.1. JavaWeb服务器

JavaWeb 开发是使用 Java 技术来开发 Web 应用程序的一种方式。Web 服务器软件是用于运行和管理 Web 应用程序的软件。

在 JavaWeb 开发中,需要安装 Java Web 服务器软件,以便在服务器上开发和部署 Web 应用程序。Java Web 服务器软件可以处理来自客户端的请求,并返回相应的 Web 资源(如 HTML 页面、图片、视频等)。安装了 Java Web 服务器软件的主机被称为 JavaWeb 服务器。它是一个可以运行 Web 应用程序的计算机,通常通过互联网与其他计算机相连。

在 JavaWeb 服务器中,您可以开发和部署各种类型的 Web 应用程序,例如动态网页、静态网页、Web 服务、数据库应用等。这些应用程序可以通过 Web 浏览器或其他客户端访问,使人们可以在任何时间、任何地点访问 Web 资源。

MySQL 是一种流行的关系型数据库管理系统,常用于存储和管理 Web 应用程序的数据。在 JavaWeb 开发中,您可以使用 MySQL 来存储和检索数据,以支持您的 Web 应用程序的功能和需求。


2.2. Tomcat服务器

Tomcat服务器软件是一个免费、开源的web应用服务器,它是由Apache软件基金会主导的一个核心项目,并且由Apache、Sun以及其他公司和个人共同开发和维护的。

Tomcat是一个轻量级的Web服务器,因为它只支持少量的JavaEE(Java Enterprise Edition,即Java企业版)规范,主要是Servlet和JSP。JavaEE规范是Java企业级开发中的各种技术规范的总和,包括13项规范,如JDBC、JNDI、EJB等。

由于Tomcat支持Servlet/JSP规范,因此它也被人们称作Web容器或Servlet容器。这意味着,JavaWeb程序需要依赖Tomcat来运行。

Tomcat的官网: Apache Tomcat® - Welcome!


2.2.1. 简单的Web服务器使用

使用步骤

  • 准备静态资源
  • 下载安装Web服务器软件
  • 将静态资源部署到Web服务器上
  • 启动Web服务器使用浏览器访问对应的资源

  1. 准备静态资源

准备一个简单的用于前端显示的html代码

如上图显示,直接双击打开的话,地址会显示该html文件的磁盘地址,证明是本地打开,而不是通过Web服务器打开


 2. 下载安装Web服务器软件

这里用的Apache旗下的Tomcat,从官网下载,解压并安装到本地电脑

Tomcat的官网: Apache Tomcat® - Welcome!


 3. 将静态资源部署到Web服务器上

把刚刚要演示的前端html文件移动到tomcat的webapps文件夹下


  1. 启动Web服务器使用浏览器访问对应的资源

在tomcat的bin文件下双击startup.bat

在浏览器地址栏输入http://localhost:8080/demo/demo.html

表示从本地服务器(localhost,也就是刚才安装的tomcat)的8080端口访问demo目录下的demo.html文件。在这里,localhost指的是当前计算机,也就是你的服务器所在的计算机。8080是Web服务器的端口号,而/demo/demo.html则是服务器上的资源路径,指向了服务器中demo文件夹下的demo.html文件。

所以当你在浏览器中输入这个URL并按下回车后,浏览器会向本地计算机的8080端口发送HTTP请求,请求获取`demo/demo.html`这个资源。如果Web服务器已经正确配置,并且demo.html文件存在于正确的位置,服务器就会返回这个HTML文件,并在浏览器中显示出来。

如果此时,别人知晓了我的IP地址,在浏览器地址栏去替换localhost,在我tomcat服务器正常开启的情况下就能访问到我的这个静态资源

这里只是一个简单的演示,实际开发中要比这个复杂的多


2.2.2. Tomcat的简单使用

2.2.2.1. 下载与安装
  1. 官网下载地址:Apache Tomcat® - Welcome!

  1. 获取 Tomcat 安装程序包

tar.gz文件是Linux操作系统下的安装版本

zip文件是Windows系统下的压缩版本

  1. 不同版本的 Apache Tomcat 对应于不同的 Java EE 技术规范版本

官网地址查询:Apache Tomcat® - Which Version Do I Want?

这个表展示了不同版本的 Apache Tomcat 与对应的 Java EE 技术规范版本以及支持的 Java 版本之间的关系。它对于开发者和系统管理员来说非常有用,因为它可以帮助他们了解在不同版本的 Apache Tomcat 中可以使用哪些 Java EE 技术规范,并确保他们的应用程序在正确的 Java 版本上运行。

还有,Tomcat 最好的小伙伴是 JSP+EL。


2.2.2.2. Tomcat启动
  1. 安装好Tomcat后,在其文件夹里面双击 bin 目录下的 startup.bat 文件,之后会弹出黑色小窗

2. 在浏览器地址栏输入 http://localhost:8080/,显示如下界面代表安装成功, 默认在 8080 端口

3. 注意,不要关闭黑窗口,关闭了,tomcat 服务就停止了


2.2.2.3. Tomcat启动故障排除

双击 startup.bat 文件,出现一个小黑窗口然后就没了,原因是因为没有配置好相关环境变量

Tomcat 本质是一个 Java 程序,所以要 jdk。运行Tomcat时,需要使用Java环境变量和Tomcat环境变

量。如果没有正确配置这些变量,将会导致Tomcat启动失败或出现其他错误。

解决办法:

暂时还没写,先放在这里。以后会写的


2.2.2.4. Tomcat目录结构
  • bin:这个目录包含了Tomcat的主要可执行文件。其中包括启动和停止Tomcat的脚本,以及一些用于管理Tomcat的实用程序。

  • conf:这个目录包含了Tomcat的配置文件。这些文件定义了Tomcat服务器的行为和设置,例如端口号、SSL配置、上下文配置等。

server.xml 用于配置 tomcat 的基本设置(启动端口,关闭端口, 主机名)

server.xml配置文件中默认启动端口是:8080

server.xml配置文件中默认主机名是:localhost

wex.xml 用于指定 tomcat 运行时配置(比如 servlet 等..)


  • lib:这个目录包含了一些数据库驱动程序和JDBC连接池的配置文件。这些文件用于支持Java数据库连接(JDBC)。

  • logs:这个目录包含了Tomcat的日志文件。这些文件记录了Tomcat服务器的活动和错误信息。

  • temp:这个目录用于存储Tomcat服务器在运行过程中创建的临时文件。这些文件包括工作目录、会话数据等。

  • webapps:这个目录用于存放Web应用程序。Tomcat将Web应用程序部署到这个目录下的子目录中。每个Web应用程序都作为一个单独的上下文(context)运行,每个上下文都有自己的目录。

webapps 目录是存放 web 应用,就是网站

  • work:这个目录用于存储Tomcat服务器在运行过程中创建的工作目录。这些目录包括用于处理请求的工作线程、会话数据等。

2.2.2.5. catalina 启动 Tomcat

“Catalina”是Apache Tomcat服务器使用的Servlet容器的名字。Tomcat的核心分为3个部分:Web容器、Catalina(servlet容器)和JSP容器。其中,Catalina负责处理servlet。

具体步骤:

在bin文件夹下的地址栏输入cmd进入命令窗口

输入启动代码:catalina run

成功启动


2.2.2.6. 停止 Tomcat

方式一:直接点击窗口上的 "x" 按钮(不推荐)

方式二: 进入 Tomcat 的 bin 目录下的 shutdown.bat 双击,就可以停止 Tomcat 服务器 (推荐)

推荐方式二是因为在bin目录下的shutdown.bat中,它包含了一个停止Tomcat的命令,双击shutdown.bat就可以执行这个命令,从而停止Tomcat服务器。相比之下,方式一直接点击窗口上的 "x" 按钮可能会导致一些不稳定或者不可预见的情况,因为这可能会在Tomcat还在运行的时候强制关闭窗口,导致未保存的数据丢失或者服务器未完全关闭。因此,为了安全和稳定的停止Tomcat,建议使用方式二。


2.2.2.7. Tomcat 部署 WEB 应用
  1. 什么是Web应用

Web应用是一种基于互联网的应用程序,它由多个网页组成,可以提供用户与计算机进行交互的界面。Web应用通常运行在Web服务器上,用户通过浏览器访问这些应用。

Web应用通常分为前端和后端两个部分。前端部分是用户在浏览器中看到的界面和交互元素,如文本、图片、视频、按钮等。而后端部分则是处理用户请求、数据库交互等后台逻辑的部分。

Web应用开发需要使用不同的技术和工具,如HTML、CSS、JavaScript等前端技术,以及后端编程语言和数据库技术等。开发人员需要根据业务需求和技术选型来设计和开发Web应用,以满足用户的需求。

总之,Web应用是一种基于互联网的应用程序,它由多个网页组成,可以提供用户与计算机进行交互的界面,是现代互联网应用的重要组成部分。

WEB应用是多个web资源的集合。简单的说,可以把web应用理解为硬盘上的一个目录, 这个目录用于管理多个web资源。


  1. Web应用的组成

Web应用是由前端和后端两个部分组成的。

前端部分通常包括用户界面和交互功能,它是由HTML、CSS、JavaScript等技术构建而成的。前端部分负责展示数据和接收用户输入,它与用户进行直接交互,并向后端发送请求以获取或更新数据。

后端部分通常包括服务器端程序、数据库和相关的配置文件等。服务器端程序处理请求、管理会话、与数据库进行交互等。数据库用于存储和检索数据,同时也可以处理用户提交的表单和其他请求。后端部分负责处理业务逻辑和数据存储,它与前端部分进行通信,并为其提供数据和服务的支持。

前端和后端部分通过HTTP协议进行通信。当用户通过浏览器访问Web应用时,浏览器会向Web服务器发送请求。Web服务器将请求转发给后端程序进行处理。后端程序会从数据库中检索数据,并将其呈现在Web应用的前端部分中。

Web应用还可以包括其他组成部分,如安全性和身份验证、云计算和部署等。安全性可以保护用户数据的安全,身份验证可以验证用户的身份并控制对其资源的访问权限。云计算平台可以使Web应用程序更具灵活性和可靠性,并提供大规模的存储和计算能力。

总之,Web应用由前端和后端两个部分组成,它们共同协作以提供完整的Web应用程序。前端部分提供用户界面和交互功能,而后端部分则处理数据和业务逻辑,以支持整个Web应用的运行。


  1. JavaWeb程序/应用/工程目录结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨空集

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值