Ciao a tutti,

avrei bisogno di un consiglio su come affrontare la programmazione di questo semplice programma, il file 'index.jsp' è un form che prende tre dati, passa questi dati a 'inserisciAlbum.jsp' che non fa altro che inseririre i dati del DB Mysql e presentare la tabella nel DB in formato tabellare a video sul navigatore.

Vorrei effettuare adesso dei controlli sui dati prima di inserirli nel DB, sarebbe opportuno, secondo voi:

considerare il fatto di scrivere la porzione di JSP <sql:update> e <sql:query> in un'altro file e importarlo nel file 'inserisciAlbum.jsp' con un tag <@ include file="scriviDB.jsp"> ?

Da questo nuovo file 'scriviDB.jsp' istanziare una classe che effettui i controlli sui dati appena inseriti PRIMA DI SCRIVERE SUL DB per effettuare tutte le verifiche?

Sarebbe meglio importare da un altro file anche la porzione di codice che è presente nei tag <c:forEach> sempre del file 'inserisciAlbum.jsp'?

Grazie,
Roberto

FILE: index.jsp
codice:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        
        <form action="inserisciAlbum.jsp" method="post">
            <p>Nome album:<input type="text" name="nomeAlbum"></p>
            <p>Nome artista:<input type="text" name="artista"></p>
            <p>Supporto registrazione:<input type="text" name="supporto"></p>
            <input type="submit" value="Invia">
        </form>
      
    </body>   
</html>
FILE: 'inserisciAlbum.jsp'
codice:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Inserisci album</title>
    </head>
    <body>
        <sql:update var="discoInserito" dataSource="jdbc/dischi">
        INSERT INTO album (nomeAlbum, artista,supporto)
        VALUES (?,?,?)
        <sql:param value="${param.nomeAlbum}"/>
        <sql:param value="${param.artista}"/>
        <sql:param value="${param.supporto}"/>
        </sql:update>  

        <sql:query var="result" dataSource="jdbc/dischi">
            SELECT * FROM album
        </sql:query>
            
        <table border="1">
            <!-- column headers -->
            <tr>
            <c:forEach var="columnName" items="${result.columnNames}">
                <th><c:out value="${columnName}"/></th>
            </c:forEach>
        </tr>
        <!-- column data -->
        <c:forEach var="row" items="${result.rowsByIndex}">
            <tr>
            <c:forEach var="column" items="${row}">
                <td><c:out value="${column}"/></td>
            </c:forEach>
            </tr>
        </c:forEach>
    </table>
    </body>
</html>