知识大全 用java 实现一个简单的web 服务器

Posted 内容

篇首语:成功需要付出代价,不成功需要付出更高的代价。。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用java 实现一个简单的web 服务器相关的知识,希望对你有一定的参考价值。

  import java io IOException;import ServerSocket;import Socket;

  /** * Socket + Thread + FileIO * * 服务器运行机制  * 启动服务器 处于运行状态 * 能接收到请求 * 分析请求内容 * 处理响应内容 * 发送响应内容到客户端 * * @author Administrator * */public class Serverprivate int port = ;

  /*** 启动服务器*/public void start()try// 实例化一个服务器端Socket对象 用于接收客户端的连接信息ServerSocket server = new ServerSocket(port);

  while(true)// 接收到的socket对象中 包含了请求信息Socket socket = server accept();

  System out println( 接收到一个请求! );

  // 将socket对象交给线程类进行 单独的处理 从而可以同时响应多个用户的请求Processor p = new Processor(socket);new Thread(p) start();catch (IOException e)e printStackTrace();

  /*** 简单的服务器程序 通过main方法来启动服务器* @param args*/public static void main(String[] args)new Server() start();

  import java io BufferedReader;import java io File;import java io FileInputStream;import java io FileNotFoundException;import java io IOException;import java io InputStream;import java io InputStreamReader;import java io OutputStream;import java io OutputStreamWriter;import Socket;

  /** * Processor 用于接收请求内容 分析请求内容 处理响应 发送响应 * @author Administrator * */public class Processor implements Runnableprivate Socket socket;// 定义虚拟服务器所在的根目录// 当访问请求地址为 // 程序将读取并返回 WEB_ROOT\\doc\\l 文件的内容private final static String WEB_ROOT = E:\\\\java学习\\\\web 作业\\\\浮动广告 ;

  public Processor(Socket s)this socket = s;

  @Overridepublic void run()// 分析请求内容String filePath = parse();// 处理响应 读取页面文件内容String fileContent = readFile(filePath);if(fileContent != null)// 发送响应sendResult( OK fileContent);

  /*** 解析请求内容 根据请求中的URL内容 获取请求对应的页面文件路径* @return 页面相对路径*/public String parse()tryInputStream in = socket getInputStream();BufferedReader reader = new BufferedReader(new InputStreamReader(in));String requestContent = reader readLine();// System out println(requestContent);String[] contents = requestContent split( );String url = contents[ ];// System out println(url);// in close();// reader close();return url;catch (IOException e)e printStackTrace();return null;

  /*** 根据传入的文件相对路径 通过文件IO流读取内容 并返回* 如果没有找到文件 发送 错误响应* @param filePath* @return*/public String readFile(String filePath)String absFilePath = WEB_ROOT + filePath;File file = new File(absFilePath);System out println(file getAbsolutePath() + 文件是否存在 +file exists());

  // File IO流读取文件内容if(file exists())trybyte[] buff = new byte[(int) file length()];FileInputStream fis = new FileInputStream(file);fis read(buff);String fileContent = new String(buff);fis close();return fileContent;catch (FileNotFoundException e)e printStackTrace();catch (IOException e)e printStackTrace();elsesendResult( File not found 你懂的! );return null;

cha138/Article/program/Java/hx/201311/26138

相关参考

知识大全 如何用Java实现Web服务器

如何用Java实现Web服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一HTTP协议的作

知识大全 JAVA实现支持视频点播WEB服务器

JAVA实现支持视频点播WEB服务器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一项目简介 

知识大全 Java Web 服务学习报告—Web简介

JavaWeb服务学习报告—Web简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在网络飞速

知识大全 用C#制作一个最简单的Web Service

用C#制作一个最简单的WebService  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 一个用JAVA写测算服务器响应速度程序

一个用JAVA写测算服务器响应速度程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  任务描述 

知识大全 用java写一个登陆程序,可以与服务器连接,登陆成功后跳转到服务器网站上

用java写一个登陆程序,可以与服务器连接,登陆成功后跳转到服务器网站上楼主,这样的需求,不管如何都要有一个API说明的吧,根据实际的情况写相应的网络程序ftp服务器无法登陆,同一个服务器上的网站可以

知识大全 用Lucene做一个简单的Java搜索工具

用Lucene做一个简单的Java搜索工具  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  初学L

知识大全 用struts+spring+hibernate组装web应用

  其实就算用Java建造一个不是很烦琐的web应用程序也不是件轻松的事情当为一个应用程序建造一个构架时有许多事情需要考虑从高层来说开发者需要考虑怎样建立用户接口(userinterfaces)?在哪

知识大全 一个简单的php在线端口扫描器

  PHP是一种功能强大的Web开发语言开发效率高语法简单为动态网站量身定做加强面向对象(向C++靠拢与JAVA搭了点边)可惜单线程(这是至命弱点据说PHP是用CC++编写的)也能用CC++JAVA开

知识大全 用ASP+DLL实现WEB方式修改服务器时间

用ASP+DLL实现WEB方式修改服务器时间  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  首先