Plasma GitLab Archive
Projects Blog Knowledge


[UP]
Modules
 Wd_application_dtd
 Wd_cycle
 Wd_dialog
 Wd_dictionary
 Wd_encoding
 Wd_interactor
 Wd_run_cgi
 Wd_run_jserv
 Wd_run_fcgi
 Wd_stdlib
 Wd_template
 Wd_templrep
 Wd_transform
 Wd_types
 Wd_serialize_types
 Wd_universe
 Wd_upload
 Wd_var_functions
   
WDialog API for Objective Caml: Wd_run_jserv

Module Wd_run_jserv


module Wd_run_jserv: sig .. end
This module contains a customizable main program for application servers connected with the JSERV protocol

val create_request_handler : ?charset:Pxp_types.rep_encoding ->
?session_manager:Wd_types.session_manager_type ->
?no_cache:bool ->
?error_page:(Netchannels.out_obj_channel -> exn -> unit) ->
?response_header:Wd_types.response_header ->
?reg:(Wd_types.universe_type -> unit) ->
uifile:string -> unit -> Netcgi_jserv_app.request_handler
This function creates a request handler for a JSERV-based application server. Use this function like in this example:

let req_hdl = create_request_handler ... () in
let server = `Forking(20, [ "appname", req_hdl ]) in
Netcgi_jserv.jvm_emu_main
(Netcgi_jserv_app.run server `Ajp_1_2)

This main program creates a "forking server" that starts a new subprocess (up to 20) for every arriving request. This is currently the recommended mode. It sounds a bit like CGI, but is much faster because the subprocess is already initialized when it forks.

The application is accessible under the URL http://yourserver/servlets/appname. It is possible to bind several request handlers at the same time.

Call the function create_request_handler as follows:

let req_hdl = create_request_handler ~reg ~uifile ()

The argument ~reg registers the dialog classes (like in Wd_run_cgi). The argument ~uifile must be the absolute path of the UI definition. The suffix of this file must be ".ui" or ".ui.bin".



charset : determines the character set for the internal representation of strings and for the generated HTML pages. (Note that the parsed XML files can have character sets independent of this setting.) The default is ISO-8859-1.
no_cache : If true: The CGI response contains header directives preventing the browser (and all caches between server and browser) from storing the response. This ensures that never a cache copy is taken, and for many browsers, the history is no longer usable (when hitting the "Back" button, the user only gets a message that the data is expired, but not the old page). The default is true.
error_page : This function is called when an exception is caught. It can generate an error page by writing a nicely formatted message to the output channel. The default is a function that outputs a simple error page.
response_header : If set, this parameter is taken as the initial HTTP response header while processing the request. If omitted, the response header defaults to: The content type is text/html, the character set as determined by charset, the caching header is set according to no_cache.
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml