如何在普通的Java类中获得servletcontext

我是用JDBC+Struts作的程序,在util包中的getConn类获得一个Connection连接,而其中的driver,URL等信息是从配置文件*.properti... 我是用JDBC+Struts作的程序,在util包中的getConn类获得一个Connection连接,而其中的driver,URL等信息是从配置文件*.properties获取的,用
Properties proper = new Properties();
proper.load(ClassLoader.getSystemResourceAsStream(path));
来读取*.properties,同时我还定义了一个监听器filter,在filter中调用了getconn来获取Connection链接。因为filter先于proper.load()方法执行所有出错。我想讲获得Connection连接的代码放在filter中,然后将得到的连接放入servletcontext中,但忘了怎么在普通的Java类中怎么获取servletcontext了,请大侠指点
展开
 我来答
samismiling
推荐于2017-09-25 · 知道合伙人软件行家
samismiling
知道合伙人软件行家
采纳数:1340 获赞数:5604

向TA提问 私信TA
展开全部
在web项目中,如果需要在后台java代码中获取web上下文对象(以及session、request、response等对象),可以使用ActionContext类:

ActionContext context=ActionContext.getContext(); --得到Action执行的上下文

在获取了context后,还可以继续获取session等对象:

Map request=(Map)context.get("request");--得到HttpServletRequest的Map对象
Map session=context.getSession();--得到HttpSession的Map对象
Map application=context.getApplication();--得到ServletContext的Map对象

也可以直接使用常量枚举作为参数获取内置对象:
HttpServletResponse response = (HttpServletResponse)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE);
HttpServletRequest request = (HttpServletRequest)ActionContext.getContext().get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
beyondts
推荐于2017-09-06 · TA获得超过262个赞
知道答主
回答量:178
采纳率:0%
帮助的人:0
展开全部
connection放在servletcontext中,action可以访问到servletcontext,而你的所谓普通类,必然是要在action中调用的,那么在action中取到后传入那个类就好了。

另:这样的取连接方法并不好!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kivil
2010-03-10 · TA获得超过169个赞
知道小有建树答主
回答量:148
采纳率:100%
帮助的人:125万
展开全部
将这个类继承HttpServlet就可以取到了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式