实战JBuilder7+WebLogic7(续Entity Bean)

    技术2022-05-11  109

    实战JBuilder7+WebLogic7存取MS SQL Server2000(一)

    刘晓巍: liuxiaowei2000@sina.com

     

     

    第一次写文章,希望大家多多捧场,本文完全根据我的个人经验所写,如有错误,恳请大家指正!

    JBuilder7+WebLogic7 的配置

    假设Jbuilder7WebLogic7安装完毕,操作系统为:windows2000 server(SP2),数据库为: SQLServer2000(SP2)

     

    JBuilder7的配置:

    1.       修改环境变量TEMPTMP 为不带空格的目录如:E:/winnt/temp

    2.       启动Jbuilder7,选择:Tools->Configure Servers

    3.       选中左侧的Weblogic Application Server 6.x+,选中右边的Enable Server

    4.       General->Home Directory设为WebLogic7Home Directory如:E:/bea/weblogic700/server,正常的话Jbuilder7将自动为你添好其他的项。

    5.        Custom->JDK Installation Directory设为 JDK的安装目录,如:E:/bea/jdk131_02

    6.       Custom->BEA Home Directory设为WebLogic7Home Director,如:E:/bea

    7.       Custom->Domain Directory设为你的域目录,如:E:/bea/user_projects/mydomain

    8.       添好User name, Password ,Domain name, Server name后,单击OK退出。

    9.       选择:Tools->Enterprise Setup,单击CORBA页上的New, 按下表填写相应信息:

    Name for this configuration = WelLogic 7.0

    Path for ORB Tools = E:/bea/weblogic700/server

    Library for Projects = WebLogic 6.x+ Deploy

    IDL compiler command = idlj.exe

    Commnad option for output directory = E:/CORBAOutput(任意目录,不要有空格)

    单击OK退出。

           10.选择Project->Default Project properties

    Path页的Required libraries中将会看到WebLogic 6.x+ ClientWebLogic 6.x+ Deploy两项,如果没有,请检查以上步骤是否正确。

           11.选择Server页,单击Single services for all service in project

                  在下拉列表中选择WebLogic Application Server 6.x+,但击OK退出,配置完毕。

     

    WebLogic7的配置:

    1.  启动WebLogic7

    2.  打开IE6,在地址栏中输入:http://localhost:7001/console

    3.  输入用户名和密码

    4.  在左边的目录树中选中Services->JDBC->Connection Pools,单击右侧的Configure a new JDBC Connection Pool.,输入以下信息:

    Configuration->General页:

    Name = SQL Server Connection Pool

    URL = jdbc:weblogic:mssqlserver4:northwind@localhost

    Driver classname = weblogic.jdbc.mssqlserver4.Driver

    Properties : user = sa

             Password = “”  <- sa的密码

    单击Create建立连接池。

    Targets->Server页:

    myserver(服务器名称)移至右侧的列表中,但击单击Apply

    5.  在左边的目录树中选中Services->JDBC->Data Sources(或者TXData Sources),单击右侧的Configure a new JDBC Connection Pool.,输入以下信息:

    Configuration->General页:

    Name SQLServer Tx Data Source

    JNDI Name SQLServer

    Pool Name = SQL Server Connection Pool

    选中Emulate Two-Phase Commit for non-XA DriverRow Prefetch Enabled

    单击Create建立数据源。

    Targets->Server页:

    myserver(服务器名称)移至右侧的列表中,但击单击Apply,配置完毕。

    实战1:连接SQLServer2000

    1.  打开JBuilder7选择File>New project

    Name栏中输入SQLServerDemoDirectory栏中输入存放路径(不要有空格),其他不变,单击Finish

    2.  选择File>New,选择General->Application,单击OK

    第一步,第二步和第三步都不用更改,直接Finish即可。

    3.  回到JBuilder7的集成开发环境中,单击右侧的Designer页设计窗体,在窗体中放入一个JscrollPane JtextArea 及三个按钮,双击第一个按钮输入以下代码:

        try

        {

          Class.forName("weblogic.jdbc.mssqlserver4.Driver");

          Connection con = DriverManager.getConnection("jdbc:weblogic:mssqlserver4:northwind@localhost","sa","");//此处根据你的SQLServer帐户而定。

          Statement st = con.createStatement();

          ResultSet res = st.executeQuery("select * from employees");

          String line = "";

          while (res.next())

            line = line + res.getString("title")+"/n";

          jTextArea1.setText(line);

          con.close();

        }

        catch (Exception ex)

        {

          jTextArea1.setText("error : "+ex.getMessage());

    }

    双击第二个按钮输入以下代码

        Hashtable ht = new Hashtable();

        ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

        ht.put(Context.PROVIDER_URL,"t3://localhost:7001");

     

        try

        {

          Context ctx = new InitialContext(ht);

          DataSource ds = (DataSource)ctx.lookup("SQLServer");

          Connection con = ds.getConnection("system","12345678");//此处是WebLogic7

    的域用户和密码

          Statement st = con.createStatement();

          ResultSet res = st.executeQuery("select * from employees");

          String line = "";

          while (res.next())

            line = line + res.getString("notes")+"/n";

          jTextArea1.setText(line);

          con.close();

        }

        catch (Exception ex)

        {

          jTextArea1.setText("error : "+ex.getMessage());

        }

    运行WebLogic7,运行程序单击第一个按钮使用JDBC直接连接SQLServer并获取数据,单击第二个按钮使用DataSource连接SQLServer并获取数据。

    实战2Session Bean

           建立一个简单的Bean

    1.  关闭所有工程:File->Close Projects

    2.  选择File>New project

    Name栏中输入HelloDemoDirectory栏中输入存放路径(不要有空格),其他不变,单击Finish

    3.  选择File>New->Enterprise->EJB 2.0 Designer单击OK

    在弹出的对话框中单击new建立一个Moudle,在Name中输入HelloMoudle单击OK关闭当前对话框,再次单击OK关闭对话框。

    4.  在右侧的工作区中单击右键选择:Create EJB>Session Bean,将Bean Name改为HelloBean

    5.  右键单击代表HelloBean的长方形,选择Add->Method

    按如下填写:

    Method Name = SayHello

    Return Type = java.lang.String

    Input parameter 不添

    Interface = remote

           6. 右键单击代表HelloBean的长方形,选择 View Bean Source

                  按如下填写SayHello()

      public java.lang.String SayHello()

      {

        /**@todo Complete this method*/

        return new String(“Hello World “);

      }

    7.F9运行,在弹出的对话框中选择Run页,单击New,在configure name处填写Server Runtime Configuration,再选择Run>Server,单击OK关闭当前对话框,单击OK开始编译运行。运行起来之后在左上角的目录树中右键单击HelloModule选择:Deploy options for “HelloModule.jar”->Deploy来发布Bean

    建立客户端:

    1.  选择File>New->Enterprise->EJB Test Client单击OK

    选中Genrate method for Default remote interface calls with default arguments单击OK

    2.  按如下填写main()

      public static void main(String[] args)

      {

        HelloBeanTestClient1 client = new HelloBeanTestClient1();

        // Use the client object to call one of the Home interface wrappers

        // above, to create a Remote interface reference to the bean.

        // If the return value is of the Remote interface type, you can use it

        // to access the remote interface methods.  You can also just use the

        // client object to call the Remote interface wrappers.

        client.create();

        System.out.println(client.SayHello());

      } 选择Run>Run “HelloBeanTestClient1.java” using defaults运行。

    实战3Entity Bean

           配置Weblogic for SQL Server JDBC Driver

    1.       选择:Tools->Enterprise Setup,单击Database Drivers页上的Add, 在弹出的对话框中单击New,. 在弹出的对话框中填写NameWebLogic for SQL Server Location选择User Home,单击Add按钮,选择weblogic.jar,例如:F:/bea/weblogic700/server/lib/weblogic.jar, 单击OK关闭当前对话框,可以看到WebLogic for SQL Server已被加入,单击OK关闭当前对话框,再次单击OK,配置完成。重起Jbuilder 7

           建立一个简单的CMP Entity Bean :

    1.     关闭所有工程:File->Close Projects

    2.     选择File>New project

    3.     Name栏中输入CMPDemoDirectory栏中输入存放路径(不要有空格),其他不变,单击Finish

    4.     选择File>New->Enterprise->EJB Module单击OK

    在弹出的对话框中,在Name中输入CMPMoudle, Version选择:EJB2.0 Compliant其余不变,单击OK关闭当前对话框。

    5.     右键单击屏幕左下角的DataSources,选择Import Schema From Database,在弹出的对话框中,按如下填写:

    选中 All SchemasViews

    Driver选择weblogic.jdbc.mssqlserver4.Driver

    URL= jdbc:weblogic:mssqlserver4:northwind@localhost:1433

    UserName=sa

    Password=””  / /此处为sa密码

    JNDI Name= SQLServer

    单击OK,如果设置正缺的话,DataSources下将会出现名为SQLServerDatasource

    6.  单击名为SQLServerDatasource左边的加号将其展开,将会看到所有的表和视图。

    7.  右键单击Employees表,选择Create CMP 2.0 Entity Bean

    8.  单击代表Employees表的长方形顶部的Employees,在右侧弹出的面板中将Interfaces选为local/remote,选择File->Save All保存全部项目。

    9.  选择Project>Make ”CMPModule”, 编译成功后,右键单击左上角的CMPModule选择Deploy Options for ”CMPModule.jar”>Deploy,将其发布至Weblogic

        建立客户端:

    1.  选择File>New->Enterprise->EJB Test Client单击OK

    选中Genrate method for Default remote interface calls with default arguments单击OK

    3.  按如下填写main()

      public static void main(String[] args)

      {

        EmployeesTestClient1 client = new EmployeesTestClient1();

        client.findByPrimaryKey(new Integer(1));

        if (client.employeesRemote == null)

        {

          System.out.println("Error in testRemoteCallsWithDefaultArguments(): " + ERROR_NULL_REMOTE);

          return ;

        }

        client.getEmployeeID();

        client.getLastName();

        client.getFirstName();

        client.getTitle();

        client.getTitleOfCourtesy();

        client.getBirthDate();

        client.getHireDate();

        client.getAddress();

        client.getCity();

        client.getRegion();

        client.getPostalCode();

        client.getCountry();

        client.getHomePhone();

        client.getExtension();

        client.getPhoto();

        client.getNotes();

        client.getReportsTo();

        client.getPhotoPath();

      }

    选择Run>Run “EmployeesBeanTestClient1.java” using defaults运行。

    实战4JMS

           (待续)


    最新回复(0)