HTTP服务器:
方法{
main
service
}
service:读取HTTP请求信息 解析HTTP请求 决定HTTP相应正文的类型 创建HTTP相应结果 发送HTTP相应结果
读取HTTP请求信息
-关于如何获得输出流 InputStream socketIn=socket.getInputStream();
InputStream 好比水龙头,那么首先拿好桶byte[] buffer=new byte[size];
打开水龙头socketIn.read(buffer);
解析HTTP请求
-关于如何截字符串 substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符。
stringObj.split([separator,[limit]]) 将一个字符串分割为子字符串,然后将结果作为字符串数组返回。separator 可选项。字符串或正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
indexof(“”)返回 String 对象内第一次出现子字符串的字符位置
决定HTTP正文类型
创建响应结果
发送相应结果 outputStream socketOut=socket.getOutputStream();与上面的类似
client:创建HTTP请求信息 发送HTTP请求 接受响应HTTP相应结果
append():append()是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号
跟String不同的是Stringbuffer是放一起的
String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样
String1+String2 存在于不同的两个地址内存
Stringbuffer1.append(Stringbuffer2)放再一起