Ciao a tutti, premetto che sono pochi giorni che sono entrato nel mondo delle servlet e dei file .xml. Ho cercato di fare una semplicissima servlet che legge una stringa mediante form e in base a quesdta visualizza una pagina .jsp.
Premetto che ho TOMCAT 6.0.
Vi riassumo il tutto:
LA STRUTTURA DELLE CARTELLE E' QUESTA:
la mia root si chiama IAM
form3.html -> SI TROVA IN IAM/form3.html
web.xml -> SI TROVA IN IAM/WEB-INF/web.xml
Main.class -> SI TROVA IN IAM/WEB-INF/classes/Main.class
FORM3.HTML
<div align="center">
<form name="Login" action="/MainUrl">
Categoria: <input name="categoria" type="text" />
<input id="Submit" type="submit" value="Show" />
</form>
</div>
WEB.XML
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/Web-app_2_3.dtd">
<Web-app>
<servlet>
<servlet-name>MainServlet</servlet-name>
<servlet-class>Main</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MainServlet</servlet-name>
<url-pattern>/MainUrl</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</Web-app>
Main.class
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.IOException;
public class Main extends HttpServlet {
public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String categoria = request.getParameter("categoria");
String jspPage = "";
if ( categoria.equals("politica") )
{
jspPage = "pages/politica.jsp";
}
else if ( categoria.equals("finanza") )
{
jspPage = "pages/finanza.jsp";
}
else if ( categoria.equals("sport") )
{
jspPage = "pages/sport.jsp";
}
else
jspPage = "pages/error.jsp";
request.getRequestDispatcher( jspPage ).forward(request,response);
}
}
QUESTO è TUTTO, NON SO PERCHè MA LA SERVLET NON VIENE ESEGUITA, QUANDO CLICCO SUL TASTO DEL FORM, MI APPARE UN ERRORE DI TOMCAT 6 CHE DICE:
HTTP Status 404 - /MainUrl
ASPETTO DELLE RISPOSTE GRAZIE ANCORA
DANIEL![]()