学习做一个Session Bean 你就应该回做了。

解决方案 »

  1.   

    照抄如下代码
    远程接口:
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface Caculator extends javax.ejb.EJBObject
    {
    void Caculate() throws java.rmi.RemoteException;//生命要使用的计算方法
    void Caculate(Flator f1) throws java.rmi.RemoteException;
    }主接口
    import java.io.Serializable;
    import java.rmi.RemoteException;
    import javax.ejb.CreateException;
    import javax.ejb.EJBHome;
    public interface CaculatorHome extends javax.ejb.EJBHome
    {
    Caculator create()
    throws java.rmi.RemoteException,javax.ejb.CreateException;
    }import java.rmi.RemoteException; 
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;sessionbean
    import java.sql.*;
    import java.util.*;
    import javax.naming.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.*;
    import javax.rmi.*;
    /**
     * @stereotype SessionBean
     * @homeInterface myStringHome
     * @remoteInterface myString
     * @statemode Stateless
     */
    public class CaculatorBean implements javax.ejb.SessionBean
    {
    public void Caculate()
    {
                 //实现计算器的方法
    }
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void setSessionContext(SessionContext ctx){}
    }
      

  2.   

    谢谢指教,能不能把“实现计算器的方法”那里也填上啊。thanks 
    那么应用程序那边有要怎样做呢?
    啊荣兄!我的QQ是56668931你能找我一下指点一下我吗?
      

  3.   

    我找到了这样的计算器代码我要怎样把这些东西放进你上面给的程序中呢?就是具体那一句放哪里?我试过就是无数的ERROR,拜托再指点一下吧。THANK YOU VERY MUCH
    代码如下:
    import java.awt.*;
    import java.applet.AudioClip;public class NewMiniCalculator extends java.applet.Applet  {
        // 1 = '+', 2 = '-', 3 = '*', 4 = '/', 5 = '=', 0 = 其他
        int Operation, LastButtonType;
        //计算机的数字资料存储变量
        long OnScreen = 0, OutOfScreen = 0;
        // 计算机的label参考值
        Label lblDisplay;
        AudioClip beep;    public void init()  {
         beep=getAudioClip(getCodeBase(),"audio/beep.au");
            GridBagLayout GBL = new GridBagLayout();
            GridBagConstraints GBC = new GridBagConstraints();        //使用GridBagLayout作为计算机键盘的外观管理员
            setLayout(GBL);        //把applet的尺寸改为130*160
            resize(130,160);        //产生计算机的输出显示
            lblDisplay = new Label(String.valueOf(OnScreen), Label.RIGHT);
            //设置lblDisplay的外观限制条件
            GBC.fill = GridBagConstraints.BOTH;
            GBC.weightx = 1.0;
            GBC.weighty = 1.0;
            GBC.gridwidth = GridBagConstraints.REMAINDER;
            GBC.gridheight = 1;
            GBC.ipadx = 5;
            GBC.ipady = 5;
            GBL.setConstraints(lblDisplay, GBC);
            //把输出用的Label对象加入applet中
            add(lblDisplay);        //产生计算机键盘
            CalculatorKeyBoard CKB = new CalculatorKeyBoard();
            //设置计算机键盘的外观限制条件
            GBC.weighty = 4.0;
            GBC.gridheight = 4;
            GBC.ipadx = 1;
            GBC.ipady = 1;
            GBL.setConstraints(CKB, GBC);
            //把计算机键盘加入applet中
            add(CKB);        //重置计算机的状态
            resetCalculator();
        }    //使用自己设置的间距
        public Insets insets()  {
            return new Insets(10, 10, 10, 10);
        }    public boolean action(Event evt, Object what)   {
            //只处理Button产生的action,其他的不管
            if (evt.target instanceof Button) {
                //在Button的action中,what是该Button上的文字
                String targetLabel = (String)what;
                beep.play();            if (targetLabel.equals("C"))
                    resetCalculator();
                else if (targetLabel.equals("+"))
                    setOperation(1);
                else if (targetLabel.equals("-"))
                    setOperation(2);
                else if (targetLabel.equals("*"))
                    setOperation(3);
                else if (targetLabel.equals("/"))
                    setOperation(4);
                else if (targetLabel.equals("="))
                    doOperation();
                else    {
                    if (LastButtonType == 0)
                        OnScreen = OnScreen * 10L 
                                    + Long.valueOf(targetLabel).longValue();
                    else
                        OnScreen = Long.valueOf(targetLabel).longValue();
                    LastButtonType = 0;
                }
                //设置新的显示字符串
                lblDisplay.setText(String.valueOf(OnScreen));
                return true;
            }
            else
                return false;
        }    //重置计算机的状态
        void resetCalculator()  {
            OnScreen = 0;
            OutOfScreen = 0;
            Operation = 0;
            LastButtonType = 0;
        }
        
        //设置运算种类
        void setOperation(int Op)    {
            OutOfScreen = OnScreen;
            Operation = Op;
            LastButtonType = Op;
        }    //执行运算
        void doOperation()  {
            if (LastButtonType != 5)    {
                long longTemp;            switch (Operation)   {
                    case 1:
                        longTemp = OutOfScreen + OnScreen;
                        break;
                    case 2:
                        longTemp = OutOfScreen - OnScreen;
                        break;
                    case 3:
                        longTemp = OutOfScreen * OnScreen;
                        break;
                    case 4:
                        longTemp = OutOfScreen / OnScreen;
                        break;
                    default:
                        longTemp = 0;
                        break;
                }
                OutOfScreen = OnScreen;
                OnScreen = longTemp;
            }
            else    {
                switch (Operation)   {
                    case 1:
                        OnScreen += OutOfScreen;
                        break;
                    case 2:
                        OnScreen -= OutOfScreen;
                        break;
                    case 3:
                        OnScreen *= OutOfScreen;
                        break;
                    case 4:
                        OnScreen /= OutOfScreen;
                        break;
                    default:
                        OnScreen = 0;
                        break;
                }
            }
            LastButtonType = 5;
        }
    }class CalculatorKeyBoard extends Panel  {
        //计算机按钮的加入顺序
        int AddOrder[] = {  8, 9, 10, 0, 5, 6, 7, 11,
                            2, 3, 4, 12, 1, 15, 14, 13  };
        //计算机的Button参考值数组
        Button btnKeyBoard[] = new Button[16];    CalculatorKeyBoard()    {
            int i;
            //使用GridLayout来作为计算机键盘的外观管理员
            setLayout(new GridLayout(4, 4, 5, 5));        //产生计算机的按钮
            //产生'C'(清除键),先产生按钮对象后,再设置按钮显示字符串
            btnKeyBoard[0] = new Button();
            btnKeyBoard[0].setLabel("C");
            //产生0到9的按钮
            for (i = 1;i < 11;i ++)
                btnKeyBoard[i] = new Button(String.valueOf(i-1));
            // 再产生'+', '-', '*', '/', '='
            btnKeyBoard[11] = new Button("+");
            btnKeyBoard[12] = new Button("-");
            btnKeyBoard[13] = new Button("*");
            btnKeyBoard[14] = new Button("/");
            btnKeyBoard[15] = new Button("=");        //把刚刚产生的计算机按钮加入applet中
            for (i = 0;i < 16;i ++)
                add(btnKeyBoard[AddOrder[i]]);
        }
    }
      

  4.   

    我又不知道怎样做一个APPLET来调用这个BEAN啊。这是一个用来演示一个做好的BEAN就直接
    用一个应用程序掉用就能实现该BEAN的功能。这不是构件开发的目的吗?
    我是初学的,所以很多东西不懂,时间又紧,拜托大哥们帮帮忙。指点一下小弟吧