Java Servlet多部分配置可以';不要上传更大的文件

Java Servlet多部分配置可以';不要上传更大的文件,java,servlets,Java,Servlets,我正在使用@MultipartConfig将文件上载到数据库,但它只适用于小于5 MB的小文件。如何改进代码以处理较大的文件 @WebServlet(name = "Upload", urlPatterns = {"/upload"}) @MultipartConfig(maxFileSize = 16177215) public class Upload extends HttpServlet { protected void doPost(HttpServletRequest req

我正在使用
@MultipartConfig
将文件上载到数据库,但它只适用于小于5 MB的小文件。如何改进代码以处理较大的文件

@WebServlet(name = "Upload", urlPatterns = {"/upload"})
@MultipartConfig(maxFileSize = 16177215)
public class Upload extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        InputStream in = null;

        Part filePart = request.getPart("pdffile");

        if (filePart != null) {
            in = filePart.getInputStream();
        }
        Connection con = (Connection) getServletContext().getAttribute("Connection");
        String sql = "INSERT INTO storepdf (pdffile) VALUES (?)";
        try (PreparedStatement stat = con.prepareStatement(sql)) {
            if (in != null) {
                stat.setBlob(1, in);
            }
            int i = stat.executeUpdate();
            request.setAttribute("res", i);

        } catch (SQLException e) {

        }
        request.getRequestDispatcher("finish.jsp").forward(request, response);
    }
}

确保服务器允许您让用户上传更多内容。例如,tomcat配置了限制上传大小(
server.xml
中的
maxPostSize
),默认情况下它被限制为2MB

不仅如此,如果上传时间过长,读/写超时还可能关闭连接!(例如,低带宽)

您可以打印您捕获的异常,以了解服务器中是否存在任何问题


(p.s您SQL的方式,太可怕了,数据源池?

我正在使用contextlistener使用数据库连接初始化我的应用程序,并将连接对象设置为上下文属性。