yacreader/YACReaderLibrary/server/main.cpp
2012-05-20 23:19:29 +02:00

59 lines
2.0 KiB
C++

/**
@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();
}