Here is what I have that works:
in server.xml I have:
<?xml version="1.0"?>
<!DOCTYPE application-server PUBLIC "Orion Application Server Config"
"http://www.orionserver.com/dtds/application-server.dtd">
<application-server>
<library path="../lib" />
<rmi-config path="./rmi.xml" />
<data-sources path="./data-sources.xml" />
<principals path="./principals.xml" />
<log>
<file path="../log/server.log" />
</log>
<global-application name="bm" path="c:\\applications\\bm\\" />
<global-web-app-config path="global-web-application.xml" />
<web-site path="./default-web-site.xml" />
</application-server>
in default-web-site.xml I have:
<?xml version="1.0"?>
<!DOCTYPE web-site PUBLIC "Orion Web-site"
"http://www.orionserver.com/dtds/web-site.dtd">
<web-site host="[ALL]" port="80" display-name="WebSite">
<default-web-app application="bm" name="www" />
<access-log path="c:\\applications\\logs\\bm-access.log" />
</web-site>
in c:\applications\bm\META-INF\application.xml
<?xml version="1.0"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE
Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
<display-name>bm</display-name>
<module>
<web>
<web-uri>www</web-uri>
<context-root>/</context-root>
</web>
</module>
<security-role>
<role-name>administrators</role-name>
</security-role>
<security-role>
<role-name>users</role-name>
</security-role>
</application>
In web.xml I have:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<servlet>
<servlet-name>action</servlet-name>
<display-name>action</display-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>mapping</param-name>
<param-value>org.apache.struts.action.ActionMappingBase</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>org.apache.struts.action.ActionResources</param-value>
</init-param>
<init-param>
<param-name>config</param-name>
<param-value>/action.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/config/struts.tld</taglib-uri>
<taglib-location>/WEB-INF/struts.tld</taglib-location>
</taglib>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
I put the action.xml file into the www root path, since Orion does not allow
it to be loaded from inside the WEB-INF. This is due to a descrepancy in the
understanding of the Servlet 2.2 WEB-INF dir spec. Until its resolved via
the Orion team, STRUTS will not work as it does on every other app server.
The workaround is as I have done..move it to somewhere above the WEB-INF
folder and indicate that in the web.xml file in the init-param for config.
I also put struts.tld in a /config folder off of the root, but I think
leaving it in WEB-INF is ok.
Hope this helps.