WEB-INF folder

This page will cover the ominous WEB-INF folder which normally does not even has to be called WEB-INF.

The WEB-INF folder is used by Railo in order to store its configuration in it. The WEB-INF folder is created by the application server (they only create it if they actually need it), and is used by Railo because this folder always exists once the servlet is used. Where Railo stores its configuration files can be defined in one of the application server's configuration files. Like for instance in Resin you will see the following lines in the app-default.xml file:

<servlet servlet-name="CFMLServlet" servlet-class="railo.loader.servlet.CFMLServlet">
<init-param>
<param-name>railo-web-directory</param-name>
<param-value>{web-root-directory}/WEB-INF/railo/</param-value>
	<!-- <param-value>c:/webconfig/{web-context-hash}/susi/</param-value> -->
<description>Railo Web Directory directory</description>
</init-param>
<init-param>
<param-name>railo-server-directory</param-name>
<param-value>./</param-value>
<description>directory where railo root directory is stored</description>
</init-param>
...
</servlet>

The above lines load the Railo CFML servlet and assign two init parameters to it (normally the second one is outcommented). Let's have a closer look.

<param-name>railo-web-directory</param-name>
<param-value>{web-root-directory}/WEB-INF/railo/</param-value>
<!-- <param-value>c:/webconfig/{web-context-hash}/susi/</param-value> -->
<description>Railo Web Directory directory</description>

The first parameter defines the Railo web directory which is the place where Railo stores all its configuration files. It ends up being the content of the {railo-web} constant (which you can expand with expandPath("{railo-web}") ). So Railo by default takes the web root directory and places its files inside the WEB-INF/railo/ directory below it. There are several tipps and tricks on how to prohibit users to access this folder. Please note that it is in the web's root. This is due to the fact that we only could assume that this will be the only folder (for sure) which we could use in order to generate some files at startup (if necessary).

There are around 50-60 files that Railo generates for each new web context. Below these files are described. If a file is missing it will be recreated at startup. So Railo is deploying itself into a new web context if it is not available there. Sometimes you can see this file creations in your application server's logfile.

IMPORTANT NOTE: If a file is not there or is different than the one in the package, it will be created or overwritten. So if you create your own debugging templates, please note that they might be overwritten with the next update. So just store them under a different name and do not edit the original ones.

File name Description
railo-web.xml.cfm Local Railo configuration file. Written by the Railo Web Admin
bin\jacob.dll Connection to COM objects (JAva-COm-Bridge)
security\cacerts Certificates for this context
context\railo-context.ra Railo archive containing the Railo Web and Server Administrator
context\component-dump.cfm Template that is used in order to dump components
context\Component.cfc Basic component.cfc. Edit this file in order to change the basic behaviour of components for this context.
context\application.cfm Application.cfm for the Railo Administrators
context\form.cfm Handles checkings for CFFORM etc.
context\graph.cfm Is used to create charts with CFCHART
context\wddx.cfm Contains some WDDX functions
context\railo-applet.cfm Is used for CFSLIDER
context\railo-applet.jar Is used for CFSLIDER
context\admin.cfm Redirects to the web admin
context\swfobject.js Necessary for the CFVIDEOPLAYER tag
context\swfobject.js.cfm Necessary for the CFVIDEOPLAYER tag
context\mediaplayer.swf Necessary for the CFMEDIAPLAYER tag
context\mediaplayer.swf.cfm Necessary for the CFMEDIAPLAYER tag
context\admin\plugin\Plugin.cfc Handles plugins to the Railo Administrator
context\admin\plugin\Simon\language.xml Simon plugin
context\admin\plugin\Simon\overview.cfm Simon plugin
context\admin\plugin\Simon\simon.swf.cfm Simon plugin
context\admin\plugin\Simon\Action.cfc Simon plugin
context\admin\plugin\Note\language.xml Note plugin
context\admin\plugin\Note\overview.cfm Note plugin
context\admin\plugin\Note\Action.cfc Note plugin
context\admin\dbdriver\Driver.cfc Database driver CFC’s
context\admin\dbdriver\HSQLDB.cfc Database driver CFC’s
context\admin\dbdriver\H2.cfc Database driver CFC’s
context\admin\dbdriver\MSSQL.cfc Database driver CFC’s
context\admin\dbdriver\MSSQL2.cfc Database driver CFC’s
context\admin\dbdriver\DB2.cfc Database driver CFC’s
context\admin\dbdriver\Oracle.cfc Database driver CFC’s
context\admin\dbdriver\MySQL.cfc Database driver CFC’s
context\admin\dbdriver\ODBC.cfc Database driver CFC’s
context\admin\dbdriver\Sybase.cfc Database driver CFC’s
context\admin\dbdriver\PostgreSql.cfc Database driver CFC’s
context\admin\dbdriver\Other.cfc Database driver CFC’s
context\admin\dbdriver\Firebird.cfc Database driver CFC’s
context\admin\dbdriver\types\Field.cfc Helper CFC
context\templates\error\error.cfm Error templates
context\templates\error\error-neo.cfm Error templates
context\templates\error\error-public.cfm Error templates
context\templates\debugging\debugging.cfm Debugging templates
context\templates\debugging\debugging-cascade.cfm Debugging templates
context\templates\debugging\debugging-comment.cfm Debugging templates
context\templates\debugging\debugging-neo.cfm Debugging templates
context\templates\debugging\debugging-2-console.cfm Debugging templates
context\templates\display\Application.cfm Necessary for the debugging console
context\templates\display\Application.cfc Necessary for the debugging console
context\templates\display\debugging-console-output-pages.cfm Necessary for the debugging console
context\templates\display\debugging-console-output-queries.cfm Necessary for the debugging console
context\templates\display\debugging-console-output.cfm Necessary for the debugging console
context\templates\display\debugging-console.cfm Necessary for the debugging console

The most important file above is definitely the railo-web.xml.cfm which contains your complete configuration of your Railo web context.