欢迎光临
我们一直在努力

建立ejb各个接口和bean的大致框架的文件-JSP教程,J2EE/EJB/服务器

建站超值云服务器,限时71元/月

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 interface
    pw_home.println();
    pw_home.println("public interface "+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 interface
    pw_remote.println();
    pw_remote.println("public interface "+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());
}%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 建立ejb各个接口和bean的大致框架的文件-JSP教程,J2EE/EJB/服务器
分享到: 更多 (0)