发布一篇用Java完成FTP服务器办理计划
关于第二点:俺问问你,如果是企业级项目的话,诸如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;
}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++来搞个这种框架? Java是一种计算机编程语言,拥有跨平台、面向对java 是一种将安全性(Security)列为第一优先考虑的语言 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种突破用户端机器环境和CPU 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
页:
[1]