当前位置: 首页 > news >正文

网站建设功能描述指数基金定投怎么买

网站建设功能描述,指数基金定投怎么买,网站建设常见问题解决方案,论坛网站策划目录 HTTP协议请求格式 HTTP协议响应格式 Socket 解读代码 服务端优化 解读代码 作业 1. 响应一个 HTML 页面给客户端,游览器把接收到的内容进行渲染 2. 文件的媒体类型是写死的,肯定不行,怎么变成动态? 昨天作业答案 …

目录

HTTP协议请求格式

HTTP协议响应格式

Socket

解读代码

服务端优化

解读代码

作业

1. 响应一个 HTML 页面给客户端,游览器把接收到的内容进行渲染

2. 文件的媒体类型是写死的,肯定不行,怎么变成动态? 

昨天作业答案

聊天室


HTTP协议请求格式

HTTP协议响应格式

Socket

使用游览器作为客户端

创建一个服务端,当游览器访问时响应 hello

服务端

package com.shao.net;import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;public class Server {public static void main(String[] args) throws IOException {// 创建一个ServerSocket对象,监听8080端口,等待客户端连接ServerSocket ss = new ServerSocket(8080);// 调用accept()方法阻塞等待,直到有客户端连接到服务器,返回一个Socket对象用于与该客户端通信Socket socket = ss.accept();System.out.println("客户端连接成功");// 获取Socket对象的输入流,用于读取客户端发送的数据InputStream is = socket.getInputStream();// 获取Socket对象的输出流,用于向客户端发送数据OutputStream os = socket.getOutputStream();// 响应的内容String content = "Hello";// HTTP 响应的格式os.write(("HTTP/1.1 200 OK\r\n").getBytes());os.write(("Content-Type: text/html\r\n").getBytes());os.write(("Content-Length: " + content.length() + "\r\n").getBytes());os.write("\r\n".getBytes());os.write(content.getBytes());os.flush();System.out.println("响应成功");}
}

游览器访问服务端

访问本地 IP 加服务端监听的端口

解读代码

因为游览器和服务端是使用 HTTP 协议通信,所以响应的格式是HTTP响应格式

HTTP 请求格式分为三个部分,分别是 请求行、请求头、请求体(数据)

HTTP 响应格式分为三个部分,分别是 响应行、响应头、响应数据

响应行包括 响应协议、状态码、状态码描述

响应头包括 响应数据的类型媒体类型)、响应数据的长度等

服务端优化

现在的问题,只能访问一次服务端,服务端响应之后就关闭了。这显然不是我们想要的,服务器是当用户访问的时候都会响应数据

那么如何才能让服务端响应数据之后继续运行呢?

解决方案是加个 while 循环

package com.shao.net;import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;public class Server {public static void main(String[] args) throws IOException {// 创建一个ServerSocket对象,监听8080端口,等待客户端连接ServerSocket ss = new ServerSocket(8080);while (true) {// 调用accept()方法阻塞等待,直到有客户端连接到服务器,返回一个Socket对象用于与该客户端通信Socket socket = ss.accept();System.out.println("客户端连接成功");// 获取Socket对象的输入流,用于读取客户端发送的数据InputStream is = socket.getInputStream();// 获取Socket对象的输出流,用于向客户端发送数据OutputStream os = socket.getOutputStream();// 响应的内容String content = "Hello";// HTTP 响应的格式os.write(("HTTP/1.1 200 OK\r\n").getBytes());os.write(("Content-Type: text/html\r\n").getBytes());os.write(("Content-Length: " + content.length() + "\r\n").getBytes());os.write("\r\n".getBytes());os.write(content.getBytes());os.flush();System.out.println("响应成功");// 关闭输出流os.close();}}
}

验证

解读代码

1. 为什么不把 ServerSocket ss = new ServerSocket(8080); 这行代码也加到 循环语句呢?

因为这行代码是创建服务端的Socket,只需要创建一次即可

2. 为什么从 Socket socket = ss.accept(); 这行代码开始循环呢?

这行代码是等待客户端连接,建立通信通道。

我们知道,服务端不是只为一个客户端服务的,所以,当新的用户发送连接后,就需要创建一个新的通信通道

作业

1. 响应一个 HTML 页面给客户端,游览器把接收到的内容进行渲染

        创建一个HTML 页面,创建一个方法,使用IO流获取这个HTML 文件的内容,把数据响应给游览器,注意响应的长度  Content-Length 需要和文件的字节数一致

2. 文件的媒体类型是写死的,肯定不行,怎么变成动态? 

方案一:通过判断文件后缀

方案二:通过jdk自带的类去获取文件的媒体类型

方案三:通过第三方插件jar,读取文件判断文件媒体类型

昨天作业答案

聊天室

代码已放到页面


百度网盘

http://www.fp688.cn/news/146040.html

相关文章:

  • 黄骅市属于哪个省哪个市3步打造seo推广方案
  • 办公用品网站建设策划书产品运营方案
  • 网站设计ps做效果图过程网站关键词优化的价格
  • 建设机械网站渠道seo投放是什么意思
  • 设计网站网站名称如何线上推广自己产品
  • 个体工商户经营范围做网站如何进行网站推广?网站推广的基本手段有哪些
  • 海报模板免费下载网站百度手机助手下载苹果版
  • 荣成住房和城乡建设部网站百度账号申请注册
  • cdr做图时怎么找到网站的页面seo是什么意思
  • o2o网站制作网站关键词优化工具
  • wordpress连接memcached优化设计一年级下册数学答案
  • 北京手机网站设计搜索引擎优化介绍
  • 网站内容建设注意事项沈阳头条今日头条新闻最新消息
  • 做网站设计注意什么细节网站开通
  • 做网站有哪些注意事项品牌宣传
  • 建国外网站百度竞价开户公司
  • 表格我做视频网站中国免费广告网
  • 用什么软件做网站hao网络广告营销有哪些
  • 做视频网站需要哪些条件重庆网站推广专家
  • 网站的图书资源建设百度识图查另一半情头
  • 备案增加网站获客软件排名前十名
  • 固安建设局网站湖南seo排名
  • 怎么做韩剧网站的翻译网图搜索识别
  • 中国菲律宾会打仗吗现在搜索引擎优化搜索优化
  • 网站备案 服务内容百度查看订单
  • 建设银行网站怎么看不见余额链接提交工具
  • 蛋糕网站建设的目的营销策略有哪些
  • 中国商标自助查询百度关键词快速优化
  • 新乡商城网站建设价格制作一个网站步骤
  • 网络在线培训网站建设方案怎么做好网络营销推广