We help IT Professionals succeed at work.

Check out our new AWS podcast with Certified Expert, Phil Phillips! Listen to "How to Execute a Seamless AWS Migration" on EE or on your favorite podcast platform. Listen Now

x

New app on Tomcat 5.0.19

pouli
pouli asked
on
Medium Priority
359 Views
Last Modified: 2013-11-24
I am converting a project containg JSP and servlets from Tomcat 3.3 to 5.0.19
I have moved my web application under the webapps directory and the initial web page is found and comes up ok but when the first servlet comes up I get an error from Tomcat
HTTP Status 404 /insidezos20/servlet/checkuser
Description: The rquested resource (/insidezos20/servlet/checkuser) is not available


Any configuration in the web.xml or server.xml

Any help please ???

Comment
Watch Question

CERTIFIED EXPERT
Top Expert 2016

Commented:
Make sure you've moved ALL your files

Author

Commented:
yes,

I have moved them. What else could be ?
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
I guess you have also moved the web.xml file. Can you make sure that the checkuser servlet (I guess it;s a servlet) is defined in your web.xml file? Also in Tomcat 5.0.19 you do not need the servlet.xml file.

Author

Commented:
   <servlet-mapping>
        <servlet-name>checkuser</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>


It is in the web.xml file
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
Do you also have

<servlet>
    <servlet-name>...</servlet-name>
    <servlet-class>...</servlet-class>
</servlet>

tags?

Author

Commented:
It seems that no.

Why it was working with the old version though?
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
Not sure, different settings probably. It's a very long time since I last used Tomcat 3.3, I do not remember details but I *think* you didn't have to specify the <servlet-name> and <servlet-class> in your web.xml. It could find the servlets as long as they were in the WEB-INF/classes folder.
CERTIFIED EXPERT
Top Expert 2016

Commented:
Isn't it that it can find the web apps if they're in the webapps dir and through the app archive  find the servlets?

Author

Commented:
CEHJ sorry could you explain better what you mean??
CERTIFIED EXPERT
Top Expert 2016

Commented:
That's really a semi-rhetorical(?) question to girionis. Generally there seems to be less config to worry about
CERTIFIED EXPERT
Distinguished Expert 2019

Commented:
> Isn't it that it can find the web apps if they're in the webapps dir and through the app archive  find the servlets?

It's weird what's going on. AFAIR Tomcat 3.3 needed to servlet.xml file in order to find the web application but could implicitly find a servlet under the web app. On the other hand Tomcat 5.0 (I think this feature was availble after the 4.0 version) does not need a servlet.xml file (can find all the web-apps automatically as long as they are under the web-apps folder) to load the web-app but it does need to explicitly define a servlet in the web.xml file.
CERTIFIED EXPERT
Top Expert 2016

Commented:
Well i think it's a general move in the direction of individual config as opposed to global, which i think is probably a good thing, although it feels a bit rich when you hear them recommending that library jars should really go in each web app. i.e. if you have x.jar used by 4 web apps, you'll have 4 copies of x.jar
student
CERTIFIED EXPERT
Commented:
Unlock this solution with a free trial preview.
(No credit card required)
Get Preview
Mayank SPrincipal Technologist
CERTIFIED EXPERT

Commented:
>> /insidezos20/servlet/checkuser

>> But in Tomcat 5  the Invoker servlet is commented out.  

Correct, the invoker Servlet is no longer there. It was already known a long time back that it will be removed. It must have a mapping in web.xml. The invoker Servlet feature was generally used for testing purposes (while development - as a short-hand way for immediate-testing), but now, its no longer there.

Author

Commented:
rrz@871311

Thank your answer was correct.

Thank everyone though for your interest.

Talk u later
rrzstudent
CERTIFIED EXPERT

Commented:
pouli, thanks for the points, but I must agree with mayankeagle  

>The invoker Servlet feature was generally used for testing purposes    

and because it was a security risk, was  phased out.    rrz
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a free trial preview!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.