Setting the Context Root of a Web ApplicationThe context root of a web application determines which URLs Tomcat will delegate to your web application. If your application's context root is myapp , then any request for /myapp or /myapp/* will be handled by your application unless a more specific context root exists. If a second web application were assigned the context root myapp/help , a request for /myapp/help/help.jsp would be handled by the second web application, not the first.
This relationship also holds when the context root is set to
/
, which is known as the
root context
. When an application is assigned to the root context, it will respond to all
The context root for an application is determined by how the application is deployed. When a web application is deployed inside an EAR file, the context root is specified in the application.xml file of the EAR, using a context-root element inside a web module. In the following example, the context root of the web-client . war application is set to bank :
<application xmlns="http://java.sun.com/xml/ns/j2ee" version="1.4"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com /xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
<display-name>JBossDukesBank</display-name>
<module>
<ejb>bank-ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>web-client.war</web-uri>
<context-root>bank</context-root>
</web>
</module>
</application>
For web applications that are deployed outside an EAR file, the context root can be specified in two ways. First, the context root can be specified inside the WEB-INF/jboss-web.xml file. The following example shows what the jboss-web.xml file would look like for the same web-client.war file shown previously if it weren't bundled inside an EAR file:
<jboss-web>
<context-root>bank</context-root>
</jboss-web>
Finally, if no context root specification exists, the context root will be the base name of the WAR file. For web-client.war , the context root would default to web-client . The only special case to this naming is the special name ROOT . To deploy an application under the root context, you simply name it ROOT.war . JBoss already contains a ROOT.war web application in the jbossweb-tomcat50.sar directory. So you need to remove or rename that one to create your own root application.
Naming your WAR file after the context root it is intended to handle is a very good practice. Not only does it reduce the number of configuration settings to manage, but it
|
Setting Up Virtual
|