系统架构与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 ,如果出现以下页面,则表示成功了。

相关推荐
一只特立独行的猪6111 小时前
Java面试——集合篇
java·开发语言·面试
讓丄帝愛伱2 小时前
spring boot启动报错:so that it conforms to the canonical names requirements
java·spring boot·后端
weixin_586062022 小时前
Spring Boot 入门指南
java·spring boot·后端
Dola_Pan5 小时前
Linux文件IO(二)-文件操作使用详解
java·linux·服务器
wang_book6 小时前
Gitlab学习(007 gitlab项目操作)
java·运维·git·学习·spring·gitlab
蜗牛^^O^6 小时前
Docker和K8S
java·docker·kubernetes
从心归零7 小时前
sshj使用代理连接服务器
java·服务器·sshj
IT毕设梦工厂8 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
Ylucius9 小时前
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
java·c语言·javascript·c++·python·学习
七夜zippoe9 小时前
分布式系统实战经验
java·分布式