谁可相欹 发表于 2015-1-18 11:34:52

发布一篇CGI数据的编码

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!
在这个版本中,我们将搜集名字和电子信件地点,并用下述情势将其保留到文件中:
FirstLast<email@domain.com>;
这对任何E-mail程序来讲都是一种十分便利的格局。因为只需搜集两个字段,并且CGI为字段中的编码接纳了一种特别的格局,以是这里没有烦琐的办法。假如本人下手体例一个原始的HTML页,并到场下述代码行,便可准确地舆解这一点:

<Formmethod="GET"ACTION="/cgi-bin/Listmgr2.exe">
<P>Name:<INPUTTYPE="text"NAME="name"
VALUE=""size="40"></p>
<P>EmailAddress:<INPUTTYPE="text"
NAME="email"VALUE=""size="40"></p>
<p><inputtype="submit"name="submit"></p>
</Form>
上述代码创立了两个数据输出字段(区),名为name和email。别的另有一个submit(提交)按钮,用于搜集数据,并将其发给CGI程序。Listmgr2.exe是驻留在特别程序目次中的一个可实行文件。在我们的Web服务器上,该目次一样平常都叫作“cgi-bin”(正文③)。假如在谁人目次里找不到该程序,了局就没法呈现。填好这个表单,然后按下提交按钮,便可在扫瞄器的URL地点窗口里看到象上面如许的内容:
http://www.myhome.com/cgi-bin/Listmgr2.exe?name=First+Last&email=email@domain.com&submit=Submit

③:在Windows32平台下,可使用与MicrosoftOffice97或其他产物配套供应的MicrosoftPersonalWebServer(微软团体Web服务器)举行测试。这是举行实验的最好办法,由于不用正式连进收集,可在当地情况中完成测试(速率也十分快)。假如利用的是分歧的平台,大概没有Office97大概FrontPage98那样的产物,可到网上找一个收费的Web服务器供本人测试。

固然,上述URL实践显现时是不会拆行的。从中可略微看出怎样对数据编码并传给CGI。最少有一件事变可以一定——空格是不同意的(由于它一般用于分开命令行参数)。一切必须的空格都用“+”号替换,每一个字段都包括了字段名(详细由HTML页决意),前面跟从一个“=”号和正式的字段数据,最初用一个“&”停止。
到这时候,人人大概会对“+”,“=”和“&”的利用发生困惑。假设必需在字段里利用这些字符,那末该怎样声明呢?比方,我们大概利用“John&MarshaSmith”这个名字,个中的“&”代表“And”。现实上,它会编码成上面这个模样:
John+%26+Marsha+Smith
也就是说,特别字符会转换成一个“%”,并在前面跟上它的十六进制ASCII编码。
侥幸的是,Java有一个工具来匡助我们举行这类编码。这是URLEncoder类的一个静态办法,名为encode()。可用下述程序来实验这个办法:

//:EncodeDemo.java
//DemonstrationofURLEncoder.encode()
importjava.net.*;

publicclassEncodeDemo{
publicstaticvoidmain(String[]args){
Strings="";
for(inti=0;i<args.length;i++)
s+=args+"";
s=URLEncoder.encode(s.trim());
System.out.println(s);
}
}///:~该程序将猎取一些命令行参数,把它们兼并成一个由多个词组成的字串,各词之间用空格分开(最初一个空格用String.trim()剔除)。随后对它们举行编码,并打印出来。
为挪用一个CGI程序,程序片要做的全体事变就是从本人的字段或其他中央搜集数据,将一切数据都编码成准确的URL款式,然后汇编到独自一个字串里。每一个字段名前面都加上一个“=”标记,紧跟正式数据,再紧跟一个“&”。为构建完全的CGI命令,我们将这个字串置于CGI程序的URL和一个“?”后。这是挪用一切CGI程序的尺度办法。人人即刻就会看到,用一个程序片可以很轻松地完成一切这些编码与兼并。
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。

莫相离 发表于 2015-1-21 10:30:51

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

透明 发表于 2015-1-25 08:38:20

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

若天明 发表于 2015-2-2 16:58:01

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言

不帅 发表于 2015-2-4 20:35:15

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。

老尸 发表于 2015-2-7 06:40:26

是一种突破用户端机器环境和CPU

爱飞 发表于 2015-2-8 00:31:13

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

分手快乐 发表于 2015-2-10 05:37:32

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

因胸联盟 发表于 2015-2-28 21:43:32

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

只想知道 发表于 2015-3-7 09:03:38

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

小女巫 发表于 2015-3-8 17:06:44

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

冷月葬花魂 发表于 2015-3-11 07:15:27

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

精灵巫婆 发表于 2015-3-13 02:07:11

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

金色的骷髅 发表于 2015-3-20 09:11:41

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

活着的死人 发表于 2015-3-29 03:35:45

是一种为 Internet发展的计算机语言

谁可相欹 发表于 2015-4-3 11:33:59

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

兰色精灵 发表于 2015-4-23 02:41:36

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

灵魂腐蚀 发表于 2015-5-6 18:11:49

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

山那边是海 发表于 2015-6-5 23:04:54

是一种使用者不需花费很多时间学习的语言

飘灵儿 发表于 2015-6-11 20:08:47

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页: [1]
查看完整版本: 发布一篇CGI数据的编码