Forse non mi sono espresso bene, o forse non riesco a capire data la mia ignoranza sull'argomento. Voglio però farvi un semplice esempio:
Ho un servlet che si collega ad un database per inserire dei dati, e questo dovrebbe far parte della logica di business giusto? Il servlet dopo aver inserito i dati nel database, invia all'utente una semplice pagina html che avvisa l'utente che i suoi dati sono stati salvati e viene poi reindirizzato alla pagina principale index.jsp tramite il tag meta refresh.
Ora vorrei capire, perchè dovrei utilizzare questo servlet invece di questa jsp che mi consente di risparmiare un bel pò di righe di codice?:codice:import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; public class Insert extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); String message = request.getParameter("message"); String email = request.getParameter("email"); out.print("<html><head><meta http-equiv = \"refresh\" content = \"3; url=index.jsp\"></head><body>"); try { Class.forName ("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", ""); Statement statement = connection.createStatement(); statement.executeUpdate("INSERT INTO guestbook (name, message, email) VALUES ('" + name + "', '" + message + "', '" + email + "')"); out.print("Your message has been saved!"); } catch (Exception exception) { out.print ("Error: " + exception.getMessage()); } out.print("</body></html>"); } }
codice:<%@page import = "java.sql.*"%> <% String name = request.getParameter("name"); String message = request.getParameter("message"); String email = request.getParameter("email"); %> <html> <head> <meta http-equiv = "refresh" content = "3; url=index.jsp"> </head> <body> <% try { Class.forName ("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/mysql", "root", ""); Statement statement = connection.createStatement(); statement.executeUpdate("INSERT INTO guestbook (name, message, email) VALUES ('" + name + "', '" + message + "', '" + email + "')"); out.print("Your message has been saved!"); } catch (Exception exception) { out.print ("Error: " + exception.getMessage()); } %> </body> </html>

Rispondi quotando