WIE LÖSEN Servlet-Ausführung hat eine Ausnahme?
Ich mache ein Projekt für das hochladen von Dateien mit jsp, servlets und tomcat.
Aber, ich habe immer die folgende Fehlermeldung:
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.
Mein servlet-code ist:
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();}
}
}
Wir haben eine Datenbank in oracle 10g anhand der folgenden
create table files(id number(10), title varchar(20),file1 varchar(20));
Dateien, die wir hochladen möchten, um von Größe 5 bytes.Ich habe das Datenbank-Verbindung auch. Könnten Sie mir bitte helfen diesen Fehler beheben.
Haben Sie alle die Gläser ?
InformationsquelleAutor kavya | 2015-08-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Umfassen jar-Datei enthält
database/Db_Connection
im classpathInformationsquelleAutor M Sach
"Servlet-Ausführung hat eine Ausnahme" ist eine Allgemeine Fehlermeldung Meldung, wenn es eine Ausnahme ist, wird In solchen Fällen müssen wir auf die Ursache für die Identifizierung die Ausnahme. In Ihrem Fall DB_Connection Klasse fehlt im classpath.
InformationsquelleAutor Vincent
Ihre oracle-Datenbank, müssen Sie die jar für oracle-verbindungen. Versuchen Sie, hinzufügen, dass zu unserer Klasse Weg. hoffentlich wird dies das Problem zu lösen.
InformationsquelleAutor Shahid Farooq