@Resource
डालना
कार्रवाई पर बीन संपत्ति का कोई मतलब नहीं है। अगर आपको संसाधनों को इंजेक्ट करने . के बारे में अधिक जानकारी चाहिए आपको एक ट्यूटोरियल
पढ़ना चाहिए . इसके बजाय एक ServletContextListener
बनाएं और वहां एनोटेशन डालें। संदर्भ पर आरंभिक घटना सेट संदर्भ विशेषता
public class MyServletContextListener implements ServletContextListener {
@Resource(name="jdbc/dbmy")
private DataSource ds;
@Override
public void contextInitialized(ServletContextEvent servletContextEvent) {
System.out.println("contextInitialized");
ServletContext context = servletContextEvent.getServletContext();
context.setAttribute("ds",ds);
}
@Override
public void contextDestroyed(ServletContextEvent servletContextEvent) {
System.out.println("contextDestroyed");
}
}
web.xml
(वेब-आईएनएफ में होना चाहिए):
<listener>
<listener-class>com.servlet.MyServletContextListener</listener-class>
</listener>
अब आप निष्पादन विधि में डेटा स्रोत प्राप्त कर सकते हैं
ds = (DataSource)ServletActionContext.getServletContext().getAttribute("ds");