Web services 从Servlet调用EJBRemoteBean方法

Web services 从Servlet调用EJBRemoteBean方法,web-services,jakarta-ee,servlets,ejb-3.0,remote-access,Web Services,Jakarta Ee,Servlets,Ejb 3.0,Remote Access,是否可以从放置在另一个项目中的servlet中对EJBRemoteBean进行分类? 怎么做?我试过这个 第一个项目 EJBRemoteBean.java @Stateless public class EJBRemoteBean implements EJBRemote { @Override public int addition( int x, int y ) { return x + y; } } EJBRemote.java @Remote

是否可以从放置在另一个项目中的servlet中对EJBRemoteBean进行分类? 怎么做?我试过这个

第一个项目

EJBRemoteBean.java

@Stateless
public class EJBRemoteBean implements EJBRemote {

    @Override
    public int addition( int x, int y ) {
        return x + y;
    }
}
EJBRemote.java

@Remote
public interface EJBRemote {
    public int addition( int x, int y );
}
第二个项目:

EJBServlet.java

public class EJBServlet extends HttpServlet {
    @EJB( mappedName = "com.ejb.session.stateless.EJBRemote" )
    private EJBRemote ejbr;

    protected void processRequest( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        response.setContentType( "text/html;charset=UTF-8" );
        PrintWriter out = response.getWriter();
        out.println( "<html>" );
        out.println( "<head>" );
        out.println( "<title>Servlet EJBServlet</title>" );
        out.println( "</head>" );
        out.println( "<body>" );
        out.println( "<h1>EJBRemote.addition returned: " + ejbr.addition( 2, 3 ) + "</h1>" );
        out.println( "</body>" );
        out.println( "</html>" );
    }

    protected void doGet( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest( request, response );
    }

    protected void doPost( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest( request, response );
    }
}
public类EJBServlet扩展了HttpServlet{
@EJB(mappedName=“com.EJB.session.stateless.EJBRemote”)
私人EJBRemote ejbr;
受保护的void processRequest(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter out=response.getWriter();
out.println(“”);
out.println(“”);
println(“Servlet EJBServlet”);
out.println(“”);
out.println(“”);
out.println(“EJBRemote.addition返回:“+ejbr.addition(2,3)+”);
out.println(“”);
out.println(“”);
}
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
processRequest(请求、响应);
}
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
processRequest(请求、响应);
}
}
我找不到如何修复这个servlet来调用包含的EJBRemoteBean方法。需要帮忙吗


提前谢谢。

我会说“在processRequest方法中插入对ejbr.addition(…)的调用”,但这似乎很明显。你试过了吗?如果是的话,发生了什么?我该怎么办?对不起,我不知道怎么回答这个问题,因为你没有提供足够的信息。