目录
1. Web简介
- Web程序是一种可以通过浏览器访问的应用程序
- Web程序中的打包类型为war,与jar的区别在于含有一些静态页面
-
1.2 B/S结构
- ——基于浏览器端和服务器端的交互 (能处理复杂的系统)
- 1.2.1 特点
- 浏览器端不需要特定的升级(保证pc机器上存在浏览器即可)
- B/S需要符合以下条件(由服务器集群满足)
- 高并发
- 高可用
- 高吞吐量
- 负载均衡(老服务器/新服务器)
- 海量数据
- 1.2.1 特点
- ——基于浏览器端和服务器端的交互 (能处理复杂的系统)
-
1.3 C/S结构
- ——基于客户端和服务器端的交互
- 服务器集群
- 使用Nginx(http服务器)+ Keep-Alive能保证高可用(集群不会出现宕机),
- 机制
- Ping-Pang机制/投票容错机制(当前的服务器各个节点,超过半数以上投票,有效(认为该服务器挂了))
- 一个服务器集群:至少3台主机,3台备份机,之间相互通信
- 备份机有一个vip(虚拟ip地址),一旦主机出现问题,备份机才启用
-
1.4 HTTP协议
- 1.4.1 HTTP
- 超文本传输协议
- 1.4.2 特点
- Web应用程序的基础
- 基于TCP/IP协议的应用层协议
- HTTP协议的应用缺省端口是80
- HTTP协议特点是:无状态、无连接
- 1.4.1 HTTP
-
1.5 三大组件
- Servlet 处理应用程序
- Filter 过滤
- Listener监听器
-
1.6 MVC模式
- 代码分层,以及关于传统一种开发方式
- M 即Model(模型层),主要负责处理业务逻辑以及数据库的交互,在Java中是POJO(Java Bean对象)代替
- V 即View(视图层),主要用于显示数据和提交数据,在Java中是JSP代替
-
C 即Controller(控制器),主要是用作捕获请求并控制请求转发
- 代码分层,以及关于传统一种开发方式
2. 初识Servlet
称为小服务程序 -> 用Java编写的服务端程序。
一般认为,Servlet就是Java实现的一个接口。
-
2.1 功能
- 一般,多用来扩展基于HTTP协议的Web服务器
- 交互式地浏览和修改数据,生成动态Web内容。
- 在Servlet中,每个请求都由一个轻量级的Java线程处理。
-
2.2 任务
- 读取客户端/浏览器发送的显式数据
- 读取客户端/服务器发送的隐式的HTTP请求数据
- 处理并生成结果(执行业务层逻辑,访问数据库,调用Web服务等)
- 发送显式的数据到客户端/浏览器
- 发送隐式的HTTP响应到客户端
3. Web容器
-
3.1 引入
- Servlet没有main(),无法自己执行。若需要执行,需要借用含有main()的程序帮忙执行。因此,Servlet受控于另外一个Java应用(控制程序),这个应用就称为容器。
- 通常,将处理静态资源的服务器称为Web服务器;将处理Java Servlet的服务器称为Servlet容器。
-
3.2 功能
- 通信支持
- 在Sevlet与Web服务器建立连接的时候,无需关心Socket的建立、端口的监听等,容器中提供的方法就可以做到。
- 生命周期管理
- 可以控制Servlet的生死
- 多线程支持
- 容器会自动的线程进行创建和管理
- 声明方式实现安全
- 通过XML部署描述文件配置安全性
- JSP支持
- 将JSP代码翻译为Java代码
- 通信支持