Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 36 su 36
  1. #31
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    168
    Servlet CaricaCombo.java

    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);
    	}
    }
    qui richiamo la pagina Nuovo.jsp che è qll dove ho i campi vuoti e la combobox!!!


    La pagina Nuovo.jsp ha qst codice:
    codice:
    <%@ 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>
    poi la servlet che richiamo su Nuovo.jsp è Inserimento.java
    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();
    			}
    	  
    	}	
    }
    il codice in rosso mi da errore qnd mando in esecuzione la pagina...

    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:

  2. #32
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Nel forward della prima servlet manca / all'inizio della stringa.
    Devi caricare la prima servlet, non la pagina. A caricare la pagina ci pensa la servlet.

    EDIT: Un ultima cosa. i=i++ (incremento del for nella jsp) e un buon modo per far andare in loop la pagina. O fai i=i+1 o fai i=++i o fai i++ (senza i= davanti), ma i=i++ non va bene.
    Se metti i=i++ dici al programma "Incrementa i (quella di sinistra) e poi assegna ad i il valore prima dell'incremento", quindi i rimane in eterno 0.

  3. #33
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    168
    Simo grazie ma nn ci sono riuscito ancora...
    "/" l'ho aggiunto e a caricare la servlet nn ci sono riuscito...
    Mi dispiace ma abbandono se nn risolvo il problema entro gg pomeriggio.. Grazie Simo e scusa per l'ignoranza..

  4. #34
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Che vuol dire che non riesci a caricare la servlet? Ti da errore o non sai come fare?
    Metti nella barra degli indirizzi l'url della servlet invece che della jsp.
    L'url relativo della servlet lo trovi nel file web.xml,nella barra degli indirizzi metti localhost:8080/NomeProgetto/urlCheHaiTrovatoInWebXml
    Credo che il tuo problema sia che stai tentando di fare un'applicazione web senza aver capito bene il funzionamento. Non occorre che ti scusi, nessuno nasce sapendo gia' tutto, ma ti farebbe comodo leggere qualche tutorial o libro sull'argomento e partire da esempi facili per poi passare ad un applicazione vera e propria quando avrai acquisito una buona padronanza di questi strumenti (servlet e jsp).
    Leggi anche l'edit del mio post precedente se non l'hai notato (hai postato mentre editavo e ti potrebbe essere sfuggito)

  5. #35
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    168
    Allora ho letto "JAVA MATTONE DOPO MATTONE"...
    ho modificato anche qll... Sapevo ke i=i++ non era la stessa cosa di i=i+1 oppure i++...Ho fatto c++ per 5 anni...
    CMQ NN SO KME FARE...
    Io dalla pagina nuovo col click del bottone richiamo la classe Inserimento.java... La classe CaricaCombo.java non la chiamo mai... la pagina precedente di nuovo è index.html e li chiamo Login.java, qnd quando devo chiamare la classe CaricaCombo.java?
    Grazie simo

  6. #36
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    906
    Login.java e' la servlet che chiama Nuovo.jsp, immagino. Allora o da Login chiami CaricaCombo fa il forward a CaricaComvo invece che a Nuovo.jsp, o prendi il pezzo di codice in CaricaCombo
    codice:
    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);
    		
    		}
    e lo copi dentro Login, dopo l'autenticazione ma prima del forward.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.