Arn*_*sch 1 java dependency-injection jboss7.x
我安装了最新的JBoss AS 7(7.0.2)并安装了eclipse工具以将其与WTP连接.我创建了一个"动态Web项目"(没有maven).我试着让"HelloWorld"运行.只有两个班级.
@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 + "!";
}
}
Run Code Online (Sandbox Code Playgroud)
我从eclipse启动服务器,它启动没有错误.但是当从浏览器调用我的servlet(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]
[...]
Run Code Online (Sandbox Code Playgroud)
似乎@Inject注释不起作用.如何追查问题?可能是什么原因?
| 归档时间: |
|
| 查看次数: |
4795 次 |
| 最近记录: |