`
ding43930053
  • 浏览: 39538 次
社区版块
存档分类
最新评论

利用java的Socket编程实现一个小小的web服务器

 
阅读更多
package com.dqm.tomcat;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class WebTester {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		try {
			ServerSocket server = new ServerSocket(8080);
			Socket client = null;
			System.out.println("服务器已经启动,等待客户端连接");
			while(true){
				client = server.accept();
				System.out.println("接受一个请求,访问页面....");
				PrintStream ps = new PrintStream(client.getOutputStream());
				
				BufferedReader br = new BufferedReader(
						new InputStreamReader(
						new FileInputStream("E:\\workspace\\MyJava\\hello.html")));
				String html = "";
				while(html != null){
					html = br.readLine();
					if(html != null){
						ps.println(html);
					}
				}
				ps.close();		
				
			}
		} catch (IOException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		
		
	}

}

在E:\\workspace\\MyJava\\下面创建hello.html 并且写入以下代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
欢迎访问我的web
服务器
</body>
</html>



分享到:
评论

相关推荐

    Java Socket编程实现的简单多线程WEB服务器

    在本文中,我们将详细介绍如何使用 Java 的 Socket 编程实现一个简单的多线程 WEB 服务器。 Socket 编程简介 Socket 编程是 Java 网络编程的基础,它允许开发者创建客户端和服务器端的网络应用程序。Socket 是一种...

    Java实现Web服务器和客户端

    实验的目的: 1) 掌握Java Socket编程应用; 2) 阅读HTTP协议相关规范; 3) 基于Java Socket构建简单的HTTP的客户端和服务器; 4) 构建支持并发的HTTP服务器。

    Socket编程.txt

    Socket编程是一种网络编程...Socket编程的应用非常广泛,例如在Web服务器和客户端的通信中,可以使用Socket编程来实现数据的传输和控制。另外,在实时通信、在线游戏、远程桌面等领域,Socket编程也得到了广泛的应用

    Java Socket编程(五) 简单的WEB服务器

    一个简单的WEB服务器将由列表9.2这样构建.当然,还必须要对方法和回应事件进行改进.简单的服务器不会分析和存储请求头.新的WEB服务器将分析和存储请求,为以后的处理作准备.为了达到这个目的,你必须有一个包含HTTP...

    基于HTTP代理服务器的实现的毕业设计,Socket编程技术,借助第三方库实现HTTP协议的解析和封装,使用多线程技术实现并发

    在实现过程中,我们将采用Java语言和Socket编程技术,借助第三方库实现HTTP协议的解析和封装,同时使用多线程技术实现并发处理。具体实现包括: 1. 建立Socket连接,监听客户端请求。 2. 解析HTTP请求报文,获取...

    myWeb:一个简单的静态web服务器实现 (java socket)

    静态web服务器实现 技术栈: java网络编程 简介: 一个简单的静态web服务器实现 (java socket)

    基于Java实现的Web服务器与测试工具开发.zip

    基于Java编程语言,利用http socket通信技术,写一个小型的web服务器与一个爬虫的测试工具,来对比分析所写的服务器获取到的页面源码与从tomcat获取的相似度。 (1)小型web服务器: 1)支持客户端的网页请求,进行...

    Java网络编程(第3版) 中文版

    无论你是经验丰富的网络开发人员、Java程序员新手,还是只希望对Java网络编程稍有些了解的人,都会发现《Java编程(第三版)》将成为你的书库中一个重要的部分。一旦开始使用Java网络API,只要你能想到它就能够做...

    使用Socket传输音频

    使用Socket传输音频,使用Socket传输音频

    Java高并发异步Socket编程

    DougLee可扩展的网络服务事件驱动Reactor模式基础版多线程版其他变体java.io包中分阻塞IOAPI一览Web服务器,分布式对象系统等等它们的共同特点Read请求解码请求报文业务处理编码响应报文发送响应实际应用中每一个...

    Java网络高级编程

    第9章介绍利用WebLogic为服务器的EJB技术。第10章介绍Java安全体系结构、密钥、消息摘要、数字签名、访问控制、安全套接口SSL、主体身份认证JAAS和公共密钥构架PKI技术。第11章简明地介绍移动代理编程技术。 本书可...

    JAVA网络编程.第3版.哈诺德著.扫描版.含源码

    《Java网络编程》第三版会为你介绍Java网络API的最新特性。本书讨论了JDK1.4和1.5(现在已命名为J2SE5)中所做的所有修改和增补。本书内容全面,涵盖了从网络基础知识到远程方法调用(RMI)等各方面的内容,书中章节...

    Java网络编程(第3版) 中文版 文件2

    无论你是经验丰富的网络开发人员、Java程序员新手,还是只希望对Java网络编程稍有些了解的人,都会发现《Java编程(第三版)》将成为你的书库中一个重要的部分。一旦开始使用Java网络API,只要你能想到它就能够做...

    java源码包3

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    ProxyCache socket buffer 代理缓存服务器TCP/IP,实现本地服务器网页的代理缓存

    实现一个基本的webProxy Cache,java代码,默认字符集请改为utf-8,目前只能缓存本地web服务器上的网页,图片。

    java源码包---java 源码 大量 实例

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    多线程web服务器 附实验报告 java

    多线程web服务器源码和实验报告 实现Runnable 接口方法实现

    Java网络编程(第三版)中文版.part07.rar

    无论是希望编写特殊用途的web服务器、安全的在线订单接收程序、简单的组播代理还是电子邮件客户端,都会找到可供学习和借用的代码。 本书适合熟悉Java语言的读者的编程人员和计算机专业的学生阅读。 前言 1 第一章...

    深入Java Servlet网络编程

    第5章 Java Servlet中的网络编程 5. 1 Java套接字网络编程 5. 1. 1 InetAddress类 5. 1. 2 Socket类 5. 1. 3 给手机发送网上短信息 5. 2 Java网络编程中的高层类 5. 2. 1 URL类 5. 2. 2 URLConnection类 第6...

Global site tag (gtag.js) - Google Analytics