Java 无法加载现有的spring应用程序上下文
我需要在Spring应用程序上下文中,通过从JSP文件调用,将一些属性从DB加载到bean。 我有一个包含JSP文件的Web项目,还有一个包含Spring应用程序上下文的EJB项目。我试图通过调用Web项目中的类/servlet来重新加载属性,该类/servlet将调用服务层。这两个项目都打包到和EAR中,并部署到服务器上。 我知道这个方法不是最好的,但这个工具是一个临时的,需要使用它,只要我们建立一个管理模块 我尝试了几种加载现有上下文的方法,但得到的是空值。 1) 在JSP文件中:Java 无法加载现有的spring应用程序上下文,java,spring,jsp,applicationcontext,Java,Spring,Jsp,Applicationcontext,我需要在Spring应用程序上下文中,通过从JSP文件调用,将一些属性从DB加载到bean。 我有一个包含JSP文件的Web项目,还有一个包含Spring应用程序上下文的EJB项目。我试图通过调用Web项目中的类/servlet来重新加载属性,该类/servlet将调用服务层。这两个项目都打包到和EAR中,并部署到服务器上。 我知道这个方法不是最好的,但这个工具是一个临时的,需要使用它,只要我们建立一个管理模块 我尝试了几种加载现有上下文的方法,但得到的是空值。 1) 在JSP文件中: Appl
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
2) 在扩展ApplicationContextAware接口的类中:
@Component
public class ApplicationContextAwareProvider implements ApplicationContextAware {
static ApplicationContext context;
public static ApplicationContext getContext() {
return context;
}
@Override
public void setApplicationContext(ApplicationContext context) {
this.context=context;
}
}
JSP内部:
MyBean myBean = ApplicationContextProvider().getContext().getBean("myBean",MyBean.class);
在这两种情况下获取NullPointerException作为我的ApplicationContext将始终为null。我做错什么了吗
是否因为ApplicationContext不可用于WebProject?请告诉我你的想法。。在这件小事上坚持了几天。为什么要从jsp内部调用java代码?正如我所提到的,这只是一个临时解决办法。我们稍后将构建一个管理模块,并将其包含在其中,因为我们没有时间设计这个临时解决方案。