掌中招聘网 » 掌中论坛 » 全部 » 建立ejb各个接口和bean的大致框架的文件
首页 上一页 下一页 尾页 
 本页主题: 建立ejb各个接口和bean的大致框架的文件
 


夏雨

积分:60
发表主题:56




 发表于 2008-11-12 15:44 资料
楼主

createfile.jsp

<%@page contenttype="text/html;charset=gb2312"%>
<%@page import="java.io.*"%>
<%
try
{
    String ejb_type=request.getParameter("ejb_type");
    String ejb_name=request.getParameter("ejb_name");
    String server_type=request.getParameter("server_type");
    String package_name=request.getParameter("package_name");
    String Home_method=request.getParameter("Home_method").trim();
    String Remote_method=request.getParameter("Remote_method").trim();
    int location=0;
    String temp="";
    boolean isSession;

    PrintWriter pw_Home=new PrintWriter(new FileWriter(ejb_name+"//"+ejb_name+"Home.java"));
    PrintWriter pw_Remote=new PrintWriter(new FileWriter(ejb_name+"//"+ejb_name+"Remote.java"));
    PrintWriter pw_EJB=new PrintWriter(new FileWriter(ejb_name+"//"+ejb_name+"EJB.java"));
    if (!package_name.equals(""))
    {
        pw_Home.println("package "+package_name.trim()+";");
        pw_Remote.println("package "+package_name.trim()+";");
        pw_EJB.println("package "+package_name.trim()+";");
    }

    //bean接口贯穿于Home与Remote接口中
    pw_EJB.println();
    if (!ejb_type.equals("entity"))
    {
        //session
        isSession=true;
        pw_EJB.println("public class "+ejb_name+"EJB implements javax.ejb.SessionBean");
        pw_EJB.println("{");

        pw_EJB.println("    public void ejbRemove()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbActivate()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbPassivate()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void setSessionContext(javax.ejb.SessionContext sc)");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
    }
    else
    {
        //entity
        isSession=false;
        pw_EJB.println("public class "+ejb_name+"EJB implements javax.ejb.EntityBean");
        pw_EJB.println("{");

        pw_EJB.println("    public void ejbRemove()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbActivate()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbPassivate()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbLoad()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void ejbStore()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void unsetEntityContext()");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
        pw_EJB.println("    public void setEntityContext(javax.ejb.EntityContext ec)");
        pw_EJB.println("    {");
        pw_EJB.println("    }");
        pw_EJB.println();
    }
    

    //Home intece
    pw_Home.println();
    pw_Home.println("public intece "+ejb_name+"Home extends javax.ejb.EJBHome");
    pw_Home.println("{");
    for(int i=0;i<Home_method.length();i++)
    {
        if(Home_method.charAt(i)==10 || i==(Home_method.length()-1))
        {
            temp=Home_method.substring(location,i+1).trim();
            //超界则退出
            if(temp.length()<=1)break;
            
            int temp_blank=temp.lastIndexOf(" ");
            if (temp_blank==-1)
            {
/*                if(temp.indexOf("(")==-1)
                {
                    pw_Home.print("    public "+ejb_name+"Remote "+temp+"() throws javax.rmi.RemoteException");
                }
                else
                {
                    pw_Home.print("    public "+ejb_name+"Remote "+temp+" throws javax.rmi.RemoteException");
                }
*/
                response.sendRedirect("error.jsp");
            }
            else
            {
                //bean
                if(temp.substring(temp_blank+1).equals(ejb_name+"Remote"))
                {
                    //session 返回void   remote 返回主键
                    if(isSession)
                    {
                        pw_EJB.print("    public void ejb"+temp.substring(0,1).toUpperCase()+temp.substring(0,temp_blank).substring(1));
                    }
                    else
                    {
                        String primaryKey=request.getParameter("primaryKey");
                        pw_EJB.print("    public "+primaryKey+"  ejb"+temp.substring(0,1).toUpperCase()+temp.substring(0,temp_blank).substring(1));
                    }
                }
                else
                {
                    pw_EJB.print("    public "+temp.substring(temp_blank+1)+" ejb"+temp.substring(0,1).toUpperCase()+temp.substring(0,temp_blank).substring(1));
                }

                if(temp.indexOf("(")==-1)
                {
                    pw_Home.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank)+"() throws javax.rmi.RemoteException");
                    pw_EJB.print(" () ");
                    
                }
                else
                {
                    pw_Home.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank)+" throws javax.rmi.RemoteException");
                }
            }

            //exception
            if(temp.substring(0,6).equals("create"))
            {
                pw_Home.print(",javax.ejb.CreateException");
                pw_EJB.print(" throws javax.ejb.CreateException");
            }
            else if(temp.substring(0,4).equals("find"))
            {
                pw_Home.print(",javax.ejb.FinderException");
                pw_EJB.print(" throws javax.ejb.FinderException");
            }
            pw_Home.println(";");

            pw_EJB.println();
            pw_EJB.println("    {");
            pw_EJB.println("    }");
            pw_EJB.println();

            location=i+1;
        }
    }
    pw_Home.println("}");
    location=0;

    //Remote intece
    pw_Remote.println();
    pw_Remote.println("public intece "+ejb_name+"Remote extends javax.ejb.EJBObject");
    pw_Remote.println("{");
    for(int i=0;i<Remote_method.length();i++)
    {
        if(Remote_method.charAt(i)==10 || i==(Remote_method.length()-1))
        {
            temp=Remote_method.substring(location,i+1).trim();
            //超界则退出
            if(temp.length()<=1)break;
            
            int temp_blank=temp.lastIndexOf(" ");
            if (temp_blank==-1)
            {
/*                if(temp.indexOf("(")==-1)
                {
                    pw_Remote.print("    public void "+temp+"() throws javax.rmi.RemoteException");
                }
                else
                {
                    pw_Remote.print("    public void "+temp+" throws javax.rmi.RemoteException");
                }
*/
                response.sendRedirect("error.jsp");
            }
            else
            {
                if(temp.indexOf("(")==-1)
                {
                    pw_Remote.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank)+"() throws javax.rmi.RemoteException");
                    pw_EJB.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank)+"()");
                }
                else
                {
                    pw_Remote.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank)+" throws javax.rmi.RemoteException");
                    pw_EJB.print("    public "+temp.substring(temp_blank+1)+" "+temp.substring(0,temp_blank));
                }
            }

            pw_Remote.println(";");

            pw_EJB.println();
            pw_EJB.println("    {");
            pw_EJB.println("    }");
            pw_EJB.println();

            location=i+1;
        }
    }
    pw_Remote.println("}");
    location=0;

    pw_EJB.println("}");

    pw_Home.close();
    pw_Remote.close();
    pw_EJB.close();
    %>
    <html>
    <body>

    <script language="javascript">
    function err(form,flag,server)
    {
        if (flag=="false")
        {
            if (form.primkey_field.value=="")
            {
                window.alert("请输入主键名称");
                form.primkey_field.focus();
                return false;
            }
            if (stringFilter(form.primkey_field.value)==1)
            {
                form.primkey_field.focus();
                form.primkey_field.value="";
                return false;
            }        
        }
/*        if (server=="weblogic")
        {
            if (form.jndi_name.value=="")
            {
                window.alert("请输入JNDI名称");
                form.jndi_name.focus();
                return false;
            }
            if (stringFilter(form.jndi_name.value)==1)
            {
                form.jndi_name.focus();
                form.jndi_name.value="";
                return false;
            }        
        }
*/        return true;
    }
    function stringFilter(strFilter)
    {
        for (i=0;i<strFilter.length;i++)
        {
            if((strFilter.charAt(i)>="A" && strFilter.charAt(i)<="Z")||(strFilter.charAt(i)>="a"&&strFilter.charAt(i)<="z")||(strFilter.charAt(i)>="0"&&strFilter.charAt(i)<="9")||(strFilter.charAt(i)=="_"))
            {}
            else
            {
                window.alert ("您的输入中有非法字符");
                return 1;
            }
        }
        return 0;
    }
    </script>

    <center>
        <font size="5" color="red">现在进行Development Deploy配置(也即.xml的配置)</font><br>

        <form action="createxml.jsp?ejb_type=<%=ejb_type%>&ejb_name=<%=ejb_name%>&server_type=<%=server_type%>&package_name=<%=package_name%>&prim_key_class=<%=request.getParameter("primaryKey")%>" method="post" name="form1" onsubmit="return err(form1,'<%=isSession%>','<%=server_type%>')">
        <table border="1" width="500">
            <tr>
                <td align="right" width="300">
                    请选择事务处理的类型:
                </td>
                <td align="left" width="200">
                    <SELECT NAME="transaction_type">
                        <option value="Container">Container</option>
                    </SELECT>
                </td>
            </tr>

            <tr>
                <td align="right" width="300">
                    请选择事务的属性:
                </td>
                <td align="left" width="200">
                    <SELECT NAME="trans_attribute">
                        <option value="Required">Required</option>
                    </SELECT>
                </td>
            </tr>
            <%if (ejb_type.equals("entity"))
            {%>
                <tr>
                    <td align="right" width="300">
                        请选择持久行的类型:
                    </td>
                    <td align="left" width="200">
                        <SELECT NAME="persistence_type">
                            <option value="Bean">Bean</option>
                            <option value="Container">Container</option>
                        </SELECT>
                    </td>
                </tr>
                <tr>
                    <td align="right" width="300">
                        reentrant:
                    </td>
                    <td align="left" width="200">
                        <SELECT NAME="reentrant">
                            <option value="false" selected>false</option>
                            <option value="true">true</option>
                        </SELECT>
                    </td>
                </tr>
                <tr>
                    <td align="right" width="300">
                        请输入主键名称:
                    </td>
                    <td align="left" width="200">
                        <INPUT TYPE="text" NAME="primkey_field">
                    </td>
                </tr>

            <%}
            if(server_type.equals("weblogic"))
            {
            %>
                <tr>
                    <td align="right" width="300">
                        <%if(isSession)
                        {%>
                            请输入在缓存中最大的beans数:
                        <%}else{%>
                            请输入在pool池中最大的beans数:
                        <%}%>
                    </td>
                    <td align="left" width="200">
                        <INPUT TYPE="text" NAME="max" value="100">
                    </td>
                </tr>
                <tr>
                    <td align="right" width="300">
                        请输入JNDI名称:
                    </td>
                    <td align="left" width="200">
                        <INPUT TYPE="text" NAME="jndi_name" value="<%=ejb_name+"_JNDI"%>">
                    </td>
                </tr>
            <%}%>
            <tr>
                <td colspan="2" align="center"><INPUT TYPE="submit" value="提交">   <INPUT TYPE="reset" value="重填"></td>
            </tr>
        </table>
        </form>

    </center>

    </body>
    </html>
    <%
}
catch(Exception e)
{
    out.print(e.getMessage());
}%>

首页 上一页 下一页 尾页 
 各地招聘导航
·北京 ·天津 ·上海
·西安 ·东莞 ·广州
·深圳 ·南京 ·杭州
·济南 ·南昌 ·兰州
·合肥 ·长沙 ·武汉
·成都 ·重庆 ·太原
·福州 ·沈阳 ·南宁
·海口 ·贵阳 ·郑州
·银川 ·西宁 ·昆明
·拉萨 ·长春
·石家庄  ·乌鲁木齐
·哈尔滨  ·呼和浩特
 各地兼职导航
·北京 ·天津 ·上海
·西安 ·东莞 ·广州
·深圳 ·南京 ·杭州
·济南 ·南昌 ·兰州
·合肥 ·长沙 ·武汉
·成都 ·重庆 ·太原
·福州 ·沈阳 ·南宁
·海口 ·贵阳 ·郑州
·银川 ·西宁 ·昆明
·拉萨 ·长春
·石家庄  ·乌鲁木齐
·哈尔滨  ·呼和浩特