JavaSE部分知识
JavaEE的封装----模拟简易的Tomcat容器(资源的管理 Servlet)
需要的技术
1.语法结构 if for 数组。。。
2.面向对象编程思想---思想
类 对象
属性 方法 构造
3.工具类String
类 "abc"字符串对象
字符串操作 拆分 截取
4.集合ArrayList HashMap
数据结构
性能特点
5.I/O 读/写 Tomcat容器 存储资源 发送请求给这个容器 帮我们找/管理资源
6.基于B/S模型项目
C/S Client/Server 客户端/服务器
想要使用QQ跟大家聊天
1.官网下载一个QQ安装程序
2.当前本地电脑端运行安装程序---> C://program files//QQ
3.与其他客户端交互 需要一个服务端的支持
4.背后需要互联网的支持(HTTP协议 Socket I/O String Swing)
安装程序经常更新---->
维护不好
开发周期
容易产生问题(本地电脑 误操作)
页面比较麻烦
客户端不同的项目不通用---->>>>每一个系统的客户端都需要重新开发一遍
B/S Browser/Server 浏览器/服务器
将客户端的展示变得统一起来
规则----> 一个统一的软件来充当展示"页面" 内容遵循统一的规则
浏览器 只识别一种语言HTML
Socket套接字-----网络连接(桥梁)
I/O流------数据流动
通过自己设计的服务读取一个请求
写一个服务端 服务端的管理 + 服务端里面存储的资源
ServerSocket server = new ServerSocket(9999);//0-65536范围 4000以后
Socket socket = server.accept();//接受
//System.out.println("你连我干啥呀???");
//System.out.println(socket);
//socket可以理解为是一个连接
//拿到连接以后 目的是为了读取浏览器发送的请求 遵循的是HTTP协议 说白了就是一个字符串
//想要读取浏览器发送的请求 需要Input/Output
// 读取I 通过socket获取 读取/写入的单位 字节 字符
InputStream is = socket.getInputStream();
// 读取中文不太方便-----字节流 转化成字符流
InputStreamReader isr = new InputStreamReader(is);//读取中文可以啦
// 读取是HTTP协议信息 是字符串 一行一行的
// 为了读取一行一行更加方便 再进行一个包装 BufferedReader类下有一个方法 readLine
BufferedReader reader = new BufferedReader(isr);
//上述三行代码的背后体现出一种设计模式----->装饰者模式 递归思想 23种
String value = reader.readLine();
while(value!=null && !"".equals(value)) {
System.out.println(value);
value = reader.readLine();
}
//分析请求协议头种的数据信息
//数据信息去找资源-----Servlet普通的Java类 其实有好多规则 继承 重写 参数。。。
//Servlet类(对象--方法--执行--结果) 对象底层的管理机制----反射
//结果拿到 给浏览器响应回去 String-->HTML形式的规则
// 浏览器那一边做的事情
// 浏览器读取响应信息数据 String-->HTML
// 浏览器内核去解析这个String
// 相应的位置进行展示(图片 按钮 文字 表格)