I\'m pretty new to the Spring framework and web applications, though I\'m experienced with Java. When I run my site on a local tomcat server the URL is: http://localhost:8
Tomcat can have many web apps executing at the same time. Consider the scenario:
The URL http://localhost:8080/ will be get the request to tomcat and tomcat must decide which of three apps should service the request since the URL does not identify the app the request will be routed by tomcat to the ROOT.war which is the root web app in tomcat.
When you have a JSP in appA.war with link
in it then the web browser that parses the output will figure that the request should be submitted to root of the server since the href started with / therefore the browser puts togethec the url http://localhost:8080/otherSite when the request get to tomcat tomcat assumes that /otherSite is refering to a web app called otherSite.war but of course that is not there.
if you use link
the browser will assume this is a relative URL and so it will send the request to http://localhost:8080/appA/otherSite because the page that generate the url was served out of the context http://localhost:8080/appA
So in general you need to make sure that the URLs from a JSP page are relative or that you add the context name to the generated url, this is what
and
tags do.
is there any connection between the url on local tomcat server and the url the webapplication will have when its published?
the URL for the context is the same as the name of the war file in the tomcat webapps folder unless you change that in the server.xml or in the context.xml file.