Skip to Content

Soon after the first steps in developing web applications on SAP NetWeaver Cloud, developers often realize that the default context root of their applications is not exactly what they want. By default, the context root goes after the project name – if the name of your project is “HelloWorld” then it will be deployed with context root “/HelloWorld”.

Changing the context root is a piece of cake. In this post we will see how you can do this in Eclipse and in the Neo Console Client.

Setting the context root when creating a new web project in Eclipse

As described in the Getting Started tutorial, when creating a new web application, you typically use the “New Dynamic Web Project” wizard. Instead of finishing it on the first wizard page, you should click on the Next button to advance to the “Web Module” wizard page. There you can set the context root of the application by modifying the value in the “Context root” text field. If you wish to deploy the application in the server’s root then simply give “/” as context root.

/wp-content/uploads/2012/08/web_facet_page_129065.png

Changing the context root of an existing web project in Eclipse

To change the context root of a web application that is already available in the Eclipse workspace, simply right-click on the web project and call the “Properties” action from the context menu. Then navigate to the “Web Project Settings” property page and you will find the text field where you can change the context root.

/wp-content/uploads/2012/08/web_project_settings_129066.png

If your application is already deployed then you will need to redeploy it for the change to take effect.

Setting the context root when deploying a WAR using the Neo Console Client

Setting the context root using the Neo Console Client is as easy as in Eclipse. Simply name the WAR file you are deploying with the desired context root. For example, if you want to deploy your WAR in context root “/hello” then rename your WAR to hello.war. If you want to deploy it in the “/” context root then rename your WAR to ROOT.war (capital letters matter).

If your application is already started then you need to stop it and start it again for the change to take effect.

To report this post you need to login first.

2 Comments

You must be Logged on to comment or reply to a post.

  1. Pankaj Kumar

    Kaloyan

    Thanks. This is helpful. What takes precedence for setting context – what I have specified in the web.xml or the name of war file as point at the bottom of the post.

    (0) 
    1. Kaloyan Raev Post author

      AFAIK, according to the Servlet specification, you cannot set the context root in the web.xml. In the web.xml you can set servlet mappings. But context root and servlet mappings are different: context root is on application level, while servlet mappings are on resource level.

      Here is how context root and servlet mappings take part in the URL for a specific servlet:

      http://<host>:<port>/<context-root>/<servlet-mapping>

      (0) 

Leave a Reply