java实现简单的HTTP响应
来源:互联网 发布:淘宝店铺装修店标尺寸 编辑:程序博客网 时间:2024/06/05 14:41
package my.httpserver;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class Server {
private static final String BLANK = " ";
private static final String CRLF = "\r\n";
private int length = 0;
private ServerSocket server;
public static void main(String[] args) {
new Server().start();
}
public void start() {
try {
server = new ServerSocket(8888);
response();
} catch(BindException e) {
System.out.println("端口已被占用");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void response() {
try {
Socket client =server.accept();
//响应
StringBuilder responseContext =new StringBuilder();
responseContext.append("<html><head><title>HTTP响应示例</title>" +
"</head><body>郝俊杰</body></html>");
StringBuilder response =new StringBuilder();
//1) HTTP协议版本、状态代码、描述
response.append("HTTP/1.1").append(BLANK).append("200").append(BLANK).append("OK").append(CRLF);
//2) 响应头(Response Head)
response.append("Server:hjj Server/0.0.1").append(CRLF);
response.append("Date:").append(new Date()).append(CRLF);
response.append("Content-type:text/html;charset=GBK").append(CRLF);
//正文长度 :字节长度
response.append("Content-Length:").append(responseContext.toString().getBytes().length).append(CRLF);
//3)正文之前
response.append(CRLF);
//4)正文
response.append(responseContext);
System.out.println(responseContext);
//输出流
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
bw.write(response.toString());
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.BindException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;
public class Server {
private static final String BLANK = " ";
private static final String CRLF = "\r\n";
private int length = 0;
private ServerSocket server;
public static void main(String[] args) {
new Server().start();
}
public void start() {
try {
server = new ServerSocket(8888);
response();
} catch(BindException e) {
System.out.println("端口已被占用");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void response() {
try {
Socket client =server.accept();
//响应
StringBuilder responseContext =new StringBuilder();
responseContext.append("<html><head><title>HTTP响应示例</title>" +
"</head><body>郝俊杰</body></html>");
StringBuilder response =new StringBuilder();
//1) HTTP协议版本、状态代码、描述
response.append("HTTP/1.1").append(BLANK).append("200").append(BLANK).append("OK").append(CRLF);
//2) 响应头(Response Head)
response.append("Server:hjj Server/0.0.1").append(CRLF);
response.append("Date:").append(new Date()).append(CRLF);
response.append("Content-type:text/html;charset=GBK").append(CRLF);
//正文长度 :字节长度
response.append("Content-Length:").append(responseContext.toString().getBytes().length).append(CRLF);
//3)正文之前
response.append(CRLF);
//4)正文
response.append(responseContext);
System.out.println(responseContext);
//输出流
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
bw.write(response.toString());
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
阅读全文
0 0
- java实现简单的HTTP响应
- java 实现http响应
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- JAVA编写的一个简单的Socket实现的HTTP响应服务器
- JAVA编写的一个简单的Socket实现的HTTP响应服务器进阶版
- java实现http请求和响应的最简单的方式
- Http协议客户端的JAVA简单实现
- 简单HTTP服务器的Java实现
- JAVA 实现 简单的 HTTP服务器
- java手动实现HTTP响应response
- http服务器的实现3_http响应
- http断点续传简单实现(java)
- http断点续传简单实现(java)
- java实现:http协议get和post方法的url参数请求响应及交互
- java-- HTTP响应码
- 最高响应比算法的简单实现!
- 用java socket实现了一个简单的http服务器
- 198. House Robber
- request 和 responsed.sendRedirect的url问题
- 拓扑排序
- 【Scikit-Learn 中文文档】半监督学习
- Go基础
- java实现简单的HTTP响应
- git 分布式协作开发 非空仓库 非bare
- Java设计模式之代理模式(2)
- Java生成二维码
- android开发布局优化—include、merge、viewstub源码分析总结
- UNITY SHADER学习笔记1(unity 5.6)
- 《openSMILE用户手册》第2章 (1) openSMILE安装
- 【Scikit-Learn 中文文档】概率校准
- 浅谈Chrome开发者工具--- Element面板