I just installed Eclipse IDE for EE developers. Of course it had support for Apache Tomcat server but the Tomcat itself had to be installed to make that "support in Eclipse" point to the installation folder of Aapache Tomcat. Piece of cake.
I made a servlet that just displayed a line in the web browser available in Eclipse IDE for EE. I then tried to run that same servlet by opening up a browser in IE7 using http://localhost/p1/tyagi where p1 is the name of my application and tyagi is the word that my servlet s1 maps to in web.xml.
It ran fine. Remember there is only 1 instance of Tomcat running from inside Eclipse. All fine.
I then stopped the embedded server running in Eclipse IDE and started the Tomcat manually from installation directory. It started well but refused to display the servlet quoting a 500 error.
Why? Is it because without the support of Eclipse IDE, the barebones Tomcat is unable to function from command prompt as would a full fledged stand alone Tomcat server?
I tried something else but the results were not hard to understand. I started Tomcat both from command prompt and Eclipse and when I tried to run it, Eclipse would tell me the ports including 80 are occupied which is fine. My question is the paragraph before the current.
Also, please take a look at snapshots:
1).working_fine1.jpg: embedded tomcat running and I ran servlet inside browser in Eclipse
2).working_fine2.jpg: embedded tomcat running and I ran the servlet in IE 7 outside Eclipse
3).problem_tomcat_eclipse.JPG: started tomcat from command prompt and then tried to start it from Eclipse IDE
4).servlet mapping_mapping.jpg: servlet mapping in web.xml
For those who think I wrote too much here is the gist: why does embedded tomcat allow me to run my application from IE7 and that too only if started from inside Eclipse? Why shutting down Eclipse, starting Tomcat at command prompt would not allow me to run the same application in IE7 giving me a 500:Internal Server Error ?
Thanks in advance.
There is no real code in my servlet and not pertinent.