当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

CGI数据的编码[Java编程]

赞助商链接



  本文“CGI数据的编码[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在这个版本中,我们将汇集名字和电子信件地址,并用下述情势将其保存到文件中:
First Last <email@domain.com>;
这对任何E-mail程序来说都是一种非常便利的格局.由于只需汇集两个字段,并且CGI为字段中的编码采取了一种特别的格局,所以这里没有简便的办法.假如自己着手编制一个原始的HTML页,并加入下述代码行,便可精确地理解这一点:

<Form method="GET" ACTION="/cgi-bin/Listmgr2.exe">
<P>Name: <INPUT TYPE = "text" NAME = "name" 
VALUE = "" size = "40"></p>
<P>Email Address: <INPUT TYPE = "text" 
NAME = "email" VALUE = "" size = "40"></p>
<p><input type = "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平台下,可操纵与Microsoft Office 97或其他产品配套供应的Microsoft Personal Web Server(微软个人Web服务器)举行测试.这是举行试验的最好办法,因为没必要正式连入网络,可在本地环境中完成测试(速度也非常快).假如利用的是差别的平台,大概没有Office 97大概FrontPage 98那样的产品,可到网上找一个免费的Web服务器供自己测试.

当然,上述URL实际显示时是不会拆行的.从中可略微看出若何对数据编码并传给CGI.至少有一件事情可以必定——空格是不答应的(因为它普通用于脱离号令行参数).全部必须的空格都用“+”号替换,每个字段都包含了字段名(具体由HTML页决意),背面跟随一个“=”号以及正式的字段数据,最后用一个“&”完毕.
到这时,大家大概会对“+”,“=”以及“&”的利用产生迷惑.假定必须在字段里利用这些字符,那么该若何声明呢?比方,我们大概利用“John & MarshaSmith”这个名字,此中的“&”代表“And”.事实上,它会编码成下面这个模样:
John+%26+Marsha+Smith
也就是说,特别字符会转换成一个“%”,并在背面跟上它的十六进制ASCII编码.
幸运的是,Java有一个工具来帮忙我们举行这种编码.这是URLEncoder类的一个静态办法,名为encode().可用下述程序来试验这个办法:

//: EncodeDemo.java
// Demonstration of URLEncoder.encode()
import java.net.*;

public class EncodeDemo {
  public static void main(String[] args) {
    String s = "";
    for(int i = 0; i < args.length; i++)
      s += args[i] + " ";
    s = URLEncoder.encode(s.trim());
    System.out.println(s);
  }
} ///:~
该程序将获得一些号令行参数,把它们归并成一个由多个词构成的字串,各词之间用空格脱离(最后一个空格用String.trim()剔除了).随后对它们举行编码,并打印出来.
为调用一个CGI程序,程序片要做的全部事情就是从自己的字段或其他地方汇集数据,将全部数据都编码成精确的URL款式,然后汇编到单独一个字串里.每个字段名背面都加上一个“=”标记,紧跟正式数据,再紧跟一个“&”.为构建完好的CGI号令,我们将这个字串置于CGI程序的URL以及一个“?”后.这是调用全部CGI程序的尺度办法.大家即刻就会看到,用一个程序片可以很轻松地完成全部这些编码与归并.
  以上是“CGI数据的编码[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • CGI数据的编码
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .