如何在普通的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了,请大侠指点 展开
Properties proper = new Properties();
proper.load(ClassLoader.getSystemResourceAsStream(path));
来读取*.properties,同时我还定义了一个监听器filter,在filter中调用了getconn来获取Connection链接。因为filter先于proper.load()方法执行所有出错。我想讲获得Connection连接的代码放在filter中,然后将得到的连接放入servletcontext中,但忘了怎么在普通的Java类中怎么获取servletcontext了,请大侠指点 展开
3个回答
展开全部
在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);
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);
展开全部
connection放在servletcontext中,action可以访问到servletcontext,而你的所谓普通类,必然是要在action中调用的,那么在action中取到后传入那个类就好了。
另:这样的取连接方法并不好!
另:这样的取连接方法并不好!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将这个类继承HttpServlet就可以取到了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询