JAVA教程之一个必看的Java程序
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。程序//程序名:TelnetApp.Javaimportjava.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;
b=(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;
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=(byte)s.charAt(i);
b=13;
b=10;
}
voidnegotiate()
{
byteb[]=newbyte;
b=-1;b=-5;b=24;
sendData(b,3);
delay(400);
b=-1;b=-6;b=24;
b=0;b=(byte)D;b=(byte)E;
b=(byte)C;b=(byte)-;b=(byte)V;
b=(byte)T;b=(byte)1;b=(byte)0;
b=(byte)0;b=(byte)-1;b=-16;
sendData(b,15);
delay(400);
//其他选项
b=-1;b=-3;b=1;
b=-1;b=-3;b=3;
b=-1;b=-3;b=31;
b=-1;b=-4;b=-56;
b=-1;b=-5;b=1;
sendData(b,15);
delay(400);
//loginbbs
toByte(b,"bbs");
sendData(b,5);
delay(400);
}
voidlogin(Stringuserid,Stringpassword)
{
byteb[]=newbyte;
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;
for(inti=0;i<6;i++)
{
toByte(b,"");
sendData(b,2);
}
for(inti=0;i<1;i++)
{
b=(byte)q;
sendData(b,1);
delay(200);
}
}
voidbye()
{
byteb[]=newbyte;
for(inti=0;i<10;i++)
{
b=(byte)q;
sendData(b,1);
delay(300);
}
b=(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这些工具的出来。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 是一种突破用户端机器环境和CPU 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
页:
[1]