了解下JAVA的怎样编写可经由过程代办署理会见因特网上的Web服务器的Java使用程序
什么时候上述的三种开发工具能和三为一,什么时候java的竞争力才更强,才有机会拉拢更多的程序员投入到对java的开发上,因为到时的开发工具将会比.net网页编程的更简单。还有一点也很关键,什么时候java推出的jsf能成为真正意义上的标准。本技能将向您报告怎样编写可经由过程代办署理会见因特网上的Web服务器的Java使用程序。在Java使用程序中到场代办署理撑持只需分外编写几行代码,且不依附任何平安性“毛病”。
几近一切的公司都非常存眷回护本人的外部收集,以防黑客及进窃者。一种罕见的平安措施是完整断开与因特网的毗连。假如黑客们不克不及毗连到您的任何一台呆板,他们就不克不及不法进进您的体系。这类战略发生的倒霉反作用是,外部用户没法会见内部的因特网服务器,如Yahoo或JavaWorld。为懂得决这一成绩,收集办理员一般安装“代办署理服务器”。实践上,代办署理是安装于因特网和外部网之间的一种服务,用来办理这两个范畴之间的毗连。代办署理有助于削减平安性的内部威逼,同时还同意外部用户会见因特网服务。只管Java使得编写因特网客户机不再坚苦,可是假如客户机不克不及经由过程代办署理,则它们毫无用途。侥幸的是,Java使得利用代办署理撑持不再坚苦--假如您晓得密诀,这就是现实。
将Java和代办署理分离起来的法门即在Java运转时激活特定的体系属性。这些属性未被写进正式文件,只是作为Java传说的一部分在Java编程职员中秘传。为了撑持代办署理,Java使用程序不但必要指定代办署理自己的信息,并且必要指定用于认证的用户信息。在入手下手利用网际协定之前,您必要在程序中增加以下几行代码:
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost","myProxyMachineName");
System.getProperties().put("proxyPort","85");
下面的第一行关照Java您要经由过程代办署理举行毗连,第二行指定代办署理地点的呆板,第三行指定代办署理监听的端口。有些代办署理在受权用户会见因特网之前,请求用户输出用户名和口令。假如您利用位于防火墙以内的Web扫瞄器,您便可能碰着过这类情形。以下是实行认证的办法:
URLConnectionconnection=url.openConnection();
Stringpassword="username:password";
StringencodedPassword=base64Encode(password);
connection.setRequestProperty("Proxy-Authorization",encodedPassword);
这段代码的头脑是,您必需调剂HTTP标头以收回用户信息。这是经由过程挪用setRequestProperty()来完成的。这类办法同意您在收回哀求之前处置HTTP标头。HTTP请求用base64对用户名和口令举行编码。侥幸的是,有一组公用域API,它们将代您实行编码(请参阅参考资本部分)。
如您所见,在Java使用程序中到场代办署理撑持其实不必要做几事情。有了如今的常识,再做一点研讨(您必需查明您的代办署理是怎样处置您感乐趣的协定和怎样举行用户认证的),您就可以用其他协定完成代办署理。
FTP代办署理
ScottD.Taylor提出这个法门来处置FTP协定代办署理:
defaultProperties.put("ftpProxySet","true");
defaultProperties.put("ftpProxyHost","proxy-host-name");
defaultProperties.put("ftpProxyPort","85");
接上去您即可以经由过程以下代码利用"ftp"协定会见文件URL:
URLurl=newURL("ftp://ftp.netscape.com/pub/navigator/3.04/windows/readme.txt");
假如有人有利用其他网际协定代办署理的例子,我很想看看。
注重:代码示例(Example.java)仅在JDK1.1.4下测试过。
后续技能!
关于仍在利用JDK1.1.7(共同WebSphere3.0)的开辟职员而言,将proxyHost和proxyPort设为体系属性不起感化;conn.getInputStream()大概前往毗连超时,大概是找不到主机路径。可是,我利用承受Host和Port为参数的URL机关函数办理了这一成绩(利用我的代办署理主机和端口):
publicURL(Stringprotocol,Stringhost,intport,Stringfile).
借助用户名和口令举行认证的办法不起感化。应将"Basic"置于认证字符串的开首;比方:
StringencodedPassword=base64Encode(password);
应当是:
StringencodedPassword="Basic"+base64Encode(password);
您也不用用一个独自的程序来举行64位编码。您可使用sun.misc.BASE64Encoder()类。上面是完成这两处修改以后的代码:
System.getProperties().put("proxySet","true");
System.getProperties().put("proxyHost",proxyHost);
System.getProperties().put("proxyPort",proxyPort);
StringauthString="userid:password";
Stringauth="Basic"+newsun.misc.BASE64Encoder
().encode(authString.getBytes());
URLurl=newURL("http://java.sun.com/");
URLConnectionconn=url.openConnection();
conn.setRequestProperty("Proxy-Authorization",auth);
上面是利用socks4代办署理服务器的办法:
System.getProperty("socksProxySet",true);
System.getProperty("socksProxyHost",proxyHostName);
System.getProperty("socksProxyPort",proxyPort);
UsuallytheproxyPortforSocks4isport1080
接上去您就能够用Socks4举行毗连了。
Java的桌面程序开发在java程序员里通常叫swing开发,主要用的swing包里的类开发的,也就是通常说的c/s架构开发 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种使网页(Web Page)产生生动活泼画面的语言 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
页:
[1]