/** @file @author Stefan Frings */ /** @mainpage This project provies libraries for writing server-side web application in C++ based on the Qt toolkit. It is a light-weight implementation that works like Java Servlets from the programmers point of view. <p> Features: - HTTP 1.1 web server - persistent connections - chunked and non-chunked transfer - file uploads (multipart encoded forms) - cookies - sessions - uses dynamic thread pool - optional file cache - Template engine - multi-language - optional file cache - Logger - configurable without program restart - automatic backup and file rotation - configurable message format - messages may contain thread-local variables - optional buffer for writing history details in case of an error - Example application - Install and run as Windows service, unix daemon or at the command-line - Search config file in multiple common directories - Demonstrates how to write servlets for common use-cases If you write a real application based on this source, take a look into startup.cpp, which contains startup and shutdown procedures. The example source sets up a single listener on port 8080, however multiple listeners with individual configuration could be set up. <p> Incoming requests are mapped to controller classes in requestmapper.cpp, based on the requested path. If you want to learn form the example, then focus on these classes. <p> High-availability and HTTPS encryption can be easily added by putting an Apache HTTP server in front of the self-written web application using the mod-proxy module with sticky sessions. */ #include "startup.h" /** Entry point of the program. Passes control to the service helper. */ int main(int argc, char *argv[]) { // Use a qtservice wrapper to start the application as a Windows service or Unix daemon Startup startup(argc, argv); return startup.exec(); }