Servlet CaricaCombo.java
qui richiamo la pagina Nuovo.jsp che č qll dove ho i campi vuoti e la combobox!!!codice:package provaprogetto; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CaricaCombo extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { public CaricaCombo() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ArrayList<Argomento> lista = new ArrayList<Argomento>(); try { Connection conn= DriverManager.getConnection("jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Gest_Doc/Database/GestioneDocumenti"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM ARGOMENTI"); while(rs.next()) { Argomento argomento = new Argomento(rs.getInt("Id_Argomento"), rs.getString("Descrizione")); lista.add(argomento); } request.setAttribute("lista", lista); RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("Nuovo.jsp"); dispatcher.forward(request,response); } catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()) ; } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
La pagina Nuovo.jsp ha qst codice:
poi la servlet che richiamo su Nuovo.jsp č Inserimento.javacodice:<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <jsp:directive.page import="java.util.ArrayList"/> <jsp:directive.page import="java.sql.*"/> <jsp:directive.page import="provaprogetto.Argomento"/> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Nuovo Documento</title> </head> <body style="background-color: rgb(215, 215, 215);"> <div style="text-align:center;"> [img]Image\testata_dkb.jpg[/img] </div> <table cellspacing="5" cellpadding="5" border="0" align="center" style="margin-top: 120px;" width="150px"> <tr> <td> Nuovo </td> <td> Ricerca</td> </tr> </table> <form action="Inserimento" method="get"> <table cellspacing="3" cellpadding="0" border="1" align="center" style="margin-top: 10px;" bgcolor=""> <tr> <td align="right">Titolo</td> <td><input id="Titolo" name="Titolo" type="text" value=""/></td> </tr> <tr> <td align="right">Data Pubblicazione</td> <td><input id="Data_Pubblicazione" name="Data_Pubblicazione" type="text" value=""/></td> </tr> <tr> <td align="right">Argomento</td> <td> <select id="Argomento" name= "Argomento" > <% ArrayList lista = (ArrayList)request.getAttribute("lista"); for(int i=0;i<lista.size() ;i=i++){ Argomento arg = (Argomento) lista.get(i); %> <option value="<%= arg.getId() %>"> <%= arg.getDescrizione() %> </option> <%} %> </select> </tr> <tr> <td><input type="submit" value="Inserisci"></td> <td><input type="reset" value="Pulisci"></td> </tr> </table> </form> </body> </html>
il codice in rosso mi da errore qnd mando in esecuzione la pagina...codice:package provaprogetto; import java.io.IOException; import java.sql.*; import java.util.ArrayList; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import provaprogetto.CaricaCombo; public class Inserimento extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { CaricaCombo io = new CaricaCombo(); static String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver"; static String DB_Url = "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb);DBQ=C:/Program Files/Apache Software Foundation/Tomcat 5.5/webapps/Gest_Doc/Database/GestioneDocumenti"; static String titolo; static String data; int argomento; PreparedStatement stmtIns; Connection conn; RequestDispatcher dispatcher; int id; // ArrayList<Argomento> lista = new ArrayList<Argomento>(); public Inserimento(){ super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ titolo = request.getParameter("Titolo"); data = request.getParameter("Data_Pubblicazione"); argomento = request.getIntHeader("Argomento"); try { conn = DriverManager.getConnection(DB_Url); //INSERT String sql = "INSERT INTO DOCUMENTI(Titolo,Data_Pubblicazione,rid_argomento,path_allegato,rid_utente) VALUES('"+ titolo + "','" + data + " 00.00','3','C/prog','"+ Login.Id_Utente + "')"; stmtIns = conn.prepareStatement(sql); stmtIns.executeUpdate(); stmtIns.close(); conn.close(); } //IN TUTTI I CASI catch(SQLException ex) { System.err.println("SQLException: " + ex.getMessage()) ; } finally{ try{ stmtIns.close(); conn.close(); } catch(SQLException ex) {System.out.println(ex.getMessage());} } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); try { stmtIns.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } }
Come mi hai detto giā precedentemente Simo7784, la lista č null...
ma ke sbaglio?
Ti giuro ke se nn ci riesco gg lascio stare qst benedetto programmai...
:master:![]()

Rispondi quotando