• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    “Weblogic 連接池 + Oracle + Servlet” 的無狀態SessionBean 全攻略

    發布: 2007-6-22 15:48 | 作者:   | 來源:   | 查看: 17次 | 進入軟件測試論壇討論

    領測軟件測試網

       
      jbuilder7 + welogic6.1+ Oracle8i

    一個無狀態的Session bean

    連接weblogic 數據庫連接池

    取 Oracle一個表的一個字段值

    返回給客戶端 (servlet)

    就這些,now整理成筆記。

    1. 確認安裝好Oralce 和 Webligc 6.1 .Jbuilder7

    都是默認安裝

    2. 開始配置Jbuilder7 和Weblogic 的連接

    我參考了一篇Jbuilder6的配置 ,大同小異

    進入JB7

    a.打開Tools-->Configue Servers--> 選擇weblogic6.x+

    Enable Server 打勾

    選擇正確的Weblgic 安裝路徑

    注意 顯示器分辨率為1024*768 才能看到下面的OK 按鈕

    在General頁 的Home Dircetory 和 Work Directory一樣 如:

    D:/bea/wlserver6.1

    在Custome頁中填入weblogic 啟動密碼

    其他默認

    b.打開Tools--> Enterprise Setup -->CORBA

    new 一個 起名為Weblogic的項目

    在Path for ORB tools下加入Weblogic 的目錄

    在Library for project 下加入 weblogic 6.x delopy 庫

    在compiler command 填上 idcj.exe

    在Command ... for oupput Dircetory 填上一個你自己的輸出路徑

    c 最后確認 Projects--> Default Projects Properties-->Server

    選的Application Server 是Weblogic 6.x file://應該已經是了,再看看

    d 最后到我的電腦點右鍵去修改系統變量

    Temp 和Tmp

    因為默認得目錄名有空格,JB7過敏這個,改為一個沒空格的目錄

    如C:\temp 當然你得先建立這個目錄

    3.下來在Weblogic中建立Oracle的連接池

    . 在Weblogic 控制臺

    Services -->JDBC -->Connection Pools--> Configure a new JDBC Connection Pool

    在General屬性頁

    Name :連接池名 file://我取名為testPool ,注意名字區分大小寫

    URL: JDBC 連接字符串 file://Oracle的 為: jdbc:oracle:thin:@xiw:1521:sdb

    xiw為服務器名 也可為IP地址

    sdb為數據庫名

    Driver Classname: 填入 oracle.jdbc.driver.OracleDriver

    Properties(key=value): 填入 user=system file://即Oracle的用戶名,也可以在這里填入密碼

    Password 先不填

    點擊Apply // Weblogic 如果有圖標閃動,表示需要重啟動Webligoc設置才能生效 后面不在說明

    然后點擊Password 輸入數據庫密碼

    在Connection 頁

    Initial Capacity : 1 file://初始連接數

    Maximum Capacity :10 file://最大連接數

    Capacity Increment :1 // 初始不夠時,每次增加連接數

    Refresh Period: 5 file://防止網絡意外中斷時,每5分鐘刷新一次連接,斷了就自動恢復

    其他默認

    在testing 頁

    Test Table Name:tab // Oracle 已經有了這個表 ,用其他Oracle系統表也行

    下面兩項選中 打勾 表示啟用意外端開時,自動刷新恢復連接

    圖標閃動,表示需要重啟動Webligoc

    重啟后:

    在: Serviers -->JDBC -->Connection Pools-->testPool頁

    target頁 將myserver移到chosen 中 點Apply file://表示那個服務器啟用這個池

    如果有錯誤,一般就是前面的URL錯 或沒有testing指定的那個表,我在這絆了很久

    可能需要重啟

    然后到Services-->JDBC-->Data Source

    Configure a new JDBC Data Source

    Name:自己起吧

    JNDI Name: 起名為MyJNDI file://這個后面編程要用,區分大小寫

    Pool Name:testPool file://前面建的那個池的名字

    然后點擊Apply

    在target頁,和前面一樣,將myserver移到chosen Apply

    此時若有錯誤,一般為連接池名大小寫問題

    重啟動Weblogic 完成

    4 開始編程

    ·在JB7中新建一個空項目

    ·在New 的Enterprise 頁Ejb2.0 bean designer

    ·在可視化設計窗口,右鍵,New Session bean ,起名字為testsqlBean type為stateless

    ·啟動Oralce

    ·添加一個表table3 字段名 A1 再加一條數據 'OKOK' file://最后在Servlet中返回OKOK就算成功

    ·在該項目中New一個Class ,作為返回結果用,該類進行了序列化

    該類取名為TestString 代碼如下,較為粗糙,沒有優化,其實可以直接返回值的,湊合看吧。

    package testpool;

    import javax.ejb.*;

    import java.sql.*;

    import javax.sql.*;

    public class TestString implements java.io.Serializable{

    private String returnS;

    public TestString(String ss){

    returnS=ss;

    }

    public String returnStr(){

    return returnS;

    }

    public String getA1(DataSource ds, String sql)

    {String temp="nono"; file://默認為no Servlet要是返回這個就是失敗了

    try{

    Connection conn=ds.getConnection();

    Statement stmt=conn.createStatement();

    stmt.executeQuery(sql);

    ResultSet rs=stmt.getResultSet();

    int i=rs.getRow(); file://沒顯示改值,調試時看了看

    if(rs.next())

    {temp=rs.getString(1);

    }

    rs.close();

    conn.close();

    }

    catch(Exception e)

    {

    e.printStackTrace();

    }

    return temp;

    }

    }

    ·以下修改testsqlbean.java

    需要添加一些類

    import java.sql.*;

    import javax.sql.*;

    其他Home接口或Remote接口用到諸如ResultSet ,DataSource 得自己加入就行,不再復述

    添加幾個屬性

    String returnString;

    DataSource ds;

    ·同時需要修改testsqlbean的ejbCreate代碼為:

    public void ejbCreate() throws CreateException {

    try{

    Context ctx=new InitialContext();

    ds=(DataSource)ctx.lookup("MyJNDI"); // MyJNDI為前面配置的Weblogic的JDBC的JNDI名

    }

    catch(Exception e)

    { }

    }

    ·然后。在可視化設計窗口 testsqlBean上右鍵 add method 取名為getMyConn 返回類型為前面自建的TestString

    參數為String sql

    最后修改該函數代碼如下:

    public TestString getMyConn(String sql) {

    TestString t1=new TestString(sql);

    String returnString=t1.getA1(ds,sql);

    return new TestString(returnString);

    }

    .完成后 Make Project 一次編譯通過后

    ·在項目文件列表上,點擊web run

    此時不要人工啟動Weblogic 讓JB7去啟動它

    如果沒有錯誤,則EJB被自動部署到weblogic上,

    · 編一個Servlet作為客戶端

    用JB7的New 一個Servlet 起名為testpoolServlet

    全部代碼如下

    package testpool;

    import javax.servlet.*;

    import javax.servlet.http.*;

    import java.io.*;

    import java.sql.*;

    import java.util.*;

    import javax.naming.*;

    import javax.ejb.*;

    import java.rmi.RemoteException;

    import java.rmi.Remote;

    import testpool.testsql;

    import testpool.testsqlHome;

    public class testpoolServlet extends HttpServlet {

    static final private String CONTENT_TYPE = "text/html; charset=GBK";

    TestVector myStr;

    file://Initialize global variables

    public void init() throws ServletException {

    }

    file://Process the HTTP Get request

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    response.setContentType(CONTENT_TYPE);

    String sql="select * from table3"; file://客戶端給EJB的sql語句

    PrintWriter out = response.getWriter();

    out.println("");

    out.println("testpoolServlet");

    out.println("");

    out.println("

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    軟件測試論壇

    軟件測試技術相關文章

    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>