仓酷云

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

[学习教程] 发布一篇用Java完成FTP服务器办理计划

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

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

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

x
关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。
FTP命令
FTP的次要操纵都是基于各类命令基本之上的。经常使用的命令有:
·设置传输形式,它包含ASCⅡ(文本)和BINARY二进制形式;
·目次操纵,改动或显现远程盘算机确当前目次(cd、dir/ls命令);
·毗连操纵,open命令用于创建同远程盘算机的毗连;close命令用于封闭毗连;
·发送操纵,put命令用于传送文件到远程盘算机;mput命令用于传送多个文件到远程盘算机;
·猎取操纵,get命令用于吸收一个文件;mget命令用于吸收多个文件。
编程思绪
依据FTP的事情道理,在主函数中创建一个服务器套接字端口,守候客户端哀求,一旦客户端哀求被承受,服务器程序就创建一个服务器分线程,处置客户真个命令。假如客户端必要和服务器端举行文件的传输,则创建一个新的套接字毗连来完成文件的操纵。
编程技能申明
1.主函数计划
在主函数中,完成服务器端口的侦听和服务线程的创立。我们使用一个静态字符串变量initDir来保留服务器线程运转时地点的事情目次。服务器的初始事情目次是由程序运转时用户输出的,缺省为C盘的根目次。
详细的代码以下:
publicclassftpServerextendsThread{
 privateSocketsocketClient;
 privateintcounter;
 privatestaticStringinitDir;
 publicstaticvoidmain(String[]args){
  if(args.length!=0){
   initDir=args[0];
  }else{initDir="c:";}
  inti=1;
  try{
   System.out.println("ftpserverstarted!");
   //监听21号端口
   ServerSockets=newServerSocket(21);
   for(;;){
    //承受客户端哀求
    Socketincoming=s.accept();
    //创立服务线程
    newftpServer(incoming,i).start();
    i++;
   }
  }catch(Exceptione){}
}
2.线程类的计划
线程类的次要计划都是在run()办法中完成。用run()办法失掉客户真个套接字信息,依据套接字失掉输出流和输入流,向客户端发送接待信息。
3.FTP命令的处置
(1)会见把持命令
·username(user)和password(pass)命令处置代码以下:
if(str.startsWith("USER")){
 user=str.substring(4);
 user=user.trim();
 out.println("331Password");
}
if(str.startsWith("PASS"))
out.println("230User"+user+"loggedin.");
<p>
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-19 16:10:51 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
分手快乐 该用户已被删除
板凳
发表于 2015-1-24 13:33:07 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
只想知道 该用户已被删除
地板
发表于 2015-1-25 09:07:27 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
飘灵儿 该用户已被删除
5#
发表于 2015-2-1 16:33:13 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-6 19:43:35 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
透明 该用户已被删除
7#
发表于 2015-2-18 11:13:18 | 只看该作者
是一种突破用户端机器环境和CPU
乐观 该用户已被删除
8#
发表于 2015-3-4 10:27:07 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
小妖女 该用户已被删除
9#
发表于 2015-3-7 08:33:29 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-11 05:40:39 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
简单生活 该用户已被删除
11#
发表于 2015-3-15 05:18:56 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
变相怪杰 该用户已被删除
12#
发表于 2015-3-21 18:38:52 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
第二个灵魂 该用户已被删除
13#
发表于 2015-3-31 21:17:25 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
金色的骷髅 该用户已被删除
14#
发表于 2015-4-2 02:53:59 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
若天明 该用户已被删除
15#
发表于 2015-4-4 13:51:04 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
飘飘悠悠 该用户已被删除
16#
发表于 2015-4-6 08:32:16 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
admin 该用户已被删除
17#
发表于 2015-4-21 18:57:54 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
18#
发表于 2015-4-26 22:54:40 | 只看该作者
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
谁可相欹 该用户已被删除
19#
发表于 2015-4-29 01:56:10 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-21 15:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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