当前位置:天才代写 > tutorial > JAVA 教程 > CGI数据的编码

CGI数据的编码

2017-11-13 08:00 星期一 所属: JAVA 教程 浏览:380

在这个版本中,我们将收集名字和电子翰札地点,并用下述形式将其生存到文件中:
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措施的尺度要领。各人顿时就会看到,用一个措施片可以或许很轻松地完成所有这些编码与归并。

 

    关键字:

天才代写-代写联系方式