JHTML-based applications run the DAS servlet pipeline (not the DAF servlet pipeline) as a servlet in your application server. Your web application in this case must contain at least one instance of the servlet atg.nucleus.servlet.NucleusProxyServlet. This servlet takes an initialization parameter which is the Nucleus component path of the first servlet in the servlet pipeline. The default if no value is supplied is the string /atg/dynamo/servlet/pipeline/DynamoHandler, which is the Nucleus component path of the first servlet in the DAS servlet pipeline. When the NucleusProxyServlet receives a request, it passes it to the first servlet in the pipeline.

When you use the runAssembler command to assemble an EAR file, it includes NucleusProxyServlet in the atg_bootstrap.war web application, and includes these entries in its web.xml file:

<servlet>
  <servlet-name>DynamoProxyServlet</servlet-name>
  <servlet-class>atg.nucleus.servlet.NucleusProxyServlet</servlet-class>
  <load-on-startup>2</load-on-startup>
</servlet>
  ...
<servlet-mapping>
  <servlet-name>DynamoProxyServlet</servlet-name>
  <url-pattern>/dyn/*</url-pattern>
</servlet-mapping>

If this web application is installed in your application server with a context path of /dyn (the default), then the URLs for all JHTML pages in the application begin with:

http://hostname:port/dyn/dyn/

Note that this means that the request.getContextPath() and the request.getServletPath() methods do not return null, as they do on DAS. When configured with the servlet mapping shown above, the request.getContextPath() returns /dyn (the first one in the URL) and the request.getServletPath() returns /dyn as well (the second one).

A few servlets in the DAS servlet pipeline are disabled, because those facilities are provided by the application server (for example, the SessionServlet is disabled, because session tracking is handled by the application server). The first servlet in the pipeline creates the DynamoHttpServletRequest and Response wrappers around the HttpServletRequest and Response just as it does in DAS. All pipeline servlets you install into the Dynamo servlet pipeline will work as they did in DAS.

When the request reaches the FileFinderServlet in the pipeline, this servlet translates the path to find a file relative to Dynamo’s document root. On DAS using a Dynamo connection module, the connection module generally handles the translation of the paths. When you run Dynamo on another application server, the web server and application server cannot do the path translation, so you must configure the FileFinderServlet with all of the virtual directories used by your application. This is equivalent to how FileFinderServlet behaves on DAS when the FileFinderServlet.alwaysTranslate property is set to true.

 
loading table of contents...