Package com.ramforth.webserver.examples

Source Code of com.ramforth.webserver.examples.WebServerCGIExample

/*
* Copyright (C) 2014 Tobias Ramforth
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package com.ramforth.webserver.examples;

import com.ramforth.webserver.WebServer;
import com.ramforth.webserver.http.HttpListener;
import com.ramforth.webserver.http.IHttpListener;
import com.ramforth.webserver.http.modules.HttpCgiModule;
import com.ramforth.webserver.http.resources.HttpFileResource;

/**
*
* @author Tobias Ramforth <tobias.ramforth at tu-dortmund.de>
*/
public class WebServerCGIExample {

    public WebServerCGIExample() {
        // instantiate a new web server
        WebServer webServer = new WebServer();

        // add a cgi module using perl as backend for files ending with .pl (adjust path to perl executable as needed)
        HttpCgiModule httpCgiModule = new HttpCgiModule("/usr/bin/perl", ".pl");
       
        // instantiate a single file resource
        HttpFileResource perlFile = new HttpFileResource();
        // set the path we can use to open the file e.g. with a web browser
        perlFile.setRelativePath("/index.pl");
        // set the path where the file is located on disk
        perlFile.setServerPath(WebServerCGIExample.class.getResource("/examples/perlCgiTest.pl").getPath());
        // add the newly created resource to the module
        httpCgiModule.getResources().addResource(perlFile);
       
        // add the module to the server
        webServer.addModule(httpCgiModule);

        // create an http listener for InetAddress.getLocalhost() on port 11111
        IHttpListener httpListener = new HttpListener(11111);
       
        // add the listener to the server
        webServer.addHttpListener(httpListener);
       
        // start the web server
        webServer.start();
    }
   
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        WebServerCGIExample cgiExample = new WebServerCGIExample();
    }

}
TOP

Related Classes of com.ramforth.webserver.examples.WebServerCGIExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.