如何使一个Bean的实例对所有servlet可用?

ck4 2002-04-28 11:10:40
我用一个Controller Servlet在init函数中
getServletContext().setAttribute("ccc",cccBean);
在其他的servlet中写
getServletContext().getAttribute("ccc");
返回null,怎么回事?
还有,能不能在一个不继承servlet的类里访问这个application范围的Bean实例?
谢谢!
...全文
3 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ck4 2002-04-29
dylanwolf():
我就是按你这样写的,取得的是null.
第二个问题:
怎么实现?我现在的情况是有一个servlet控制器,其中不同的功能要调用不同的自定义类来完成,(这些自定义类不是servlet)需要在自定义里面对数据库操作,麻烦的是我用了一个SQLCommandBean来封装数据库的具体连接等过程,这个sqlcommandbean又在构造函数中调用一个连接池bean,因为我必须保证连接池的实例只有一个,所以只好把sqlcommandbean做成一个application范围的bean,这是为了保证连接池只初始化一次。不知具体的
把这个application对象传给
~~~~~~~~~~~~~~~~~~~~~~
怎么实现?
或者还有没有别的办法?
回复
dylanwolf 2002-04-29

cccBean mybean = (cccBean)getServletContext().getAttribute("ccc");


第二个问题; 可以啊, 不过要能访问到 application, 你可以把这个application对象传给 该“不继承servlet"的类, 这样, 它就可以访问了。
回复
flydragon2000 2002-04-29
同意楼上的观点。鼓掌。。。啪。。。啪!
回复
dylanwolf 2002-04-29
如果你要在 sqlcommandbean 中用到 application

可以在函数或者构造函数中增加参数 ServletContext:

myFunc(ServletContext sc, ***)


控制Servlet 在调用该函数的时候, 把得到的 servletcontext传进去。
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告