Probleme quand on clique sur le boutton upload

Fermé
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015 - 30 avril 2015 à 15:49
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 30 avril 2015 à 22:25
Bonjour j'ai un programme qui fait upload fichier mais j'ai un soucis c'est lorsque je clique sur le bouton upload il m'affiche page blanche et j'ai une exception java.sql.SQLException: No value specified for parameter 3

la table cours(id,tilte,file)
{ id_Temp int 25 }
{ tilte varchar 25 }
{ file text 45 }

voici la jsp:



<%@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 method="POST" action="Upload" enctype="multipart/form-data" />
<center>
<table border="1" width="254" cellpadding="5"/>

<thead>
<th colspan="5">upload file </th>
</thead>

<tbody>
<tr>
<td>tilte:</td>
<td><input type="text" name="title"size="30"/>
</td>
</tr>




<tr>
<td> Choose file:</td>
<td><input type="text" name="file_upload" size="30"/>
</td>
</tr>
<tr>
<td colspan="1"><center><input type="submit" value="upload"></center></td>

</tr>

</tbody>


</table>

</center>




</form>





</body>
</html>



voici la servlet:


package Servlet;

import com.sun.corba.se.spi.protocol.RequestDispatcherDefault;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;


public class UploadController extends HttpServlet {




@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");



PrintWriter out = response.getWriter() ;

InputStream inputStream=null;
Random rand= new Random();
int n=rand.nextInt(9999)+1;
String idTemp=(String.valueOf(n));
String Title= request.getParameter("title");
Part filePart=request.getPart("file_upload");
if(filePart!=null)
{
System.out.println(filePart.getSize());

System.out.println(filePart.getInputStream());
System.out.println( filePart.getContentType());
inputStream =filePart.getInputStream();

}
try {

Class.forName("com.mysql.jdbc.Driver");

Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bdd","root","");

String sql="INSERT INTO cours(id_Temp,title,file)VALUES(?,?,?)";
PreparedStatement st= cn.prepareStatement(sql);
st.setString(1, idTemp);

st.setString(2, Title);


if(inputStream!=null){

st.setBinaryStream(3, inputStream, (int) filePart.getSize());



}
int row=st.executeUpdate();
if(row>0){
out.println("file upload");
cn.close();
RequestDispatcher rs=request.getRequestDispatcher("UploadFiles.jsp");
rs.include(request, response);

}
else{

out.println("on peu pa");
cn.close();
RequestDispatcher rs=request.getRequestDispatcher("UploadFiles.jsp");
rs.include(request, response);

}



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




}


}

pouvez vous m'aider svp.merci

2 réponses

Utilisateur anonyme
30 avril 2015 à 16:02
Bonjour

Je ne connais pas java, mais quand je vois ta requête avec ?,?,?, ton message d'erreur et
 st.setString(1, idTemp);
st.setString(2, Title);

Je me dis qu'il doit manquer un
 st.setString(3, qqchose);

Non ?
0
natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015
30 avril 2015 à 17:35
bonjour,mais j'ai fait ca :

st.setBinaryStream(3, inputStream, (int) filePart.getSize());
0
Utilisateur anonyme > natasha82 Messages postés 55 Date d'inscription vendredi 20 mars 2015 Statut Membre Dernière intervention 9 juin 2015
30 avril 2015 à 21:24
Ça confirme que je ne connais pas java :-)
Je me risque quand même à continuer de suggérer : c'est peut-être que inputStream est null. L'as-vérifié en mettant un else à ton if(inputStream!=null) ?
0