[Java]Date diminuite di un giorno su db MySQL

Andreawave

Nuovo Utente
27 Gen 2014
11
0
1
Ciao a tutti.
Ho il seguente problema:
Sto facendo una java web application molto semplice in cui memorizzo nel database i dati relativi a una persona: nome, cognome e data di nascita.
L'applicazione sembra funzionare tranne per il fatto che, inserendo una data (ad esempio 07/03/2019) mi ritrovo sul db tale data diminuita di un giorno, ovvero 2019-03-06. Com'è possibile?
Potreste dirmi come fixare tale problema?
Di seguito il codice:

Il bean:
Codice:
import java.io.Serializable;
import java.sql.Date;

public class Persona implements Serializable {
 
   private int idPersona;
   private String nome;
   private String cognome;
   private Date dataNascita;
 
   public Persona() {
       super();

   }

   public Persona(String nome, String cognome, Date dataNascita) {
       super();
       this.nome = nome;
       this.cognome = cognome;
       this.dataNascita = dataNascita;
   }

   public Persona(int idPersona, String nome, String cognome, Date dataNascita) {
       super();
       this.idPersona = idPersona;
       this.nome = nome;
       this.cognome = cognome;
       this.dataNascita = dataNascita;
   }

   public int getIdPersona() {
       return idPersona;
   }

   public void setIdPersona(int idPersona) {
       this.idPersona = idPersona;
   }

   public String getNome() {
       return nome;
   }

   public void setNome(String nome) {
       this.nome = nome;
   }

   public String getCognome() {
       return cognome;
   }

   public void setCognome(String cognome) {
       this.cognome = cognome;
   }

   public Date getDataNascita() {
       return dataNascita;
   }

   public void setDataNascita(Date dataNascita) {
       this.dataNascita = dataNascita;
   }

}

La servlet:
Codice:
package servlet;

import java.io.IOException;
import java.sql.Date;
import java.sql.SQLException;
import java.text.ParseException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import bean.Persona;
import dao.ProvaDao;
import utility.ManipolazioneDate;

/**
 * Servlet implementation class Inserimento
 */
@WebServlet("/Inserimento")
public class Inserimento extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * Default constructor.
     */
    public Inserimento() {
    
      
    }

    /**
    * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      
        String nome = request.getParameter("nome");
        String cognome = request.getParameter("cognome");
        String dataNascita = request.getParameter("dataNascita");
        Date dataN = null;
        try {
            dataN = (Date) ManipolazioneDate.convertiData(dataNascita);
        } catch (ParseException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
      
        Persona p = new Persona(nome, cognome, dataN);
        System.out.println(p.getNome());
        System.out.println(p.getCognome());
        System.out.println(p.getDataNascita());
      
        try{
            ProvaDao.registraPersona(p);
        }catch(SQLException e){
            e.printStackTrace();
        }
    }

}


La classe che mi permette di convertire la data dal formato stringa al formato java.sql.Date
Codice:
package utility;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ManipolazioneDate {
 
    public static Date convertiData(String data) throws ParseException{
      
        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        Date parser = format.parse(data);
        java.sql.Date dataSql = new java.sql.Date(parser.getTime());
      
        return dataSql;
      
    }

}



La Jsp con il form per l'inserimento dei dati
HTML:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <div align="center">
        <form action="/Prova/Inserimento" method="get">
            <p>Nome</p>
            <input type="text" value="" name="nome">
            <br>
            <p>Cognome</p>
            <input type="text" value"" name="cognome">
            <br>
            <p>Data di nascita</p>
            <input type="text" value="" name="dataNascita">
            <br>
            <input type="submit" value="Invia">
          
        </form>
    </div>
</body>
</html>

Il Dao
Codice:
package dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import bean.Persona;
import utility.Connessione;

public class ProvaDao {
    
    public static void registraPersona(Persona persona) throws SQLException{
        
        Connection conn = Connessione.getConnection();
        PreparedStatement ps = null;

        
        String ins = "insert into prova2.persona(nome, cognome, dataNascita) values(?,?,?)";
        
        try{
            
            ps = conn.prepareStatement(ins);
            
            ps.setString(1, persona.getNome());
            ps.setString(2, persona.getCognome());
            ps.setDate(3, persona.getDataNascita());
            
            ps.executeUpdate();
            System.out.println("Persona inserita");
            
        }catch(SQLException e){
            
            System.out.println(e.getMessage());
            System.out.println("Errore nell'inserimento");
            
        }finally{
            
            if(ps != null){
                ps.close();
            }
            
            if(conn != null){
                conn.close();
            }
        }
    }

}
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
L java api_google Javascript 0
F NetBeans problema creazione progetto Java Windows e Software 0
Z [java] bufferizzare stream audio da mic Java 1
L java + Api di google Javascript 1
A [Cerchiamo] [Retribuito/a] "Java Solution Architect" Offerte e Richieste di Lavoro e/o Collaborazione 1
F Script java elenco alfabetico non funziona Javascript 3
C Serializzazione in java Java 1
M AIUTO ESERCIZIO JAVA Javascript 1
M Ripasso Java Offerte e Richieste di Lavoro e/o Collaborazione 0
F [OFFRO - RETRIBUITO] Sviluppatori JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
L leggere RGB di un pixel dello schermo in java Java 1
I Creazione programmino JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
F Aiuto java script Javascript 2
T [Java] tipi generici con esempio pratico Java 1
J File audio in java Java 0
V [JAVA] come integrare un software scritto in java su una pagina web? Java 4
C Java client / server Java 0
F [OFFRO][RETRIBUITO] PROGRAMMATORE JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
C [Java] testare un metodo con Junit Java 1
A [Java] caricare un url esterno senza utilizzo di iframe Java 0
S [OFFRO] Debug delle tue applicazioni Java Offerte e Richieste di Lavoro e/o Collaborazione 1
L [Java] Aggiungere elementi ad array JSON Java 0
B [Java] Paginazione in risposta HTTP Java 0
K [Java] aiuto switch case Java 1
P [Java] limite destro di un JFrame Java 5
D [Java] far partire JProgressBar all'apertura di un JFrame Java 1
N [java con eclipse]metodo ricorsivo che accetta in ingresso un char e restituisce un int Java 0
A Verifica validità data in Java Java 2
L [Java] Errore json conversione Java 0
Drago73 [Java] leggere/scrivere txt server Java 0
M [Javascript] Java card Java 0
serena.cerutti posizioni aperte: PhP, Java, .Net Offerte e Richieste di Lavoro e/o Collaborazione 0
N [Java]problema jasper report dopo compilazione file .jar Java 0
N [Java] Piccolo jform per calcolo totale da 2 campi i double Java 0
N [Java] jbutton con funzioni Java 2
M [java] esercizio lunghezza array di stringhe Java 0
A [java] problema esercizio Java 0
filograndipad2 Esempi chiari e completi sul funzionamento degli eventi in Java Java 1
Raziel84 [Java] Combinazione elementi matrice Java 0
A [java] problema esercizio array Java 5
L da php a popup java PHP 2
W Piccolo sistema per gestire alcune periferiche, Java o altro linguaggio? Java 8
S Cerco programmatore java Offerte e Richieste di Lavoro e/o Collaborazione 0
Z [Java] Grassetto assente su font incorporato nel pacchetto jar Java 0
O [Java] Lettura da JSON File Java 0
Z [Java] Caratteri distorti e spaziature errate nelle stampe di componenti swing Java 0
W Aiutino per compilare o eseguire un App Java Java 0
S [JAVA] Geocoding Java Java 0
Andy56 Parametri funzioni in Java Java 0
B [Java] Stringhe binarie Java 0

Discussioni simili