JavaWeb
- 使用Java语言开发基于互联网的项目。
软件架构
- C/S:Cient/Server 客户端/服务器端
- 在用户本地有一个客户端程序,在远程有一个服务器端程序。
- 如:QQ等
- 优点:
- 用户体验好
- 缺点:
- 开发,安装,部署,维护麻烦
- B/S:Brower/Server 浏览器/服务器端
- 只需要一个浏览器,用户通过不同的网址(URL),客户访问不同的服务器端程序
- 优点:
- 开发,安装,部署,维护,简单
- 缺点;
- 如果应用过大,用户体验可能会受到影响;
- 对硬件要求过高。
B/S架构
-
资源分类:
- 静态资源:
- 使用静态网页开发技术发布的资源
- 特点:
- 所有用户访问得到的结果是一样的;
- 如:文本,图片,音频,视频,HTML,CSS,JavaScript(静态开发技术)
- 如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器,浏览器内置了静态资源的解析引擎,可以展示静态资源,称为响应。
- 动态资源
- 使用动态网页技术发布的资源
- 特点:
- 所有用户访问,得到的结果可能不一样。
- 如:jsp/servlet,php,asp等动态网页开发技术
- 如果用户请求的是动态资源,服务器会执行动态资源,转换为静态资源再发送给浏览器。
- 静态资源:
-
学习动态资源必须先学习静态资源,即静态网页技术三剑客。(HTML,CSS,JavaScript)
-
HTML:用于搭建基础网页,展示页面内容;
-
CSS:用于美化页面,布局页面。
-
JavaScript:控制页面的元素,使页面有动态的效果。
网络通信三要素
- IP:电子设备(计算机)在网络中的唯一标识
- 端口:应用程序在计算机中的唯一标识,0~65536
- 传输协议:规定了数据传输的规则
- 基础协议:
- tcp:安全协议,三次握手,速度较慢
- udp:不安全协议,速度快
- 基础协议:
web服务器软件
- 服务器:安装了服务器软件的计算机;
- 服务器软件:接收用户的请求,处理请求,做出响应;
- web服务器软件:也能接收用户的请求,处理请求,做出响应,但有其特点:
- 在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目;
- 动态资源必须在web服务器软件上使用,web服务器软件也被称为web容器。
- 常见的java相关的web服务器软件:
- webLogic:orgcle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费;
- webSphere:IBM公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费;
- JBOSS:JBOSS公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费;
- Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servle/jso、开源,免费。