gpt4 book ai didi

java - 实例化 org.picocontainer.web.PicoServletContainerFilter 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:22 25 4
gpt4 key购买 nike

我对 Java 开发很陌生。我正在尝试在 servlet 应用程序中使用 PicoContainer 。我在 web.xml 中配置了容器,但在尝试创建过滤器时失败了。所以我尝试像这样手动实例化过滤器:

Class<?> clazz = Class.forName("org.picocontainer.web.PicoServletContainerFilter");
Object test = clazz.newInstance();

我得到了同样的异常:

java.lang.InstantiationException

但我没有详细的消息。我猜部署中的 JAR 中缺少某些内容(在本例中不应该有 ClassNotFoundExeption?)

因为我不清楚所需的依赖关系。 (似乎是旧的dll hell 时代)目前我正在部署以下 jar:

  • picocontainer-2.10.2.jar
  • picocontainer-web-core-2.4.jar
  • xstream-1.3.1.jar

有什么问题吗?是缺少 jar 还是其他东西?如果缺少一个 Jar 并且因为我没有其他消息,我如何才能了解缺少什么 Jar?部署整个 picocontainer jar 不是首选选项,因为它是一大堆文件。

编辑

问题似乎是该类是抽象的!所以我不知道文档中的配置如何工作: http://picocontainer.com/web/

最佳答案

我猜这只是一些错误的示例代码。对于基本的 IoC 组合,您根本不需要过滤器。 org.picocontainer.web.PicoServletContainerListener 完成配置应用程序/ session /请求容器的所有工作。

请注意,它需要 WebappComposer 类型的类名作为 web.xml 中的上下文参数:

  <context-param>
<param-name>webapp-composer-class</param-name>
<param-value>com.company.MyWebappComposer</param-value>
</context-param>

如果您想将servlet上下文注入(inject)到应用程序范围的组件中,将http session 注入(inject)到 session 范围的组件中,并将http请求注入(inject)到请求范围的组件中,则需要filter impl。

关于java - 实例化 org.picocontainer.web.PicoServletContainerFilter 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627903/

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