Keskustelut - Java - Servlet not found ongelma


vikitus 13:44 27.1.10 
Tomcatin tiedostorakenne:
**********************************
fenixalliance/:
WEB-INF

fenixalliance/WEB-INF:
classes lib web.xml

fenixalliance/WEB-INF/classes:
fenixalliance

fenixalliance/WEB-INF/classes/fenixalliance:
Sattuma.class

fenixalliance/WEB-INF/lib:
servlet-api.jar
***********************************

web.xml sisältö:
****************************************
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">

<servlet>
<description>Tulostuu jonkinlainen randomnro.</description>
<display-name>Sattuma</display-name>
<servlet-name>Sattuma</servlet-name>
<servlet-class>fenixalliance.Sattuma</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Sattuma</servlet-name>
<url-pattern>/sattuma</url-pattern>
</servlet-mapping>
</web-app>
***************************************

Sattuma.java sisältö:
***************************************
package fenixalliance;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Sattuma extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet Sattuma</title>");
out.println("</head>");
out.println("<body>");
Random randomObject = new Random();
out.println("<h1>Randomnro:" + randomObject.nextLong() + "</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
}
**********************************

http://www.fenixalliance.com:8080/sample2/hello toimii, ja olen matkinut sitä mahdollisimman paljon, mutta

http://www.fenixalliance.com:8080/fenixalliance/sattuma sanoo
HTTP Status 404 - /fenixalliance/sattuma.

En voi käsittää missä virhe. Olen matkinut tuota samplea niin hyvin kuin olen voinut. Ainoa, asia jota en ole voinut matkia samplesta on Sample.java, jonka pakkausmäärittely olisi mielenkiintoista katsoa. Osaako joku auttaa, kun olen tätä jo puolipäivää katsellut.

kooderi 11:29 28.1.10 
Millä IDE:llä olet tehnyt tämän WAR:in? Käytätkö eclipseä vai teitkö kaiken käsin?