Possiamo costruire una servlet scrivendo una classe Java che erediti le caratteristiche della classe HttpServlet. Questa può essere richiamata da una pagina Jsp per effettuare lavori come calcoli, ricerche, elaborazioni di vario genere. In pratica può essere considerata una "estensione" dell'application server. Mostriamo come sviluppare una Servlet che effettui il controllo sulla stringa digitata dall'utente e richiami la pagina corretta:
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 = "pagine/politica.jsp";
}
else if ( categoria.equals("finanza") )
{
jspPage = "pagine/finanza.jsp";
}
else if ( categoria.equals("sport") )
{
jspPage = "pagine/sport.jsp";
}
else
jspPage = "pagine/error.jsp";
response.sendRedirect(jspPage);
}
}
Una volta scritta e compilata bisognerà registrare questa classe come Servlet nella nostra applicazione web. Per fare ciò, creiamo nella cartella della nostra applicazione una cartella WEB-INF ed all'interno una cartella classes. Dentro la cartella WEB-INF andrà creato il file web.xml così fatto:
<?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>
Questo file XML permette di registrare la servlet nella nostra applicazione. Da qui impostiamo il nome della servlet (MainServlet), la classe corrispondente (Main) e l'Url tramite il quale verrà richiamata dal form nelle pagine Web (MainUrl). Dopo aver creato questo file, spostiamo il file Main.class nella cartella WEB-INF/classes e riavviamo Tomcat. Alla fine la struttra dovrà essere così fatta:
A questo punto non ci resta che riavviare Tomcat ed aprire nuovamente l'applicazione col browser. Quando cliccheremo sul tasto Show, il submit del form richiamerà la servlet Main.class
, questa verrà eseguita ed alla fine verrà richiamata la pagina Jsp corrispondente (error, finanza, politica o sport).
Nessun commento:
Posta un commento