Skip Headers

Oracle® Application Server Forms Services Deployment Guide 10g Release 2 (10.1.2) B14032-03 |
| Library | Product | Contents | Index

Previous | Next |

# C.5 forms.conf

For a description and the location of forms.conf, see Section 3.2.3.1, "forms.conf".

Table C-1 describes the virtual paths and servlet mappings:

Table C-1 forms.conf Virtual Paths and Servlet Mappings

URL Path | Type | Maps to | Purpose
--- | --- | --- | ---
`/forms/java` | Alias | `ORACLE_HOME/forms/java` | codebase for Forms applet. Used to download the applet code to the user's web browser.
`/forms/html` | Alias | `ORACLE_HOME/tools/frmweb/html` | Access runform.htm (used to run any form for testing)
`/forms/jinitiator` | Alias | `ORACLE_HOME/jinit` | Oracle JInitiator download
`/forms/frmservlet` | Servlet mount point | Forms Servlet | Generate HTML page to run a form
`/forms/lservlet` | Servlet mount point | Forms Listener Servlet | Handles message traffic from the Forms applet

## C.5.1 Default forms.conf

    # Name
    #   forms.conf
    # Purpose
    #   Apache mod_oc4j and mod_jserv configuration file for Forms Services.
    #   This file should be included into the Oracle Apache HTTP Listener
    #   configuration file (typically by adding an include statement to the
    #   oracle_apache.conf file)
    # Remarks
    #   If Forms is to be used with JServ, the jserv.properties file needs editing
    #   to add the "forms" servlet zone with properties file forms.properties
    # Notes
    #   Virtual paths: We use AliasMatch when defining virtual paths for
    #   security reasons (prevents directory browsing).
    # Virtual path mapping for Forms Java jar and class files (codebase)
    AliasMatch ^/forms/java/(..*) "%FORMS_ORACLE_HOME%/forms/java/$1"
    # Virtual path for JInitiator downloadable executable and download page
    AliasMatch ^/forms/jinitiator/(..*) "%FORMS_ORACLE_HOME%/jinit/$1"
    # Virtual path for runform.htm (used to run a form for testing purposes)
    AliasMatch ^/forms/html/(..*) "%FORMS_ORACLE_HOME%/tools/web/html/$1"
    # Virtual path for webutil
    AliasMatch ^/forms/webutil/(..*) "%FORMS_ORACLE_HOME%/forms/webutil/$1"
    # Configuration for JServ (if mod_jserv.c is available and not mod_oc4j.c)
    <IfModule mod_jserv.c>
      # Only configure for JServ if mod_oc4j is NOT available:
      <IfModule !mod_oc4j.c>
        # Virtual path mapping for FormsServlet and ListenerServlet.
        # Purpose: paths to invoke the servlets should be /forms/frmservlet
        # and /forms/lservlet respectively.
        # We map frmservlet to servlet.frm, and lservlet to servlet.frml.
        # The apJServAction directives (below) will then remap those.
        AliasMatch ^/forms/frmservlet(.*) "/servlet.frm"
        AliasMatch ^/forms/lservlet(.*) "/servlet.frml"
        ApJServMount /forms/servlet /forms
        #
        # Let the servlets be called by file extension (e.g /servlet.frm)
        #
        ApJServAction .frm /forms/servlet/frmservlet
        ApJServAction .frml /forms/servlet/lservlet
        # Prevent access to the Forms Servlets by paths other than
        # /forms/frmservlet and /forms/lservlet.
        # 1. Prevent access via the .frm and .frml file extensions:
        <LocationMatch ^.*\.frm.*>
          order deny,allow
          deny from all
        </LocationMatch>
        # 2. Stop access by class (by paths like
        #    /forms/servlet/oracle.forms.servlet.FormsServlet)
        <LocationMatch ^/forms/servlet/oracle\.forms.*>
          order deny,allow
          deny from all
        </LocationMatch>
      </IfModule>
    </IfModule>

    # Config. for OC4J
    <IfModule mod_oc4j.c>
        Oc4jMount /forms              OC4J_BI_Forms
        Oc4jMount /forms/frmservlet   OC4J_BI_Forms
        Oc4jMount /forms/frmservlet/* OC4J_BI_Forms
        Oc4jMount /forms/lservlet     OC4J_BI_Forms
        Oc4jMount /forms/lservlet/*   OC4J_BI_Forms
    </IfModule>