【发布时间】:2015-08-30 03:37:44
【问题描述】:
我是 Intellij IDEA 的新手,我在其中创建了一个测试 Java EE 项目。首先在 New Project 中我选择了 Java Enterprise (Java JDK 7) 并添加了额外的库:
- Web 应用程序 (3.1)
- EJB:企业 Java Beans(3.2 没有 ejb-jar.xml)
- Java EE 应用程序 (Java EE 7)
应用创建成功。然后我创建了无状态 Java 类:
package test.server;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
@Stateless(name = "TestClientEJB")
@LocalBean
public class TestClientBean {
public TestClientBean() {
}
public String getHello() {
return "Hello EJB from Intellij";
}
}
在它创建 Servlet 之后:
package test.client;
import test.server.TestClientBean;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "ClientServlet")
public class ClientServlet extends HttpServlet {
@EJB
TestClientBean testClientBean;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print(testClientBean.getHello());
}
}
作为应用服务器,我使用 WildFly 8.1 Final。我用 EAR Artifact 设置它,它给出的 URL 为:
http://localhost:8080/EJBTestWeb/
当我在浏览器中运行它时,它会显示我在 index.jsp 中写的内容。但是当我写类型时
http://localhost:8080/EJBTestWeb/ClientServlet
它向我显示 Not Found 消息。问题出在哪里?我下载的所有需要的罐子
【问题讨论】:
标签: intellij-idea ejb wildfly ear java-ee-7