Salve a tutti,ho scritto questo semplice codice in cui la pagina html presenta un form se non si inserisce nulla il servlet deve generare una pagina invalida e poi ritornare nella pagina precedente per poter inserire nuovamente una stringa nel form, il problema è che non ridirige la pagina.
codice:
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form action="RedirectServlet" method="get">
<input type="text" name="page" value="" />
<input type="submit" value="submit" />
</form>
codice della servlet in java:
codice:
package RidirezionePagina;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class RedirectServlet extends HttpServlet {
// gestisce le richieste dal client
protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
String location=request.getParameter("page");
if (location!=null){
if (location.equals("deitel"))
response.sendRedirect("http://www.deitel.com");
}
response.setContentType("text/html");
PrintWriter out= response.getWriter(); // ottiene un riferimento dell'oggetto response
out.println("<html>");
out.println("<head>");
out.println("<title> pagina invalida </title>");
out.println("</head>");
out.println("<body>");
out.println( "
<a href = " + "\"WebApplication4/RedirectServlet.html\" a>" );
out.println("</body>");
out.println("</html>");
out.close();
}
}
il problema è l'istruzione di ridirezione della pagina iniziale:
out.println( "
<a href = " + "\"WebApplication4/RedirectServlet.html\" a>" );
dove WebApplication4 è il nome dell'applicazione web e RedirectServlet.html si trova all'interno della cartella web pages.
per tutti gli altri casi di inserimento il programma funziona mentre se non inserisco nulla
mi da una pagina vuota con titolo intestazione "pagina invalida" e non ritorna indietro per permettermi di ridigitare una stringa nel form