Basic Customization > User Interface Customization > User Interface Technology Overview > Windchill Client Architecture Overview > URL Strategy
  
URL Strategy
In a Windchill client application starting at 10.0 the URL consists of multiple pieces. The URL still begins with the host information and the Windchill web app name. Then the URL has the following components.
app/
app/ is the address of the shell. The shell renders the header, navigator and a blank content area.
#
The # character is the token. The complete 10.0 URL is actually made up of two URLs put together. This token marks the end of the URL for the shell and the beginning of the URL for the content that will be displayed within the content area.
ptc1/comp/
ptc1/tcomp/
ptc1/
After the # token is the URL to the content page. It is loaded via AJAX into the content area. This is a logical content address, not a physical location. The URL after the # token is normally an MVC path to a controller, for example: ptc1/comp/recent.updates.table
comp
Used in the URL to specify that the builder to look up is not type based.
tcomp
Used in the URL to specify that the builder to look up is type-based.
The URL after the # token can also take the formptc1/<objecttype>/<action name>, which mirrors the action mappings in actions.xml, for example: ptc1/report/listUpdates
Query Strings
After the question mark is the query-string as in any other URL. It is possible to have two query strings in the URL. When the ? is before the # token the query string parameters will be passed to the shell. When the query string is after the content address after the # token the parameters will be passed to the page in the content area.
Most pages need to be loaded through the shell to work correctly. Calling their URL’s directly will load them without the CSS and JavaScript they need to function correctly. Every page in Windchill is now being served through a controller class. Even URLs which look like direct JSPs are being served through the LegacyController. Spring MVC is used under the covers to configure them. SeeMVC Components for more information.