Java Web基础---第一次JAVAEE作业
Java Web基础
C/S 和 B/S结构的理解
C/S架构
- C/S架构及其背景
C/S架构是一种比较早的软件架构,主要应用于局域网内。在这之前经历了集中计算模式,随着计算机网络的进步与发展,尤其是可视化工具的应用,出现过两层C/S和三层C/S架构,不过一直很流行也比较经典的是我们所要研究的两层C/S架构。
![image-20200510092929802](https://img2020.cnblogs.com/blog/1621419/202005/1621419-20200510105448796-2024155376.png)
C/S架构软件(即客户机/服务器模式)分为客户机和服务器两层:第一层是在客户机系统上结合了表示与业务逻辑,第二层是通过网络结合了数据库服务器。简单的说就是第一层是用户表示层,第二层是数据库层。
-
C/S架构的优点
- 点对点的模式使得更安全
- 为服务器分担一些逻辑事务,可以进行数据处理和数据存储。可以处理复杂的事务流程
- 充分利用两者的硬件设施,避免资源的浪费
- 客户端操作界面可以随意排列,充分满足客户的需要,展现特点与个性
-
C/S架构的缺点
-
C/S架构适用于局域网,对网速的要求比较高
-
客户端界面缺乏通用性,且当业务更改时就需要更改界面,重新编写
-
当客户端用户增多时,服务器难以承担重负,是名副其实的“胖”客户端
-
初次开发就需要配备好客户端,服务器,需要有专业水准的技术人员,所以成本高
-
B/S架构
- B/S架构及其背景
随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
在B/S出现的早期,浏览器只能显示静态页面,得不到良好的交互,不能进行大量的逻辑处理,当时浏览器主要用来实现信息的发布,是一种单向的应用。后来出现了动态网页,这里的动态有三个方面,一是交互,二是动画,三是数据。这样,浏览器的交互性能得到极大提高。页面也越来越丰富多彩。浏览器也能处理部分逻辑事务,所以浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端。
-
B/S架构的优点
- 浏览器只处理一些简单的逻辑事务,负担小
- 数据存放在数据库服务器,客户端并不存放任何业务数据或者数据库连接信息,所以数据比较安全
- 在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效
- 客户端操作界面可以随意排列,充分满足客户的需要,展现特点与个性
-
B/S架构的缺点
-
页面需要不断地动态刷新,尤其是用户增多,网速慢得情况,很费时
-
用户增多时,服务器响应速度慢
-
服务器承担着重要的责任,数据负荷较重。一旦发生服务器“崩溃”等问题,后果不堪设想
-
由于不需要安装客户端,客户端易扩展,还有就是外部用户也可以访问,所以B/S面对大量的不可知用户
-
C/S和B/S架构的区别图
WEB服务器原理
什么是web服务器?
![img](https://upload-images.jianshu.io/upload_images/8094931-9b8173a55c7f0b96..jpg?imageMogr2/auto-orient/strip|imageView2/2/w/535/format/webp)
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
![img](https://upload-images.jianshu.io/upload_images/8094931-d3ebe87a89a7102e..gif?imageMogr2/auto-orient/strip|imageView2/2/w/600/format/webp)
Web服务器工作原理图解
服务器的工作流程可总结为三步
- 接收数据
- 发送数据
- 数据处理
Web服务器的本质则就是接收数据 ⇒ HTTP解析 ⇒ 逻辑处理 ⇒ HTTP封包 ⇒ 发送数据
Web服务器之提供静态文件工作原理图解
Web服务器之数据提交工作原理图解
仅仅只是网页的浏览并不能满足所有人的需求,客户端与服务器应当是有数据交互的。即使单方面的资源请求任然是网络的主力军。
数据提交对于用户来说有什么作用。
-
资源上传
-
登陆验证
-
API接口调用
-
远程指令等
数据提交使得用户的操作性有了质的飞跃,它使得HTTP短连接获取静态文件的方式提升到了动态交互的层次上。该性质也催化出各式各样的编程语言、框架。例如PHP,JavaWeb。
Java Web 开发环境与搭建
开发环境
- jdk下载、安装、配置环境变量
-
jdk下载
-
安装JDK
双击安装一路下一步即可。因为安装JDK会自动安装JRE,所以安装过程中弹出安装jre的窗口是可以直接关掉的。
-
配置环境变量
- 下载、安装、激活、使用IntelliJ IDEA
-
下载
官方下载地址:[https://www.jetbrains.com/idea/download/#section=windows] (https://www.jetbrains.com/idea/download/#section=windows)
-
安装、激活
-
使用
-
创建工程
-
运行JAVA项目
-
查看结果
-
创建Java Web工程
-
- 下载、安装、配置Tomcat环境变量
-
下载:
官网下载地址为:http://tomcat.apache.org/ 选择需要的版本进行下载。
比如我想下载windows平台64位Tomcat9:
-
安装:
下载的文件是压缩包,解压即可用。
-
配置:配置Tomcat环境变量和配置JDK环境变量类似:在系统变量下新建变量,
- 变量名:
CATALINA_HOME
- 变量值:Tomcat解压目录,bin的上级目录,如
D:\tools\apache-tomcat-9.0.0.M22
- 在变量Path后添加
%CATALINA_HOME%\bin;
后保存; - 按
Window
+R
打开,输入cmd
打开cmd命令窗口。 - 输入
startup
后按回车。配置没问题会启动Tomcat服务。 - 然后打开浏览器输入http://localhost:8080/,如果出现以下页面说明Tomcat环境配置正确。
- 变量名:
-
下载、安装、配置maven
-
下载:
-
安装:
解压即用。
-
配置:配置Tomcat环境变量和配置JDK环境变量类似:在系统变量下新建变量,
- 变量名:
MAVEN_HOME
- 变量值:maven解压目录,bin的上级目录,如
D:\tools\apache-maven-3.5.0
- 在变量Path后添加
%MAVEN_HOME%\bin;
后保存; - 按
Window
+R
打开,输入cmd
打开cmd命令窗口。 - 输入
mvn -v
后按回车。出现maven版本信息说明maven环境配置正确。
- 变量名:
-