• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Paul Clapham
  • Ron McLeod
  • Jeanne Boyarsky
  • Tim Cooke
Sheriffs:
  • Bear Bibeault
  • Henry Wong
  • Devaka Cooray
Saloon Keepers:
  • salvin francis
  • Tim Moores
  • Tim Holloway
  • Stephan van Hulst
  • Frits Walraven
Bartenders:
  • Jj Roberts
  • Carey Brown
  • Scott Selikoff

tomcat-4.1.24 configuration problem?

 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I have an application, SampleApp, under webapps directory in tomcat-4.1.24 environment. I am able to access my app (which is just one servlet) as:
http://localhost:8080/SampleApp/servlet/SampleServlet
My confusion is about:
1) Why should I use http://localhost:8080/SampleApp/servlet/SampleServlet to access the servlet instead of using http://localhost:8080/SampleApp/SampleServlet (i.e. without /servlet in the URL)? Where is this configured? How to make this work without /servlet in the URL?
2) Looks like the web.xml file for my app (in <whatever>/webapps/SampleApp/WEB-INF/web.xml) is not being read. For example, I have the following in web.xml:
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>SampleServlet</servlet-class>
<run-as>
<description>Security role for anonymous access</description>
<role-name>tomcat</role-name>
</run-as>
</servlet>
When I call
String myServletName = getServletConfig().getServletName();
it throws an exception instead of getting the name of the servlet from web.xml. I have tried shutting down tomcat server, adding all kinds of extraneous stuff to web.xml, rebooting the machine, etc. Problem still exists. What am I doing wrong here?
Thanks in advance for your help.
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
just add the following entry to your web.xml

Then you can reach it under http://yourMachine/yourApp/sampleservlet
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, Oliver...confusion 1) is cleared.
2) is still a problem.
 
Author and all-around good cowpoke
Posts: 13078
6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
When you address a servet using the /servlet/yourservlet approach, it is the invoker servlet that loads the class and runs it.
The use of invoker causes all sorts of bizarre problems - you would be much better off to get your web.xml set up correctly so that you can address it directly and the servlet engine sees your servlet as a real web application.
Bill
 
Heroic work plunger man. Please allow me to introduce you to this tiny ad:
the value of filler advertising in 2020
https://coderanch.com/t/730886/filler-advertising
reply
    Bookmark Topic Watch Topic
  • New Topic