hi!
ich verwende tomcat 5.5.17 und moechte ein cgi-skript ausfuehren (unter verwendung der cgicc library).
wenn ich in das verzeichnis "webapps" die datei "hello.html" reinkopiere und ein formular in diesem abschicke, werden die POST-informationen an hello.cgi im ordner WEB-inf/cgi-bin/ gesendet.
es wird auch anscheinend executed (zumindest gefunden, da er das file lokalisieren kann), nur leider erhalte ich einen komplett weissen screen. unter page-source erscheint genau nichts, wenn ich nachschauen moechte ob die site irgendwie kreiert ist.
was mache ich falsch? einmal hat mir java beim executen auf dem weissen bildschirm diverse flush-exceptions angezeigt. leider hab ich diese nicht notiert (in der hoffnung ich wuerde die meldung jedes mal sehen).
lg,
KITT
so habe ich kompiliert:
bash$ g++ -o hello.cgi hello.cc -I/home/meinName/TriDAS/daq/extern/cgicc/linuxx86/include -L/home/meinName/TriDAS/daq/extern/cgicc/linuxx86/lib -lcgicc
hier mein hello.cc
#include <iostream>
#include <vector>
#include <string>
#include "cgicc/CgiDefs.h"
#include "cgicc/Cgicc.h"
#include "cgicc/HTTPHTMLHeader.h"
#include "cgicc/HTMLClasses.h"
#include <stdio.h>
#include <stdlib.h>
using namespace std;
using namespace cgicc; // Or reference as cgicc::Cgicc formData; below in object instantiation.
int main(int argc, char **argv)
{
try {
Cgicc formData;
// Send HTTP header: Content-type: text/html
cout << HTTPHTMLHeader() << endl;
// Print: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
cout << HTMLDoctype(HTMLDoctype::eStrict) << endl;
// Print: <html lang="en" dir="LTR">
cout << html().set("lang", "EN").set("dir", "LTR") << endl;
// Set up the HTML document
cout << html() << head() << title("Cgicc example") << head() << endl;
cout << body().set("bgcolor","#cccccc").set("text","#000000").set("link","#0000ff").set("vlink","#000080") << endl;
cout << h1("This is a demonstration of the GNU CgiCC library") << endl;
// Close the HTML document
cout << body() << html();
}
catch(exception& e) {
// handle any errors here.
cout << "ERROR!!" << endl;
}
return 0; // To avoid Apache errors.
}
Alles anzeigen