gpt4 book ai didi

java - 如何解决 Servlet 执行抛出异常?

转载 作者:行者123 更新时间:2023-11-28 22:11:53 25 4
gpt4 key购买 nike

我一直在做一个使用jsp、servlets和tomcat上传文件的项目。

但是,我一直收到以下错误:

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.

我的 servlet 代码是:

        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();}
}
}

我们使用以下命令在 oracle 10g 中创建了一个数据库

   create table files(id number(10), title varchar(20),file1 varchar(20));

我们尝试上传的文件大小为 5 字节。我也完成了数据库连接。你能帮我解决这个错误吗?

最佳答案

在类路径中包含包含 database/Db_Connection 的 jar 文件

关于java - 如何解决 Servlet 执行抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32165899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com