Date: 2004-02-29T01:41:02
   Editor: AaronFarr <[EMAIL PROTECTED]>
   Wiki: Apache Avalon Wiki
   Page: FortressServletExample
   URL: http://wiki.apache.org/avalon/FortressServletExample

   Finally, a Fortress Servlet example again -farra

New Page:

= Fortress Servlet HOWTO =

The Fortress Servlet HOWTO shows how to launch a Fortress container in a J2EE webapp.  
In this example, the Fortress ServiceManager is placed in the Servlet Context.  
Servlets, JSP's, Struts Actions, etc. can then get services from the ServiceManager.  
Notice, though, that this means there will be a single Fortress container per 
''webapp'' not application server.  If you want to run a a single Fortress instance 
for all webapps you will probably need to put together JNDI bindings for the services 
via something like AltRMI.

The example has three parts (click to see source code)
  * FortressServletLauncher :  a ServletContextListener which loads the ServiceManager 
into the Servlet Context
  * ["fortress.jsp"] : a JSP which retrieves a service from the ServletContext
  * FortressServlet : a standard servlet which retrieves the service from the Servelet 
Context

A couple of notes to consider:
  * The FortressServletLauncher is generic in that you could add this class to any of 
your webapps including Struts applications
  * A "better" solution to the JSP and Servlet would be to create an Abstract servlet 
or JSP tag which contains the ServiceManager lookup logic.  This way you could swap 
out lookup mechanism (switch Merlin for Fortress) and not have to change your client 
code.

See http://cvs.apache.org/viewcvs.cgi/avalon-sandbox/examples/fortress/servlet/ for 
latest source code

To run:
  * Download lastest avalon-examples source distribution
  * move to the fortress/servlet directory
  * run {{{ maven war }}}
  * copy the fortress-servlet.war file into your servlet container (i.e. Tomcat)
  * See the webapp at: {{{http://localhost:8080/fortress/}}}  (Tomcat example)

[Back to HowTo]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to