JAVA网页设计Java的收集功能与编程 一
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。编程|收集Java的收集功效与编程徐迎晓
(上海年夜学盘算中央25#)
摘要:Java言语是Internet上最抢手的编程言语,本文针对
Java的收集功效,对Java从收集上猎取图像、声响、
HTML文档及文本文件等编程办法作了开端的先容,同
时先容了静态猎取收集上资本的办法作了先容。文中
供应了大批简明易懂的实例。
关头词:Java;Internet;收集
Java言语是Internet上新兴的编程言语,对Java的特征和基
本的编程办法已有良多文章作过先容。可是,宽大Java喜好者更但愿
懂得Java更深一步的编程办法,本文就Java的收集功效及其编程办法
作一开端的先容。
为了便利初度打仗Java的读者,本文先就Java编程的一些知识
作复杂先容。
1、Java编程简介
1.编程情况:
关于年夜部分读者,以下的设置是较为经济的一种选择:
操纵体系Win95
编译软件JDK1.01
扫瞄软件Netscape2.0以上(32位)
2.编程办法:
先用文本编纂器如Edit、NotePad等输出Java程序,以.java为
文件名后缀存盘。
再实行命令行:“Javac文件名”来编译Java程序。编译后天生
后缀为.class的字节码文件。
最初,假如是JavaApplitcation,则实行命令行:“Java字
节码文件名”来运转Java程序。
假如是JavaApplet,则用文本编纂器输出挪用该JavaApplet
的HTML文档,以.htm为文件名后缀存盘。再实行命令行:
“appletviewerHTML文件名”来运转JavaApplet。或用Netscape
翻开该HTML文档。
3.关于本文中程序的申明
为了使程序可以最简便地表现其所代表的编程办法,本文中的程
序一样平常接纳最复杂的情势,省略了线程等外容。因而,本文的程序不
是“好”的程序,但最简单为初学者了解。
本文的一切程序经编译后,天生的字节码文件及对应的HTML文档
已上载到http://www.shu.edu.cn/~xyx/test/jvnet,都可准确
运转。连进Internet的读者可用扫瞄器翻开该地点,检察运转效果。
连进Internet的读者也能够在当地硬盘输出并编译本文的程序,
用Netscape的File/OpenFile菜单翻开HTML文档,体味编程办法并
检察运转效果。假如读者想将JavaApplet放到本人的主机上或其他
ftp服务器上,在Netscape顶用http协定或ftp协定挪用,出于平安
性限定,应作以下修正:
假如读者在某个WWW主机上有帐号,能够做团体Homepage(一样平常
在用户根目次创立WWW或public_html目次便可,Homepage的地点为
http://HostName/~团体帐号),可将本文程序中对应的
http://www.shu.edu.cn/~xyx/部分修正为读者本人的Web结点地点,
然后将编译后天生的字节码文件及对应的HTML文档上载到本人的结点上。
假如读者的盘算机连进了Internet,也能够找一个能够上载的
ftp结点,如:ftp://ftp.shnet.edu.cn/incoming,将本文程序中
对应的http://www.shu.edu.cn/~xyx/部分修正为ftp结点的地点,
将编译后天生的字节码文件及对应的HTML文档上载到该结点上,以查
看运转效果。
假如读者的盘算机没有联网,也能够在单机上运转Web服务软
件如WebstarforWin95,将本文程序中对应的http://www.shu
.edu.cn/~xyx/部分修正为“http://当地IP地点”的情势,来摹拟
收集编程。
2、Java收集功效及猎取收集上资本的一样平常步骤
Java程序能够猎取收集上结点的图像、声响、HTML文档及文本
等资本,并能够对取得的资本举行处置。比方Java程序能够每隔一
准时间读取某结点供应的最新数据,并以图表的情势显现出来。
在编程处置上,一样平常师长教师成一个URL范例的对象,然后用Java
中响应的办法(method)猎取该对象所代表的资本。上面分离先容
Java收集功效的几个例子,并由此先容几种分歧的编程办法。
3、从收集上猎取图像
JavaApplet能够间接从收集上结点猎取图像并显现出来。为
了懂得其编程办法和从当地显现图像的编程有何分歧,我们先不思索
收集功效,来看一个复杂的图像显现的例子:
●程序1
importjava.applet.*;
importjava.awt.*;
publicclassimag0extendsApplet{
Imageimage;
publicvoidinit(){
image=getImage(getDocumentBase(),"test.gif");
}
publicvoidpaint(Graphicsg){
g.drawImage(image,0,0,this);
}
}
这是一个最复杂的猎取并显现图像的例子,在该例中,先用
getImage(getDocumentBase(),图像文件名)从HTML文档地点地位调
用图像test.gif,并由今生成一个Image范例的对象image,然后用
drawImage(image,0,0,this)在屏幕大将图像显现出来。
假如想从收集上其他结点猎取图像,关头是创立对应于收集上
其他结点的Image范例的对象,一旦取得Image范例的对象取得了,
即可以对其举行任何大概的图像操纵。
Java供应了以下办法能够创立对应于其他结点的图像:
getImage(newURL(字符串))
其利用格局可有两种:
Stringurl="结点URL";
Imageimage;
try{
image=getImage(newURL(url));
}
catch(Exceptione){
System.out.println("CantopentheURL");
}
或
URLimgur=null;
Imageimage;
try{
imgur=newURL("结点URL");
}
catch(MalformedURLExceptione){
System.out.println("CantopentheURL");
}
image=getImage(imgur);
前一种格局用“newURL(url)”天生URL对象,并间接作为
getImage的参数,后一种格局先用“newURL(url)”天生一个URL
对象,再传给getImage。两种格局实质上是一样的。两种格局中,
天生URL对象的部分都包括在
try{
猎取URL对象
}
catch(MalformedURLExceptione){
堕落提醒
}
中。
比方要挪用http://www.shu.edu.cn/~xyx/img/shnet.jpg结点
的图像,第一种格局完全的程序以下:
●程序2
importjava.applet.*;
importjava.net.*;
importjava.awt.*;
publicclassimagextendsApplet{
Imageimage;
publicvoidinit(){
Stringurl="http://www.shu.edu.cn/~xyx/img/shnet.jpg";
try{
image=getImage(newURL(url));
}catch(Exceptione){}
}
publicvoidpaint(Graphicsg){
g.drawImage(image,0,0,this);
}
}
第二种格局完全的程序以下:
●程序3
importjava.applet.*;
importjava.net.*;
importjava.awt.*;
publicclassimag2extendsApplet{
Imageimage;
URLimgur=null;
publicvoidinit(){
try{
imgur=newURL("http://www.shu.edu.cn/~xyx/img/shnet.jpg");
}
catch(MalformedURLExceptione){
System.out.println("CantopentheURL");
}
image=getImage(imgur);
}
publicvoidpaint(Graphicsg){
g.drawImage(image,0,0,this);
}
}
将上述两个程序分离以imag.java和imag2.java存盘,实行
javacimag.java和javacimag2.java,将失掉编译后天生的imag
.class和imag2.class,最初创立挪用这两个JavaApplet的HTML文
档,如imag.class对应的HTML文档可以下:
<html>
<head>
<title>Example</title>
</head>
<center>
<appletcode=imag.classwidth=550height=250>
</applet>
</html>
将该HTML文档存进test.html文件,用Netscape翻开,假如你
的盘算机连进了Internet,即可以看到JavaApplet所显现的从网
络上取得的图像了。(关于本文中其他分歧的JavaApplet,对应
的HTML文档只需修正个中响应的“code=imag.class”便可。)
4、从收集上猎取声响
Java从收集上猎取声响文件并播放声响的编程办法有两类,一
是使用Java供应的play(URL)及play(URL,String)间接播放收集
上的声响文件,另外一类是经由过程getAudioClip(URL)或getAudioClip
(URL,String)先从收集上猎取声响文件,并天生AudioClip范例的
对象,然后对该对象举行操纵。
前者的利用格局是:
StringAudur="结点URL";
try{
play(newURL(Audur));
}catch(Exceptione){}
或
StringAudur="结点URL";
try{
play(newURL(Audur),声响文件名);
}catch(Exceptione){}
后者利用的格局是:
StringAudur="结点URL";
AudioCliploopClip;
try{
loopClip=getAudioClip(newURL(Audur));
}
catch(Exceptione){
System.out.println("CantopentheURL");
}
或
StringAudur="结点URL";
AudioCliploopClip;
try{
loopClip=getAudioClip(newURL(Audur),声响文件名);
}
catch(Exceptione){
System.out.println("CantopentheURL");
}
下面的四种格局都是将天生URL对象部分--“newURL(url)”
间接作为play或getAudioClip的参数;和后面处置图像的例子一样,
也能够先用“newURL(url)”猎取一个URL对象,再传给play或
getAudioClip。如对第一种play(URL)的格局,也可接纳以下的编
程格局:
URLAudur=null;
try{
Audur=newURL("结点URL");
}catch(Exceptione){
System.out.println("CantopentheURL");
}
play(Audur);
上面对前述四种从收集上猎取并播放声响文件的格局各举一复杂的例子,
以作编程时参考:
●程序4格局一
importjava.applet.*;
importjava.awt.*;
importjava.net.*;
publicclasssound1extendsApplet
{AudioCliploopClip;
publicvoidpaint(Graphicsg){
StringAudur="http://www.shu.edu.cn/~xyx/java/Animator/audio/bark.au";
try{
play(newURL(Audur));
}catch(Exceptione){}
}
}
●程序5格局二
importjava.applet.*;
importjava.awt.*;
importjava.net.*;
publicclasssound2extendsApplet
{AudioCliploopClip;
publicvoidpaint(Graphicsg){
StringAudur="http://www.shu.edu.cn/~xyx/java/Animator/audio/";
try{
play(newURL(Audur),"bark.au");
}catch(Exceptione){}
}
}
●程序6格局三
importjava.applet.*;
importjava.awt.*;
importjava.net.*;
publicclasssoundextendsApplet{
AudioCliploopClip;
publicvoidinit(){
StringAudur="http://www.shu.edu.cn/~xyx/java/Animator/audio/bark.au";
try{
loopClip=getAudioClip(newURL(Audur));
}catch(Exceptione){}
}
publicvoidpaint(Graphicsg){
loopClip.loop();
}
}
●程序7格局四
importjava.applet.*;
importjava.awt.*;
importjava.net.*;
publicclasssound0extendsApplet{
AudioCliploopClip;
URLauur;
publicvoidinit(){
try{
auur=newURL("http://www.shu.edu.cn/~xyx/java/Animator/audio/");
}
catch(MalformedURLExceptione){
System.out.println("CantopentheURL");
}
loopClip=getAudioClip(auur,"bark.au");
}
publicvoidpaint(Graphicsg){
loopClip.loop();
}
}
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 是一种语言,用以产生「小应用程序(Applet(s)) Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种使用者不需花费很多时间学习的语言
页:
[1]