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系统的通信原理:
- 用户输入网址(URL)
- 域名解析器进行域名解析,如:http://110.242.68.3:80/index.html
- 浏览器软件在网络中搜索110.242.68.3这一台主机,直到找到这台主机。
- 定位110.242.68.3这台主机上的服务器软件,即定位到80端口对应的服务器软件。
- 80端口对应的服务器软件得知浏览器想要的资源名是:index.html
- 服务器软件找到index.html文件,并且将index.html文件中的内容直接输出响应到浏览器上。
- 浏览器接收到来自服务器的代码(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文件。