JAVA编程:Java Socket编程中的一个奥密类
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。编程先容 Java平台在java.net包里来完成Socket。在这本文中,我们将利用Java.net包中的上面三个类来事情: ・URLConnection ・Socket ・ServerSocket 在java.net包里包括有更多的类,可是这些是你最常常碰见的,让我们从URLConnection入手下手,这个类供应了在你的java代码里利用Socket的办法而无需懂得Socket的底层机制。 乃至不必实验就能够利用sockets 毗连到一个URL包含以下几个步骤: ・创立一个URLConnection ・用分歧的setter办法设置它 ・毗连到URLConnection ・与分歧的getter办法举行交互 上面,我们来用一些例子树模如何利用URLConnection从一台服务器上哀求一份文档。 URLClient类 我们将从URLClient类的布局入手下手讲起。importjava.io.*;importjava.net.*;
publicclassURLClient{
protectedURLConnectionconnection;
publicstaticvoidmain(String[]args){}
publicStringgetDocumentAt(StringurlString){}
} 注重:必需要先导进java.net和java.io包才行 我们给我们的类一个实例变量用于保留一个URLConnection 我们的类包括一个main()办法用于处置扫瞄一个文档的逻辑流(logicflow),我们的类还包括了getDocumentAt()办法用于毗连服务器和哀求文档,上面我们将探求这些办法的细节。 扫瞄文档 main()办法用于处置扫瞄一个文档的逻辑流(logicflow):publicstaticvoidmain(String[]args){
URLClientclient=newURLClient();
Stringyahoo=client.getDocumentAt("http://www.yahoo.com");
System.out.println(yahoo);
} 我们的main()办法仅仅创立了一个新的URLClient类的实例并利用一个无效的URLString来挪用getDocumentAt()办法。当挪用前往文档,我们把它贮存在一个String里并把这个String输入到把持台上。但是,实践的事情是getDocumentAt()办法傍边完成的。 从服务器上哀求一份文档 getDocumentAt()办法处置在实践事情中怎样从web上失掉一份文档:publicStringgetDocumentAt(StringurlString){
StringBufferdocument=newStringBuffer();
try{
URLurl=newURL(urlString);
URLConnectionconn=url.openConnection();
BufferedReaderreader=newBufferedReader(newInputStreamReader(conn.getInputStream()));
Stringline=null;
while((line=reader.readLine())!=null)
document.append(line+"
");
reader.close();
}catch(MalformedURLExceptione){
System.out.println("UnabletoconnecttoURL:"+urlString);
}catch(IOExceptione){
System.out.println("IOExceptionwhenconnectingtoURL:"+urlString);
}
returndocument.toString();
} getDocumentAt()办法有一个String范例的参数包括我们想失掉的那份文档的URL。我们先创立一个StringBuffer用于保留文档的行。接着,我们用传出来的参数urlString来创立一个新的URL。然后,我们创立一个URLConnection并翻开它:URLConnectionconn=url.openConnection(); 一旦有了一个URLConnection,我们就取得它的InputStream并包装成InputStreamReader,然后我们又把它进而包装成BufferedReader以致于我们可以读取从服务器取得的文档的行,我们在java代码中处置socket的时分会常常利用这类包装手艺。在我们持续进修之前你必需熟习它:BufferedReaderreader=newBufferedReader(newInputStreamReader(conn.getInputStream())); 有了BufferedReader,我们可以简单的读取文档的内容。我们在一个while...loop轮回里挪用reader上的readline()办法:Stringline=null;
while((line=reader.readLine())!=null)
document.append(line+"
"); 挪用readLine()办法后从InputStream传进行停止符(比方换行符)时才发生堵塞。假如没有失掉,它将持续守候,当毗连封闭时它才会前往null,既然如许,一旦我们取得一个行,我们连统一个换行符把它追加到一个挪用的文档的StringBuffer上。如许就保存了从服务器上原文档的格局。 当我们读取一切行今后,我们应当封闭BufferedReader:reader.close(); 假如供应给urlString的URL机关器有效,则将会抛出一个MalformedUR特拉LException非常。一样假如发生了其他的毛病,比方从毗连猎取InputStream时,将会抛出IOException。 总结 1.用一个你想毗连的资本的无效的urlString来实例化URL 2.毗连到指定URL 3.包装InputStream为毗连在BufferedReader以致于你能够读取行 4.用你的BufferedReader读取文档内容 5.封闭BufferedReader
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。 是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 Java是一种计算机编程语言,拥有跨平台、面向对java 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
页:
[1]