首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误实例化org.picocontainer.web.PicoServletContainerFilter

错误实例化org.picocontainer.web.PicoServletContainerFilter
EN

Stack Overflow用户
提问于 2014-09-02 16:15:07
回答 2查看 151关注 0票数 1

我是Java开发的新手。我试图在servlet应用程序中使用PicoContainer。我在web.xml中配置了容器,当它试图创建过滤器时,它失败了。因此,我试图像这样手动实例化过滤器:

代码语言:javascript
复制
Class<?> clazz = Class.forName("org.picocontainer.web.PicoServletContainerFilter");
Object test = clazz.newInstance();

我也得到了同样的例外:

代码语言:javascript
复制
java.lang.InstantiationException

但我没有详细的信息。我想JAR在部署中缺少了一些东西(在本例中不应该是ClassNotFoundExeption吗?)

因为对我来说还不清楚需要什么依赖。(似乎是旧的dll地狱时代)目前我正在部署以下jars:

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

有什么问题吗?是失踪的罐子还是别的什么?如果有一个缺少的Jar,并且因为我没有附加的消息,我如何才能理解Jar丢失了什么?Deployng整个皮容器罐不是首选的选项,因为它是一个巨大的文件混乱。

编辑

问题似乎是抽象的!所以我不知道这种在docs中找到的配置是如何工作的:http://picocontainer.com/web/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-03 09:02:37

我自己就知道答案了。问题当然是org.picocontainer.web.PicoServletContainerFilter是抽象的。该类中有一个名为servlet过滤器的实现。在这里,工作图:

票数 0
EN

Stack Overflow用户

发布于 2014-09-03 08:52:14

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

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

代码语言:javascript
复制
  <context-param>
   <param-name>webapp-composer-class</param-name>
   <param-value>com.company.MyWebappComposer</param-value>
  </context-param>

如果要向应用程序作用域组件注入servlet上下文、向会话作用域组件注入http会话以及向请求作用域的http请求注入servlet上下文,则需要筛选器impl。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25627903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档