我在Java开发中很绿色。我试图在一个servlet应用程序中使用PicoContainer
。我在web.xml
中配置了容器,并在尝试创建过滤器时失败。 于是,我就手动实例过滤器是这样的:实例化org.picocontainer.web.PicoServletContainerFilter时出错
Class<?> clazz = Class.forName("org.picocontainer.web.PicoServletContainerFilter");
Object test = clazz.newInstance();
,我得到相同的异常:
java.lang.InstantiationException
但我没有详细消息。我猜想部署中的JAR中缺少某些东西(本例中不应该有ClassNotFoundExeption
?)
因为它不清楚需要的依赖关系。 (好像老DLL地狱时代) 目前我正在部署下列jar:
- PicoContainer的-2.10.2.jar
- PicoContainer的-Web的核心2.4.jar
- xstream- 1.3.1.jar
这是什么问题?这是一个缺少罐子或其他东西?如果有一个缺少的罐子,并且因为我没有额外的信息,我怎么能理解罐子缺失的?部署整个picocontainer罐子不是首选,因为它是一大堆文件。
编辑
问题似乎是一个抽象类! 所以我不知道如何在文档中找到这种配置可以工作: http://picocontainer.com/web/
当你发布时,我发现自己的解决方案。当然,即使在没有过滤器的情况下,每个请求都可以运行。 – 2014-09-03 09:03:16
这实际上是和不是。这取决于你的需求。如我所说,Listener足以组成容器,如果您需要它,Filter只会将Context/Session/Request实例添加到容器中。 所以,如果你想要注入HTTP请求请求作用域组件和HTTP会话注入到你的会话作用域组件,你将需要过滤器。 – xeye 2014-09-03 09:08:46
好,只是因为我可能会有一个DAO注入谁将在每个请求打开连接 – 2014-09-03 09:16:49