Hitachi

TP1/COBOL adapter for Cosminexus ユーザーズガイド


2.4.1 Servletの作成方法

生成したTP1/COBOLアクセス用Beanを呼び出すServlet(Java UAP)を作成します。以下のことに注意して作成してください。

〈この項の構成〉

(1) setterの使用

一般のJavaBeansを利用したServletプログラムと同様に,自動生成されたBeanを参考にして,COBOL引数の設定を行います。設定時にはsetter(setXxx)を使用して引数領域をすべて設定しておかなければなりません。設定されていない領域の値は保証しません。

(a) 通常の例

(COBOL引数の登録集原文例)
01  PERSONAL-DATA.
  05  P-NUMBER   PIC  9(9)  USAGE COMP.
  05  P-NAME     PIC  X(50).
  05  P-ADDRESS  PIC  X(100).
(例)引数設定例
bean.setP_numberI (new Integer(number));
bean.setP_nameI ("");
bean.setP_addressI ("");

(b) OCCURS句を使った例

(COBOL引数の登録集原文例)
01  G1.
  02  G2 OCCURS 10.
    05  B1   PIC  X(50).
(例)JavaBeansの場合の引数設定例
int i = 0;
for (i = 0; i<10 ; i++) {
    bean.setB1I ("XXXXX", i);
}

(2) COBOL SPPの場合のcallメソッド呼び出し

Beanのsetterを記述後に,TP1/COBOLアクセス用Beanのcallメソッドを呼び出します。

(3) COBOL MHPの場合のsendメソッド呼び出し

Beanのsetterを記述後に,TP1/COBOLアクセス用Beanのsendメソッドを呼び出します。

[指定形式]
bean.send(クライアントID,"ホスト名”,“ポート番号”,コネクション解放の指定);

(4) COBOL MHPの場合のreceiveメソッド呼び出し

TP1/COBOLアクセス用Beanのreceiveメソッドを呼び出します。受信したメッセージはBeanのgetterメソッドで取得できます。

[指定形式]
bean.receive(クライアントID,"メッセージ受信時の最大待ち時間(秒)”, コネクション解放の指定);

(5) COBOL MHPの場合のreceive2メソッド呼び出し

TP1/COBOLアクセス用Beanのreceive2メソッドを呼び出します。受信したメッセージはBeanのgetterメソッドで取得できます。

[指定形式]
bean.receive2(クライアントID,"ホスト名”,“メッセージ受信時の最大待ち時間(秒)”,コネクション解放の指定);

(6) getterの指定

この値をServletで使用する場合は,Beanのgetter(getXxx)を使用することでCOBOLの引数を取得できます。

(a) 通常の例

(COBOL引数の登録集原文例)
01  PERSONAL-DATA.
  05  P-NUMBER   PIC  9(9)  USAGE COMP.
  05  P-NAME     PIC  X(50).
  05  P-ADDRESS  PIC  X(100).
(例)引数取得指定例
Integer wkint  = bean.getP_numberO ();
String  wkstr1 = bean.getP_nameO ();
String  wkstr2 = bean.getP_addressO ();

(b) OCCURS句を使った例

(COBOL引数の登録集原文例)
01  G1.
  02  G2 OCCURS 10.
    05  B1   PIC  X(50).
(例)引数取得例
String wkstr = bean.getB1O (5);

また,JSPでBeanを使用することもできます。

(例)ServletからJSP呼び出し指定例
javax.servlet.RequestDispatcher rd
  = c.getRequestDispatcher("/Search.jsp");
rd.forward(req, res);