系统架构与Tomcat的安装和配置

2023.10.16

今天是学习javaweb的第一天,主要学习了系统架构的相关知识和原理,下载了web服务器软件:Tomcat,并对其进行了配置。


系统架构

包括:C/S架构 和 B/S架构。

C/S架构:

Client / Server(客户端 / 服务器),特点:需要安装特定的客户端软件

优点:

  • 速度快(软件中的数据大部分都是集成到客户端软件当中的,很少量的数据从服务器端传送过来,所以C/S结构的系统速度快)
  • 界面酷炫(有专门的语言实现界面,更加灵活)
  • 体验好(速度又快,界面又酷炫,当然体验好了)
  • 服务器压力小(因为大量的数据都是集成在客户端软件当中,所以服务器只需要传送很少的数据量)
  • 安全(大量的数据是集成在客户端软件当中的,并且客户端有很多个,服务器虽然只有一个,服务器如果出现不可抗力因素,问题也不大,因为大量的数据在多个客户端上有缓存,有存储,所以从这个方面来说,C/S结构的系统比较安全)

缺点:

  • 升级维护比较差劲(升级维护比较麻烦。成本比较高。每一个客户端软件都需要升级。有一些软件不是那么容易安装的)

B/S架构:

B/S(Browser / Server,浏览器 / 服务器),实际上B/S结构的系统还是一个C/S,只不过这个C比较特殊,这个Client是一个固定不变的浏览器软件。

优点:

  • 升级维护方便,成本比较低。(只需要升级服务器端即可。)
  • 不需要安装特定的客户端软件,用户操作极其方便。只需要打开浏览器,输入网址即可。

缺点:

  • 速度较慢(因为所有的数据都是在服务器上,用户发送的每一个请求都是需要服务器响应数据,所以B/S结构的系统在网络中传送的数据量比较大。)
  • 体验差(界面不是那么酷炫,因为浏览器只支持三个语言HTML CSS JavaScript,再加上速度慢。)
  • 不安全(所有的数据都在服务器上,如果服务器发生不可抗力因素,最终数据全部丢失)

B/S结构的系统通信原理

WEB系统的通信原理:

  1. 用户输入网址(URL)
  2. 域名解析器进行域名解析,如:http://110.242.68.3:80/index.html
  3. 浏览器软件在网络中搜索110.242.68.3这一台主机,直到找到这台主机。
  4. 定位110.242.68.3这台主机上的服务器软件,即定位到80端口对应的服务器软件。
  5. 80端口对应的服务器软件得知浏览器想要的资源名是:index.html
  6. 服务器软件找到index.html文件,并且将index.html文件中的内容直接输出响应到浏览器上。
  7. 浏览器接收到来自服务器的代码(HTML CSS JS),并进行渲染,展示效果。

web服务器软件的下载与配置

关于WEB服务器软件:

WEB服务器软件有:

  • Tomcat(WEB服务器)

  • jetty(WEB服务器)

  • JBOSS(应用服务器)

  • WebLogic(应用服务器)

  • WebSphere(应用服务器)

应用服务器和WEB服务器的关系:

  • 应用服务器实现了JavaEE的所有规范。(JavaEE有13个不同的规范。)

  • WEB服务器只实现了JavaEE中的Servlet + JSP两个核心的规范。

  • 应用服务器是包含WEB服务器的。

Tomcat安装与配置:

直接去官网下载Tomcat即可,我这里下载的是10.0.12版本。由于Tomcat是用java语言写的,想运行起来必须有java的运行环境。这里的配置步骤为:

  • 配置JAVA_HOME(JDK的根目录):我这里为:C:\Program Files\Java\jdk-21
  • 配置CATALINA_HOME:我这里为:E:\tomcat\apache-tomcat-10.0.12
  • 最后在path中添加以上两个目录的bin目录,如下图:

最后在cmd控制台输入命令:startup,即可启动Tomcat服务器。然后在浏览器中输入网址:http://localhost:8080/ ,如果出现了以下页面,则说明服务器启动成功了。

最后输入命令:shutdown.bat 退出服务器。

关于Tomcat服务器的目录

  • bin : 这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等。

  • conf: 这个目录是Tomcat服务器的配置文件存放目录。(server.xml文件中可以配置端口号,默认Tomcat端口是8080)

  • lib :这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是Java语言编写的,这里的jar包里面都是class文件。

  • logs: Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志文件。

  • temp:Tomcat服务器的临时目录。存储临时文件。

  • webapps:这个目录当中就是用来存放大量的webapp(web application:web应用)

  • work:这个目录是用来存放JSP文件翻译之后的java文件以及编译之后的class文件。

实现一个最基本的web应用

接下来使用Tomcat服务器实现一个简单的web应用。

  • 第一步:找到CATALINA_HOME\webapps目录

    • 因为所有的webapp要放到webapps目录下。(这是Tomcat服务器的要求。如果不放到这里,Tomcat服务器找不到你的应用。)
  • **第二步:在CATALINA_HOME\webapps目录下新建一个子目录,**起名:oa

    • 这个目录名oa就是你这个webapp的名字。
  • 第三步:在oa目录下新建资源文件,例如:index.html

    • 随便编写一点index.html文件的内容,如:
html 复制代码
<!DOCTYPE html>
<html>
    <head>
        <title>index page</title>
    </head>
    <body>
        <h1>I'm Michael Jay!</main></h1>
    </body>
</html>
  • 第四步:启动Tomcat服务器

  • 第五步:打开浏览器,在浏览器地址栏上输入URL: http://localhost:8080/oa/index.html ,如果出现以下页面,则表示成功了。

相关推荐
Coder个人博客7 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
侠客行03178 小时前
Mybatis连接池实现及池化模式
java·mybatis·源码阅读
蛇皮划水怪8 小时前
深入浅出LangChain4J
java·langchain·llm
老毛肚10 小时前
MyBatis体系结构与工作原理 上篇
java·mybatis
不凉帅10 小时前
NO.7系统架构设计和软件质量
系统架构
风流倜傥唐伯虎10 小时前
Spring Boot Jar包生产级启停脚本
java·运维·spring boot
Yvonne爱编码10 小时前
JAVA数据结构 DAY6-栈和队列
java·开发语言·数据结构·python
Re.不晚10 小时前
JAVA进阶之路——无奖问答挑战1
java·开发语言
你这个代码我看不懂11 小时前
@ConditionalOnProperty不直接使用松绑定规则
java·开发语言
fuquxiaoguang11 小时前
深入浅出:使用MDC构建SpringBoot全链路请求追踪系统
java·spring boot·后端·调用链分析