【计算机网络】: 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
【网络编程】: 在网络通信协议下,实现网络互联的不同计算机上运行的程序间可以进行数据交换。通俗的说,就是可以使用我们编写的网络程序基于互联网去访问别人电脑上的资源和程序。
【网络编程分类】:
【简介】: CS结构的全程为Client/Server结构,是指客户端和服务器结构。常见的有QQ、百度网盘等软件。
【结构图示】:
【特点】: 一般服务端仅仅安装了数据库和数据存储,所有的程序代码(功能、界面)都编写在客户端软件中。
【优点】: 直观、用户体验度好,界面美观、安全性高。
【缺点】: 每次升级的过程中都需要重新安装,移植性较低,开发和维护成本较高,不跨平台。
【简介】: BS结构的全称是Browser/Server结构,是指浏览器和服务器结构。常见的浏览器有谷歌、火狐等。
【图示结构】:
【特点】: 在服务端编写代码、所有的业务逻辑都由服务端完成,客户端只负责渲染页面。
【优点】: 可移植性高、开发和维护较好。
【缺点】: 以前用户体验不好,界面不够丰富,安全性相对较低。
【新型的BS结构】:
【简介】: IP地址就是互联网协议地址,想要两个网络中的计算机能够被识别,就必须为每台计算机指定一个唯一的标识,通过该标识找到相应的计算机,而IP地址就是这个唯一的标识。
【分类】:
【域名】: 将一个IP地址映射到某一组英文字母,方便记忆。
【IP常见的命令】:
ipconfig
ping 空格 ip地址或域名
ping baidu.com
ping 120.78.159.117
【简介】: 端口号是用两个字节表示的整数,它的范围是0 ~ 65535。0 ~ 1023之间都是一些知名的网络服务和应用,普通的应用程序需要使用1024以上的端口号。
【作用】: 网络通信的本质就是两个进程之间的通信,端口号就是在计算机中的众多程序中唯一标识的标志。
【简介】: 网络通信协议是计算机必须遵守的规则,只有遵守这些规则,计算机之间才能通信。
【简介】: UDP是一种无连接的通信协议,不建立逻辑连接,当一台计算机向另外一台电脑发送数据的时候,发送端不会确定接收端是否在线,直接发送数据,同样接收端也是如此,不会向发送端反映是否收到数据。
【特点】:
【使用场景】:
【传输图示】:
【简介】: TCP是面向连接的通信协议,也就是在传输数据之间先和服务器之间建立逻辑连接,再进行数据传输。
【特点】:
【三次握手示意图】:
【三次握手的步骤】:
【四次挥手示意图】:
【四次挥手步骤】:
【步骤】:
【代码示例】:
package cn.simplelife.work._01tcp.client;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
/**
* @ClassName Client
* @Description
* @Author simplelife
* @Date 2022/10/17 15:22
* @Version 1.0
*/
public class Client {
public static void main(String[] args) {
try {
// 1、创建一个连接某个服务器的socket对象
Socket socket = new Socket("127.0.0.1", 8090);
// 2、从socket中拿到输出流往服务器发数据
OutputStream outputStream = socket.getOutputStream();
outputStream.write("您好!服务器".getBytes(StandardCharsets.UTF_8));
// 3、调用Socket对象的shutdownOutput()方法,通知服务器发送完毕。
socket.shutdownOutput();
// 4、从Socket中拿到输入流拿到数据
InputStream inputStream = socket.getInputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) > 0) {
String s = new String(bytes, 0, len);
System.out.println(s);
}
// 5、调用socket对象的shutdownInput()方法,通知服务器数据接收完毕
socket.shutdownInput();
// 6、关闭Socket对象
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
【步骤】:
【代码】:
package cn.simplelife.work._01tcp.server;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
/**
* @ClassName Server
* @Description
* @Author simplelife
* @Date 2022/10/17 16:35
* @Version 1.0
*/
public class Server {
public static void main(String[] args) {
try {
// 1、创建一个服务端对象
ServerSocket serverSocket = new ServerSocket(8090);
// 2、侦听客户端的连接,获取和客户端通信的socket对象
Socket accept = serverSocket.accept();
// 3、从Socket获取输入流,接收客户端发送的数据
InputStream inputStream = accept.getInputStream();
byte[] bytes = new byte[1024];
int len;
while ((len = inputStream.read(bytes)) > 0) {
String s = new String(bytes, 0, len);
System.out.println(s);
}
// 4、调用Socket对象中的shutdownInput通知客户端数据接收完毕
accept.shutdownInput();
// 5、从Socket对象中拿到输出流往客户端发送数据
OutputStream outputStream = accept.getOutputStream();
outputStream.write("你也好!客户端".getBytes(StandardCharsets.UTF_8));
// 6、调用Socket对象的shutdownOutput()方法通知客户端数据发送完毕
accept.shutdownOutput();
// 7、关闭Socket对象
accept.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
【简介】: 浏览器网页上看到的所有内容都称为web资源,比如文字,图片,音频,视频,链接等等内容。
分类 | 概述 | 使用技术 |
---|---|---|
静态资源 | 静态资源是指没有后台数据库,不含程序和一些不可交互的网页。在程序中编写的是什么,就显示什么 | HTML\CSS\JS |
动态资源 | 动态资源因人而异,以数据库为基础,每次访问内容都可能不一样 | jsp/servlet |
参考文章:Tomcat服务器安装
目录名 | 作用 |
---|---|
bin | 启动和关闭tomcat的可执行文件 |
config | 配置文件夹,有些重要配置文件在这下面。如: server.xml, web.xml等不建议乱修改,可能导致Tomcat不能启动 |
lib | Tomcat在使用过程中依赖的第三方jar包 |
logs | 日志记录文件,记录服务器在执行过程中的一些事情,包括异常。 |
temp | 临时文件,保存服务器运行过程中的一些垃圾文件 |
webapps | 我们开发好的项目发布目录,可以通过浏览器来直接访问 |
ROOT | 根目录 |
work | tomcat的工作目录,存储运行过程中产生的文件,如jsp的class文件 |