在一个HttpServlet里面
我定义一个 
   @Resource
   javax.servlet.sip.SipFactory sf;
为什么会出现注入失败的问题,请大家提示提示,谢谢了

解决方案 »

  1.   

    你是用SSH吗? 有创建session工厂吗?
      

  2.   

    通过注释调用不行,就实验下通过查找么,一定要用注释么?SipFactory sf=(SipFactory)getServletContext().getAttribute("javax.servlet.sip.SipFactory");
      

  3.   

    @Resource(name = "sipFactory ", type = SipFactory.class) 这样行不行
      

  4.   

    @Resource位于类或变量中以对Servlet容器进行“资源注入”。当容器识别出这个注释时,它会在获得服务地位之前,用适当的值实现带注释的变量的重新注入。//通过注释来调用
    @Resource
    SipFactory sf;
    //通过查找的方式
    SipFactory sf=(SipFactory)getServletContext().getAttribute(“javax.servlet.sip.SipFactory”);
      

  5.   

    你要注入,首先要把你的WEB交给Spring来管理因为Servlet是Web 容器来管理的。 所以你Spring 配置一定要正确,所以你先检查下你的配置正确否,你这样说不能注入,我们也不知道那么出问题,唯一想到的就是你的配置问题。
      

  6.   

    你这样肯定不行,那个类是jar包里面的,spring注入是需要配置的,类似于这样
    <property name="mappingJarLocations">     
    <list>  
        <value>WEB-INF/lib/qmax-Manufacture-v5.1.1-release.jar</value>   
    <value>WEB-INF/lib/qmax-ProductTree-v5.1.1-release.jar</value>
    </list>     
    </property>那个类在服务启动的时候没有被找到,所以没有被注入。
      

  7.   

    我根本就没有架spring啊  
    用@Resource注入就必要要用到框架吗?
    我看了好多文档  
    那里的提示获得SipFactory 明明有3种方式
    @Resource一种
    (SipFactory)getServletContext().getAttribute("javax.servlet.sip.SipFactory");
    这样也可以的
    还有一种就是另外一种方式的注入 
    可以现在都做不到  
    文档的内容也不详细,在sip serlvet api 1.0的时候 就是通过ServletContext来获得这个的
    但是不知道为什么 我就是无法找到这个