COMMENT RÉSOUDRE Servlet exécution a déclenché une exception?
J'Ai été faire un projet pour le téléchargement de fichiers à l'aide de jsp, servlets et tomcat.
Mais, j'ai obtenu l'erreur suivante:
type Exception report
message Servlet execution threw an exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NoClassDefFoundError: database/Db_Connection
controller.UploadFileController.doPost(UploadFileController.java:52)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.24 logs.
Ma servlet code est:
package controller;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import database.Db_Connection;
import java.io.PrintWriter;
import java.util.Random;
import javax.servlet.RequestDispatcher;
@WebServlet("/uploadServlet")
@MultipartConfig(maxFileSize = 16177215)
public class UploadFileController 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_uploaded");
if (filePart != null)
{
System.out.println(filePart.getName());
System.out.println(filePart.getSize());
System.out.println(filePart.getContentType());
inputStream = filePart.getInputStream();
}
try
{
Db_Connection dbconn=new Db_Connection();
Connection conn= dbconn.Connection();
String sql = "INSERT INTO files (id, title, file1) values (?, ?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setString(1, idTemp);
statement.setString(2, title);
if (inputStream != null)
{
statement.setBinaryStream(3, inputStream, (int) filePart.getSize());
}
int row = statement.executeUpdate();
if (row > 0)
{
out.println("File uploaded!!!");
conn.close();
RequestDispatcher rs = request.getRequestDispatcher("upload_form.jsp");
rs.include(request, response);
}
else
{
out.println("Couldn't upload your file!!!");
conn.close();
RequestDispatcher rs = request.getRequestDispatcher("upload_form.jsp");
rs.include(request, response);
}
}catch(Exception e){e.printStackTrace();}
}
}
Nous avons créé une base de données oracle 10g à l'aide de la suite de
create table files(id number(10), title varchar(20),file1 varchar(20));
Les fichiers que nous avons essayez de télécharger est de taille 5 octets.J'ai fait la connexion de base de données également. Pourriez-vous svp m'aider à résoudre cette erreur.
- Avez-vous d'inclure tous les pots ?
Vous devez vous connecter pour publier un commentaire.
Inclure le fichier jar qui contient
database/Db_Connection
dans le classpath"Servlet exécution a déclenché une exception" est un message d'erreur générique fournie à chaque fois il y a une exception, Dans de tels cas, nous devons nous pencher sur la cause de l'identification de l'exception. Dans votre cas DB_Connection classe est manquant dans le classpath.
Vous êtes à l'aide de base de données oracle, avez-vous inclus pot pour la connexion à oracle. Essayez d'ajouter que, à notre chemin de classe. j'espère que cela va résoudre le problème.