2011-11-15 10 views
1

最新のJBoss AS 7(7.0.2)をインストールし、EclipseツールをインストールしてWTPに接続しました。私は「動的Webプロジェクト」を作成しました。私は "HelloWorld"を実行しようとします。ほんの2つのクラスがあります。@InjectはJBoss AS 7で動作しないようです。

@WebServlet("/HelloWorld") 
public class HelloWorldServlet extends HttpServlet { 
    @Inject 
    HelloService helloService; 

    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
     PrintWriter writer = resp.getWriter(); 
     writer.println("<html><head /><body>"); 
     writer.println("<h1>" + helloService.createHelloMessage("World") + "</h1>"); 
     writer.println("</body></html>"); 
     writer.close(); 
    } 
} 

public class HelloService { 
    public String createHelloMessage(String name) { 
     return "Hello " + name + "!"; 
    } 
} 

私はeclipseからサーバーを起動し、エラーなしで起動します。しかし、ブラウザ(localhost:8080)から私のサーブレットを呼び出すとき、私のコードはNPEを投げます。

10:28:29,646 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/hello].[hello.HelloWorldServlet]] (http--127.0.0.1-8080-1) Servlet.service() for servlet hello.HelloWorldServlet threw exception: java.lang.NullPointerException 
    at hello.HelloWorldServlet.doGet(HelloWorldServlet.java:23) [classes:] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] 
    [...] 

@Injectアノテーションが機能しないようです。問題を追跡するには?何が原因だろうか?

+0

は、あなたが/ WEB-INFでbeans.xmlのを持っていますか? (http://download.oracle.com/javaee/6/tutorial/doc/gjbnz.html) – stratwine

+0

いいえ、私のMETA-INFではMANIFEST.MFだけです。 beans.xmlとは何ですか、なぜそれが必要ですか? – Arne

+0

私はリンクを追加するように更新しました.. beans.xmlファイルはbeanの発見と注入のためのものです。空のbeans.xmlでもやるでしょう – stratwine

答えて

関連する問題