仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1079|回复: 16
打印 上一主题 下一主题

[学习教程] 发布一篇[JAVA100例]050、一个复杂的Web服务器

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的),
importjava.io.*;
importjava.net.*;
/**
*<p>Title:发明HTTP内容和文件内容</p>
*<p>Description:取得用户哀求后将用户必要的文件读出,增加上HTTP应对头。发送给客户端。</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:Response.java</p>
*@version1.0
*/
publicclassResponse{
 OutputStreamout=null;
/**
*<br>办法申明:发送信息
*<br>输出参数:Stringref哀求的文件名
*<br>前往范例:
*/
 publicvoidSend(Stringref)throwsIOException{
  byte[]bytes=newbyte[2048];
  FileInputStreamfis=null;
  try{
    //机关文件
    Filefile =newFile(WebServer.WEBROOT,ref);
    if(file.exists()){
      //机关输出文件流
      fis=newFileInputStream(file);
      intch=fis.read(bytes,0,2048);
      //读取文件
      StringsBody=newString(bytes,0);
      //机关输入信息
      StringsendMessage="HTTP/1.1200OK
"+
        "Content-Type:text/html
"+
        "Content-Length:"+ch+"
"+
        "
"+sBody;
      //输入文件
      out.write(sendMessage.getBytes());
    }else{
      //找不到文件
      StringerrorMessage="HTTP/1.1404FileNotFound
"+
        "Content-Type:text/html
"+
        "Content-Length:23
"+
        "
"+
        "<h1>FileNotFound</h1>";
      out.write(errorMessage.getBytes());
    }
  
  }
  catch(Exceptione){
    //如不克不及实例化File对象,抛出非常。
    System.out.println(e.toString());
  }
  finally{
    if(fis!=null)
      fis.close();
  }
}
/**
*<br>办法申明:机关器,猎取输入流
*<br>输出参数:
*<br>前往范例:
*/
publicResponse(OutputStreamoutput){
  this.out=output;
}
}
importjava.io.*;
importjava.net.*;
/**
*<p>Title:客户哀求剖析</p>
*<p>Description:猎取客户的HTTP哀求,剖析客户所必要的文件</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:Request.java</p>
*@version1.0
*/
publicclassRequest{
 InputStreamin=null;
/**
*<br>办法申明:机关器,取得输出流。这时候客户的哀求数据。
*<br>输出参数:
*<br>前往范例:
*/
 publicRequest(InputStreaminput){
  this.in=input;
 }
/**
*<br>办法申明:剖析客户的哀求
*<br>输出参数:
*<br>前往范例:String哀求文件字符
*/
 publicStringparse(){
  //从Socket读取一组数据
  StringBufferrequestStr=newStringBuffer(2048);
  inti;
  byte[]buffer=newbyte[2048];
  try{
    i=in.read(buffer);
  }
  catch(IOExceptione){
    e.printStackTrace();
    i=-1;
  }
  for(intj=0;j<i;j++){
    requestStr.append((char)buffer[j]);
  }
  System.out.print(requestStr.toString());
  returngetUri(requestStr.toString());
 }
/**
*<br>办法申明:猎取URI字符
*<br>输出参数:StringrequestString哀求字符
*<br>前往范例:StringURI信息字符
*/
 privateStringgetUri(StringrequestString){
  intindex1,index2;
  index1=requestString.indexOf(
再见西城 该用户已被删除
沙发
发表于 2015-1-19 16:12:42 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
简单生活 该用户已被删除
板凳
发表于 2015-1-24 13:49:26 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-1-24 15:39:57 | 只看该作者
是一种使用者不需花费很多时间学习的语言
admin 该用户已被删除
5#
发表于 2015-1-27 05:32:14 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
蒙在股里 该用户已被删除
6#
发表于 2015-1-30 19:43:09 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
变相怪杰 该用户已被删除
7#
发表于 2015-1-31 18:54:20 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
透明 该用户已被删除
8#
发表于 2015-1-31 22:33:37 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
小妖女 该用户已被删除
9#
发表于 2015-2-1 10:31:34 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
兰色精灵 该用户已被删除
10#
发表于 2015-2-2 21:53:46 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
分手快乐 该用户已被删除
11#
发表于 2015-2-8 07:49:57 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
愤怒的大鸟 该用户已被删除
12#
发表于 2015-2-8 16:16:00 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
柔情似水 该用户已被删除
13#
发表于 2015-2-19 00:51:47 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
深爱那片海 该用户已被删除
14#
发表于 2015-2-23 10:19:17 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
老尸 该用户已被删除
15#
发表于 2015-3-5 14:49:33 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
若天明 该用户已被删除
16#
发表于 2015-3-11 19:21:55 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
冷月葬花魂 该用户已被删除
17#
发表于 2015-3-19 09:09:59 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表