import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

/**
 * ServletQuery. Esempio di Servlet che si connette alla base di dati ed
 * inserisce un'immagine nella base di dati.
 */

public class ServletStore extends HttpServlet {

    public void doGet(HttpServletRequest request,
                      HttpServletResponse response) 
        throws IOException, ServletException {

	Connection con = null;

	String url = "jdbc:postgresql://sqlserver.sci.univr.it/esercitazioni";

	/** 
	 * Inserire login e passw per l'accesso alla base di dati
	 */

	String user = "";
	String passwd = "";

	File f = new File("idefix.jpg");
        	FileInputStream fis = new FileInputStream(f);
	
	/** 
	 * Caricamento del driver JDBC per il database
	 */

	try {
            	        Class.forName("org.postgresql.Driver");
	} catch (ClassNotFoundException cnfe) {
                         log("Driver jdbc non trovato: " + cnfe.getMessage());
	  }

	try {
           	 /** 
             	     * Connessione alla base di dati
                       */   
        
            	    con = DriverManager.getConnection(url, user, passwd);           
	    String str = "INSERT INTO prova VALUES (1, ?)";
	    PreparedStatement pst = con.prepareStatement(str);
	    pst.clearParameters();
	    pst.setBinaryStream(1, (InputStream)fis, (int)f.length());
	    pst.execute(); 
	    con.close();
	    
	    PrintWriter out = response.getWriter();
	    response.setContentType("text/html; charset=ISO-8859-1");
        
	    out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"");
	    out.println("      \"http://www.w3.org/TR/REC-html40/loose.dtd\">");
	    out.println("<html>");
	    out.println("<head>");
	    out.println("<title>Caricamento immagine</title>");
	    out.println("</head>");
	    out.println("<body>");
	    out.println("<h1>Immagine inserita correttamente nella base di dati </h1>");
	    out.println("<\body>");
	    out.println("<\html>");

	} catch(Exception e) {
	    e.printStackTrace();
	}
    }
}
