A modular, multithreaded webapplicationserver written from scratch for C++
To create webapplications Tntnet has a template-language called ecpp similar to php, jsp or mason, where you can embed c++-code inside a html-page to generate active content.
The ecpp-files are precompiled to c++-classes called components and compiled and linked into a shared library. This process is done at compiletime. The webserver Tntnet needs only the compiled componentlibrary.
Because the webapplications are compiled into native code, they are very fast and compact.
Components can call other components. So you can create buildingblocks of html-parts and call them in other pages like subprocesses.
Requests are parsed by tntnet and the request-information is easily accessible to the components. It supports GET and POST-parameters and Mime-multipart-requests for file-upload.
The templatelanguage has also support for internationalized applications. You can easily create webapplications for different languages.
Other features are: cookies, HTTP-upload, automatic request-parameter parsing and conversion, automatic sessionmanagement, scoped variables (application, request and session), internationalisation, keep-alive.
Logging is done through cxxtools, which provides a unique API for log4cpp, log4cxx or simple logging to files or console.
Tntnet is fully multithreaded and much work has been gone into making it scalable. It uses a dynamic pool of workerthreads, which answers requests from http-clients.
Ssl is supported via the openssl-library.
- written in standard-c++ with Linux
- tested with "Debian Woody x86" and "SuSE Linux 9.1 x86_64"
- use template-language to embed c++-code in html similar to PHP, JSP, ASP or Mason
- component-concept allows modularisation of webapplications
- compile a webapplication including graphics in one single shared library
- GET- and POST-parameters are parsed and are easily accessible
- support for file-uploads
- support for i18n of webapplications - single codebase for different languages.
In a hurry? Add it to your Download Basket!
What's New in This Release:
- New proxy module:
- The new module proxy@tntnet allows forwarding request to other http servers.