Apache commons -> 文件上传 -> parseRequest() 错误

2024-02-23

Apache 在尝试上传文件时返回此错误(我只保留了堆栈跟踪的第一行和根本原因):

HTTP Status 500 - 
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /upload.jsp:40

    37:      
    38:        try {
    39: 
    40:            items = upload.parseRequest(request);
    41:        } catch (FileUploadException e) {
    42:            out.println(e);
    43:        }

Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

root cause

javax.servlet.ServletException: org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List;

root cause

java.lang.NoSuchMethodError: org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(Lorg/apache/commons/fileupload/RequestContext;)Ljava/util/List;
    org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)

这是我的代码:

if(ServletFileUpload.isMultipartContent(request)){
 FileItemFactory factory = new DiskFileItemFactory();
   ServletFileUpload upload = new ServletFileUpload(factory);
   List items = null;


   try {

       items = upload.parseRequest(request);
   } catch (FileUploadException e) {
       out.println(e);
   }
}

我不明白,看起来它找不到 parseRequest() 方法,但是 ServletFileUpload 实例工作正常,所以看起来包在那里,但是......

任何想法? 所有建议帮助表示赞赏! :)


这确实是类路径污染的迹象。您有不同版本的 commons fileupload JAR 文件分布在类路径上。您需要通过删除或替换旧版本的类路径来清理类路径。对于 JSP/Servlet Web 应用程序,类路径覆盖的默认路径通常是Webapp/WEB-INF/lib, Webapp/WEB-INF/classes, Appserver/libJRE/lib.

也就是说,堆栈跟踪还表明您使用以下方法在 JSP 文件中编写了原始 Java 代码:老式的小脚本 https://stackoverflow.com/questions/1831238/jsp-for-business-layer/1832327#1832327。我强烈建议不要这样做,而只是使用真正的 Java 类(在本例中为 Servlet)来处理文件上传。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache commons -> 文件上传 -> parseRequest() 错误 的相关文章

随机推荐

  • 设计 Vuetify 选择器的样式

    选择器的 Vuetify 组件是
  • TMonthCalendar 和 Delphi 样式 (Delphi XE2)

    TMontCalendar 似乎是一个 Windows 包装器 因此它不会受到新的 VCL 样式的影响 您知道解决方案吗 The TMonthCalendar http docwiki embarcadero com Libraries e
  • 当 Angular 完成向 DOM 添加范围更新时,如何触发方法?

    我正在寻找一种在向 scope 变量 在本例中为 scope results 添加更改后执行代码的方法 我需要这样做是为了调用一些遗留代码 这些代码要求项目位于 DOM 中才能执行 我的真实代码是触发 AJAX 调用 并更新作用域变量以更新
  • 如何使用 Sunspot 设置具有多对多关系的构面搜索?

    我之前没有实现过搜索功能 感觉有点卡住 我有一个太阳黑子搜索功能 可以根据关键字查找结果 这非常有效 但我现在想实现多选方面功能 但我什至不知道如何设置基本的方面搜索 我有多对多的关系 在 Rails 中而不是在现实生活中 类人 has m
  • 静态方法中的 Lock()

    我有一个多线程应用程序 它使用静态方法写入设置 xml 文件 我想避免文件同时更新两次 导致访问 写入异常 我怎么做 这不起作用 namespace Program public class Settings private static
  • DatePicker 未显示泰国文化的正确年份(2021 年应为 2564)

    我正在开发一个支持各种语言 文化的应用程序 但是 DatePicker 控件对于泰国文化来说似乎有问题 我尝试使用 ThreadCulture 也尝试过 CultureInfo CurrentCulture 或 CultureInfo Cu
  • C++11/14/17 Lambda 引用捕获 [&] 不复制 [*this]

    参考这个线程 https www open std org jtc1 sc22 wg21 docs papers 2018 p0806r2 html https www open std org jtc1 sc22 wg21 docs pa
  • System.getenv() 没有列出所有环境变量

    我注意到 JVM 没有获取我的一些环境变量 In my bash profile我定义了以下内容 IO HOME some value export IO HOME 并通过在 shell 中执行以下操作 echo IO HOME 我得到了正
  • Excel VBA,如何回复特定电子邮件

    我每个星期三都会收到来自特定发件人的邮件 此电子邮件的主题有时会发生变化 主题 暴露声明 COB 20150217 的示例 1 主题 保证金通知 COB 2015 Feb 10 的示例 2 发件人附加的日期是我收到邮件的前一天 我有以下代码
  • 具有固定标题的表格上的水平滚动

    我已经使用CSS创建了一个固定标题 主要只是设置要固定的标题位置 但是我遇到的问题是如果用户的分辨率大小或窗口大小小于表格大小 我需要添加在水平滚动条中 以便他们可以看到所有内容 我尝试将溢出设置为自动并滚动 但只有当我向下滚动到页面底部时
  • 如何加粗和更改图表标题的字体大小

    我可以动态创建箱线图 我现在面临的问题是我不知道如何bold并改变字体大小 of the 图表标题 我在网上研究了一段时间 但不知道如何做到这一点 这是我的代码 Chart Chart1 new Chart Chart1 DataSourc
  • CONTROL-C 之后 Django 服务器仍在运行

    我启动 Django 服务器python manage py runserver然后使用 CONTROL C 退出 但我仍然可以访问以下网址ROOT URLCONF why 可能您让另一个进程在其他地方运行 以下是列出命令包含的所有进程的方
  • string.replaceAll() 性能是否会受到字符串不变性的影响?

    假设我对一个大字符串调用了replaceAll 它替换了 1 000 个匹配实例 这是否意味着由于字符串不可变性 在进程中创建并重新分配了 1 000 个字符串 有没有更快的替代方案 如果你深入挖掘String http www docja
  • Java 泛型谜题,扩展类并使用通配符

    一段时间以来 我一直在努力解决这个问题 并认为也许一些新人会看到这个问题 谢谢你的时间 import java util class Tbin
  • ASP.NET - 以编程方式使用 GridView

    我继续从这个帖子 https stackoverflow com questions 1301581 asp net programmatic edit 经过多次谷歌搜索后 我想出了这段代码来以编程方式编辑单元格 using System
  • Windows Phone 8.1 运行时文本大纲

    Is there a way to show text outline on a TextBlock I am showing some text on top of map control and would like to show t
  • MinMax 树 - 当 Min 可以两步获胜时

    因此 我一直在尝试使用最小最大树来在两人棋盘游戏中创建一个简单的计算机玩家 我了解该算法的基础知识 但有一种情况让我的火鸡大脑无法理解 当 MIN 可以通过两步获胜时会发生什么 例如 假设在 connect4 tic tac toe 类型的
  • Python 中的比较运算符与“丰富比较”方法

    有人可以向我解释一下两者之间的区别吗 这些通常是等价的吗 也许我在这里完全错了 但我认为每个比较运算符都必然与一个相关 丰富的对比 方法 这是来自文档 运算符号与方法名的对应关系如下 如下 x
  • 导出为库时扩展类方法不可用

    我正在尝试构建一个java库 streaming client jar 并在客户端微服务中使用它 在这个 jar 文件中 我有一个 POJO 类 它扩展了第三方 POJO 类 ConditionalOnClass Options class
  • Apache commons -> 文件上传 -> parseRequest() 错误

    Apache 在尝试上传文件时返回此错误 我只保留了堆栈跟踪的第一行和根本原因 HTTP Status 500 type Exception report message description The server encountered