florida
04-07-2007, 12:37 PM
I have a Servlet that works in my Tomcat 5.5 container when I put my Servlet class file in the C:\TomcatHome\webapps\four\WEB-INF\classes\ but when I put a Servlet in a classes folder such as: C:\TomcatHome\webapps\four\WEB-INF\classes\beans it wont work.
For example if I have a java file that compiled successfully called FourServleta.java in beans folder: C:\TomcatHome\webapps\four\WEB-INF\classes\beans
My web.xml located in: C:\TomcatHome\webapps\four\WEB-INF looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<description>Configuration file for website</description>
<servlet>
<servlet-name>FourServlet</servlet-name>
<servlet-class>FourServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FourServlet</servlet-name>
<url-pattern>/FourServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FourServleta</servlet-name>
<servlet-class>FourServleta</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FourServleta</servlet-name>
<url-pattern>/beans/FourServleta</url-pattern>
</servlet-mapping>
</web-app>
I use this URL: http://127.0.0.1:8080/four/beans/FourServleta and it gives
me message saying:
javax.servlet.ServletException: Wrapper cannot find servlet class FourServleta or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProt ocol.java:667)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)
I have another Servlet in C:\TomcatHome\webapps\four\WEB-INF\classes that works and shows up successfully in my Browser as: http://127.0.0.1:8080/four/FourServlet
Please advise what I need to get it to work in the beans folder?
The Servlet is a Hello World simple servlet:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class FourServleta extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World tester.</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World test.</h1>");
out.println("</body>");
out.println("</html>");
}
}
For example if I have a java file that compiled successfully called FourServleta.java in beans folder: C:\TomcatHome\webapps\four\WEB-INF\classes\beans
My web.xml located in: C:\TomcatHome\webapps\four\WEB-INF looks like this:
<?xml version="1.0" encoding="ISO-8859-1"?>
<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 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<description>Configuration file for website</description>
<servlet>
<servlet-name>FourServlet</servlet-name>
<servlet-class>FourServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FourServlet</servlet-name>
<url-pattern>/FourServlet</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>FourServleta</servlet-name>
<servlet-class>FourServleta</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FourServleta</servlet-name>
<url-pattern>/beans/FourServleta</url-pattern>
</servlet-mapping>
</web-app>
I use this URL: http://127.0.0.1:8080/four/beans/FourServleta and it gives
me message saying:
javax.servlet.ServletException: Wrapper cannot find servlet class FourServleta or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProt ocol.java:667)
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
java.lang.Thread.run(Unknown Source)
I have another Servlet in C:\TomcatHome\webapps\four\WEB-INF\classes that works and shows up successfully in my Browser as: http://127.0.0.1:8080/four/FourServlet
Please advise what I need to get it to work in the beans folder?
The Servlet is a Hello World simple servlet:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
public class FourServleta extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World tester.</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World test.</h1>");
out.println("</body>");
out.println("</html>");
}
}