仓酷云

标题: JAVA教程之一个必看的Java程序 [打印本页]

作者: 老尸    时间: 2015-1-18 11:53
标题: JAVA教程之一个必看的Java程序
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。程序//程序名:TelnetApp.Java

importjava.applet.*;
importjava.awt.*;
importjava.io.*;
importjava.net.*;
importjava.util.*;

publicclassTelnetAppextendsAppletimplementsRunnable
{
//声明成员变量

Threadclient;
TextArealog;

TextFieldhostname;
TextFielduserid;
TextFieldpassword;
Labelhname;
Labeluid;
Labelpsd;

Buttonconnect;
Buttonbye;

intwantTime;
booleanlogged;

Socketsocket=null;
PrintStreamos;
DataInputStreamis;

publicTelnetApp()
{
resize(400,300);
setLayout(newBorderLayout());
Panelp1=newPanel();
log=newTextArea(10,80);
log.setEditable(true);
p1.add(log);
add("North",p1);

Panelp2=newPanel();
p2.add(hname=newLabel("Hostname"));
p2.add(hostname=newTextField(20));
p2.add(uid=newLabel("Userid:"));
p2.add(userid=newTextField(10));
p2.add(psd=newLabel("Password:"));
p2.add(password=newTextField(10));
password.setEchoCharacter(*);

add("Center",p2);

Panelp3=newPanel();
p3.add(connect=newButton("Connect"));
p3.add(bye=newButton("Bye"));
bye.disable();
add("South",p3);

logged=false;
}

publicvoidrun()
{
StringfromServer=null;
byteb[]=newbyte[3];
b[0]=(byte)n;
while(true){
if((fromServer=getDate())!=null)
log.appendText(fromServer+"
");
if(wantTime<0){
bye();
break;
}
if(logged){
delay(60*1000);
log.setText("");
wantTime-=1;
sendData(b,1);
}
}
}

//创建主机毗连

privatebooleanconnectHost(StringhostName)
{
try{
socket=newSocket(hostName,23);
os=newPrintStream(socket.getOutputStream());
is=newDataInputStream(socket.getInputStream());
}catch(UnknownHostExceptione){
log.setText("Tryingtoconnecttounknownhost:"+e);
returnfalse;
}catch(Exceptione){
log.setText("Exception:"+e);
returnfalse;
}
returntrue;
}

//吸收信息

StringgetDate()
{
StringfromServer;
intlen;
byteb[]=newbyte[1000];
try{
fromServer="";
len=is.read(b);

fromServer+=newString(b,0);
}catch(Exceptione){
log.setText("Exception:"+e);
returnnull;
}
returnfromServer;
}

//发送信息

booleansendData(byteb[],intlen)
{
try{
os.write(b,0,len);
os.flush();
}catch(Exceptione){
log.setText("Exception:"+e);
returnfalse;
}
returntrue;
}

//封闭毗连

voidcloseSocket()
{
try{
os.close();
is.close();
socket.close();
socket=null;
}catch(Exceptione){
log.setText("Exception:"+e);
}
}

voidtoByte(byte[]b,Strings)
{
inti;

for(i=0;i<s.length();i++)
b[i]=(byte)s.charAt(i);
b[i]=13;
b[i+1]=10;
}

voidnegotiate()
{
byteb[]=newbyte[20];
b[0]=-1;b[1]=-5;b[2]=24;
sendData(b,3);
delay(400);

b[0]=-1;b[1]=-6;b[2]=24;
b[3]=0;b[4]=(byte)D;b[5]=(byte)E;
b[6]=(byte)C;b[7]=(byte)-;b[8]=(byte)V;
b[9]=(byte)T;b[10]=(byte)1;b[11]=(byte)0;
b[12]=(byte)0;b[13]=(byte)-1;b[14]=-16;
sendData(b,15);
delay(400);

//其他选项
b[0]=-1;b[1]=-3;b[2]=1;
b[3]=-1;b[4]=-3;b[5]=3;
b[6]=-1;b[7]=-3;b[8]=31;
b[9]=-1;b[10]=-4;b[11]=-56;
b[12]=-1;b[13]=-5;b[14]=1;
sendData(b,15);
delay(400);

//loginbbs
toByte(b,"bbs");
sendData(b,5);
delay(400);
}

voidlogin(Stringuserid,Stringpassword)
{
byteb[]=newbyte[20];
toByte(b,userid);
sendData(b,userid.length()+2);
delay(400);

toByte(b,password);
sendData(b,password.length()+2);
delay(400);
}

booleanenter()
{
if(connectHost(hostname.getText().trim()))
{
log.setText("connected
");

negotiate();
delay(400);

login(userid.getText().trim(),password.getText().trim());
returntrue;
}elsereturnfalse;
}

voidtoMainmenu()
{
byteb[]=newbyte[20];
for(inti=0;i<6;i++)
{
toByte(b,"");
sendData(b,2);
}

for(inti=0;i<1;i++)
{
b[0]=(byte)q;
sendData(b,1);
delay(200);
}
}

voidbye()
{
byteb[]=newbyte[20];

for(inti=0;i<10;i++)
{
b[0]=(byte)q;
sendData(b,1);
delay(300);
}

b[0]=(byte)g;
sendData(b,1);
delay(300);
for(inti=0;i<6;i++)
{
toByte(b,"");
sendData(b,2);
delay(300);
}
client.stop();
client=null;
closeSocket();
connect.enable();
bye.disable();
}

voiddelay(intmillisecond)
{
try{
Thread.sleep(millisecond);
}catch(InterruptedExceptione){
}
}

publicbooleanaction(Evente,Objectarg)
{
switch(e.id){
caseEvent.ACTION_EVENT:
if(e.target==connect)
{
wantTime=20;
connect.disable();
bye.enable();
client=newThread(this);
client.start();
if(enter())
toMainmenu();
logged=true;
}elseif(e.target==bye)
bye();
}
returntrue;
}

publicvoiddestroy(){
}
publicvoidpaint(Graphicsg){}
publicvoidstart(){}
publicvoidstop(){
}
}



其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
作者: 第二个灵魂    时间: 2015-1-21 16:42
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
作者: 小女巫    时间: 2015-1-24 14:14
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
作者: 山那边是海    时间: 2015-1-26 22:42
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 愤怒的大鸟    时间: 2015-1-29 19:33
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者: 简单生活    时间: 2015-1-30 09:27
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 飘飘悠悠    时间: 2015-2-2 11:08
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 再见西城    时间: 2015-2-7 18:32
是一种突破用户端机器环境和CPU
作者: 小妖女    时间: 2015-2-22 21:15
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 再现理想    时间: 2015-3-7 02:56
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: 只想知道    时间: 2015-3-11 03:42
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 柔情似水    时间: 2015-3-17 09:10
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 透明    时间: 2015-3-24 05:15
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者: 不帅    时间: 2015-3-31 03:45
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 谁可相欹    时间: 2015-4-4 14:35
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 兰色精灵    时间: 2015-4-9 16:51
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 若相依    时间: 2015-4-10 05:16
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 小魔女    时间: 2015-4-12 23:28
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
作者: 若天明    时间: 2015-4-15 09:34
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2