Mohamed Inayath wrote:If you could see in the error stack trace, its saying java.lang.NoClassDefFoundError: calci (wrong name: classes/calci)
And if you see web.xml you have defined the servlet class as :
Which should be
Besides the class name should start with a Capital letter.
Changed both
now the error is
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Wrapper cannot find servlet class classes.Calci or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.ClassNotFoundException: classes.Calci
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1232)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
java.lang.Thread.run(Unknown Source)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs.
Apache Tomcat/5.5.27
calculator.html --> No changes
Calci.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class Calci extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
int num1=Integer.parseInt(req.getParameter("N1"));
int num2=Integer.parseInt(req.getParameter("N2"));
res.setContentType("text/html");
PrintWriter out=res.getWriter();
out.println(num1+num2);
}
}
web.xml
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>Ch3 Beer </servlet-name>
<servlet-class>classes.Calci</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Ch3 Beer </servlet-name>
<url-pattern>/calcul.do</url-pattern>
</servlet-mapping>
</web-app>
No changes made to the location
Hitting my keys with atmost desparation