• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
Java网络编程之URI、URL研究专题八
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
Java网络编程之URI、URL研究专题八
软件发布 Java网络编程之URI、URL研究专题八
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> JAVA认证 >> JAVA题库 >> Java网络编程之URI、URL研究专题八

Java网络编程之URI、URL研究专题八

添加时间: 2007-9-23 1:15:10  作者: JAVA题库  阅读次数:41   来源: http://www.d9soft.com

       

  列表6是URLDemo3的源代码,它演示了把窗体数据发送给某个"了解"application/x-www-form-urlencoded内容类型的资源。它实现了前面提到的各种事务。

列表6: URLDemo3.java

// URLDemo3.java

import java.io.*;

import java.net.*;

class URLDemo3

{

ublic static void main (String [] args) throws IOException

{

//  检查 最后两个参数和参数的数量

if (args.length < 2 args.length % 2 != 0)

{

System.err.println ("usage: java URLDemo3 name value " +

"[name value ...]");

return;

}

// 建立程序连接服务器程序资源的URL对象,它返回一个窗体的名称/值对

URL url;

url = new URL

("http://banshee.cs.uow.edu.au:2000/~nabg/echo.cgi");

// 向某个特定协议对象返回表现http资源连接的引用

URLConnection uc = url.openConnection ();

// 验证连接的类型,必须是HttpURLConnection的

if (!(uc instanceof HttpURLConnection))

{

System.err.println ("Wrong connection type");

return;

}

// 表明程序必须把名称/值对输出到服务器程序资源

uc.setDoOutput (true);

// 表明只能返回有用的信息

uc.setUseCaches (false);

//设置Content-Type头部指示指定URL已编码数据的窗体MIME类型

uc.setRequestProperty ("Content-Type",

"application/x-www-form-urlencoded");

// 建立名称/值对内容发送给服务器

String content = buildContent (args);

//设置Content-Type头部指示指定URL已编码数据的窗体MIME类型

uc.setRequestProperty ("Content-Length",

"" + content.length ());

// 提取连接的适当的类型

HttpURLConnection hc = (HttpURLConnection) uc;

// 把HTTP请求方法设置为POST(默认的是GET)

hc.setRequestMethod ("POST");

// 输出内容

OutputStream os = uc.getOutputStream ();

DataOutputStream dos = new DataOutputStream (os);

dos.writeBytes (content);

dos.flush ();

dos.close ();

// 从服务器程序资源输入和显示内容

InputStream is = uc.getInputStream ();

int ch;

while ((ch = is.read ()) != -1)

System.out.print ((char) ch);

is.close ();

}

tatic String buildContent (String [] args)

{

StringBuffer sb = new StringBuffer ();

for (int i = 0; i < args.length; i++)

{

// 为正确的传输对参数编码

String encodedItem = URLEncoder.encode (args [i]);

.append (encodedItem);

if (i % 2 == 0)

.append ("="); // 分离名称和值

else

.append ("&"); // 分离名称/值对

}

// 删除最后的 & 间隔符

.setLength (sb.length () - 1);

return sb.toString ();

}

}
你可以会奇怪为什么URLDemo3没有调用URLConnection的connect()的方法。这个方法没有被明显的调用,因为如果连向资源的连接没有建立的话,其它的URLConnection方法(例如getContentLength())会明确的调用connect()方法。但是一旦连建立了接,调用这些方法(例如setDoOutput(boolean doOutput))就是违反规定的。

在connect()被(明确地或隐含地)调用后,这些方法会产生一个IllegalStateException对象。

在URLDemo3编译后,在命令行输入java URLDemo3 name1 value1 name2 value2 name3 value3,你可以看到下面的输出:

<html> <head>

<title>Echoing your name value pairs</title>

</head>

<body>

<ol>

<li>name1 : value1

<li>name2 : value2

<li>name3 : value3

</ol>

<hr>

Mon Feb 18 08:58:45 2002

</body>

</html>

该服务器程序资源的输出由HTML组成,这些HTML回应的是name1、value1、name2、 value2、name3和value3。

技巧

如果你需要URL对象的URL的字符串表现形式,请调用toExternalForm()或toString()。两种方法的功能是相同的。

总结

本文研究了 Java 的 网络 API,聚焦于URI、URL和URN。你学习了这些概念,以及怎样使用URI和URL(URL相关)的类工作,同时你学习了MIME的知识以及它与URL的关系。现在你应该编写一些代码熟悉一下所学的内容了。

 

上下文章:

 

上一篇文章: Java认证模拟题及分析(2) 下一篇文章: SCJP考试真题和解析[2](1)

相关文章:

  • 08年迄今为止10个最糟糕Web 2.0网络故障
  • 各国纷纷上马网络直播奥运 流量过大致互联网危机
  • Server 2003中为SNMP服务配置网络安全性
  • 网络布线测试中的3个关键步骤
  • 合理线缆布局构建绿色机房网络

相关软件:

  • 网络仓鼠 V1.0 Beta 绿色版
  • 好生活网络电视 3.1.7
  • 风行网络电影(Funshion) 1.2.4.28.1
  • FullJava 1.5
  • 胜新通用人事工资管理系统普及版-网络版 7.35
  • 海啸网络电视 V2.1346

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

JAVA认证分类导航

  • JAVA动态
  • JAVA指导
  • JAVA题库

本类经典文章推荐

  • SCJP模拟试题[2](2)
  • SCJP模拟试题[2](1)
  • SCJP考试真题和解析[1](2)
  • SCJP Mock Exam 3(1)
  • SCJP考试题310-025[5](1)
  • Java网络编程之URI、URL研究专题一
  • Java认证模拟题及分析(1)
  • SCJP模拟试题[1](3)
  • Java认证模拟题及分析(3)
  • SCJP考试真题和解析[2](3)

JAVA题库阅读排行

  • SCJP Mock Exam 2(2)
  • JAVA题库:考考你4
  • JAVA题库:考考你2
  • Java认证模拟题及分析(3)
  • SCJP考试真题和解析[1](2)
  • Java认证模拟题及分析(1)
  • JAVA题库:格林模拟试题一(上)(2)
  • SCJP模拟试题[2](3)
  • SCJP模拟试题[2](1)
  • SCJP考试真题和解析[1](1)

JAVA认证阅读总排行

  • SCJP Mock Exam 2(2)
  • JAVA题库:考考你4
  • JAVA题库:考考你2
  • Java认证模拟题及分析(3)
  • SCJP考试真题和解析[1](2)
  • Java认证模拟题及分析(1)
  • JAVA题库:格林模拟试题一(上)(2)
  • SCJP模拟试题[2](3)
  • SCJP模拟试题[2](1)
  • SCJP考试真题和解析[1](1)

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有