无法将会话bean注入我的bluemix应用程序上的servlet

时间:2015-07-18 16:01:54

标签: websphere java-ee-6 ibm-cloud

我用bluemix创建了一个简单的Java EE应用程序并进行了部署。然后我创建了会话bean和一个servlet。我无法从Servlet访问会话bean方法。

有人在bluemix上做过这个吗?

这是我的servlet代码......

package nags.test.web;

import java.io.IOException;
import java.io.PrintWriter;

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 nags.test.ejb.NagseSessionBean;

/**
 * Servlet implementation class TestServlet
 */
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

@EJB
NagseSessionBean nagsBean;
/**
 * @see HttpServlet#HttpServlet()
 */
public TestServlet() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doService(request, response);
}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    doService(request, response);
}

public void doService(HttpServletRequest request, HttpServletResponse   response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("TestServlet doService Begin");
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();

    out.println("<!DOCTYPE HTML>");
    out.println("<html>");
    out.println("<head>");
    out.println("<meta charset=\"UTF-8\">");

    out.println("<title>Nags HTML from Servlet</title>");
    out.println("</head>");
    out.println("<body bgcolor=\"white\">");
    out.println("<h1> This is Nags HTML5 PAge </h1>");
    if (nagsBean == null){
        System.out.println("TestServlet doService Unable to inject EJB");
    }else{
        System.out.println("TestServlet doService Able to inject EJB");
        String helloString = nagsBean.sayHello("Nagarjun");
        if (helloString == null){
            out.println("<h1> No Response from Session Bean </h1>");
        }else {
            out.println("<h1> helloString </h1>");
        }
    }

    out.println("</body>");
    out.println("</html>");
    System.out.println("TestServlet doService End");
    //out.flush();
    //out.close();
}


}

1 个答案:

答案 0 :(得分:3)

您的代码没有错误,尝试Bluemix工作正常。我尝试使用无状态和有状态的企业bean。 所以可能你的Bean代码有错误。 要调查可能的问题,请使用“cf logs --recent”命令检索Bluemix日志,并分析抛出的异常。