• 検索結果がありません。

WebOTXマニュアル

N/A
N/A
Protected

Academic year: 2021

シェア "WebOTXマニュアル"

Copied!
38
0
0

読み込み中.... (全文を見る)

全文

(1)

WebOTX アプリケーション開発ガイド バージョン: 7.1

版数: 初版

リリース: 2007 年 7 月

Copyright (C) 1998 - 2007 NEC Corporation. All rights reserved.

(2)

目次

3. J2EE WTP ...3

3.1. Webアプリケーション...3

3.1.1. Webアプリケーションを作成する...3

3.1.2. Webアプリケーションを配備する...20

3.1.3. Webアプリケーションを使う ...25

3.1.4. JSFアプリケーションを作成する ...26

3.1.5. JSFアプリケーションを配備する ...36

3.1.6. JSFアプリケーションを使う...37

(3)

3.J2EE WTP

3.1.Web アプリケーション

WebOTX Developer's Studio は Web アプリケーションの作成の手助けをいたします。ここでは、Web ペー ジに入力した文字列を表示する簡単な Web アプリケーションを作る際の開発の手順を説明いたします。

3.1.1.Web アプリケーションを作成する

データベースや EJB などを使用しない、スタンドアロンな Web アプリケーションを、WTP を利用して MVC2 モデルで作成します。 MVC2 とは MVC アー キテクチャを Web ア プリケーションに適 用したものです。 JSP Model 2 アーキ テクチャとも呼ばれ ます。

Web プロジェクトを作成します。

XDoclet の初期設定を行っていない場合は、 メニューから、ウィンドウ | 設定 を選択し、 設定ダイアログから左ペインで XDoclet を選 択して XDoclet ホームとバージョンを入力しま す。 次に、設定ダイアログから左ペインで XDoclet | webdoclet を選択し、右ペインの Tasks の一 覧より WebOTX のみチェックし、他はチェック をはずして[OK]をクリックします。

(4)

メニューから、ファイル|新規|プロジェクト を選択して新規プロジェクト画面を表示させま す。 新規プロジェクト画面の Web を開き、動的 Web プロジェクトを選択して、[次へ]をクリック します。 プロジェクト名に 「HelloSample」を入力し Target runtime の右の[NEW]をクリックし、使 用するターゲットのランタイムのタイプを選択 します。 Web プロジェクトと は、WebOTX Developer's Studio での Web アプリケーション 作成用プロジェク トです。

(5)

定義したいランタイムのタイプより「NEC」→「WebOTX Local Server v6」を選択して、[次へ]をクリック します。 左図は表示基準 をベンダー毎で表 示している場合で す。 WebOTX サーバーのインストールパスを入力して [終了]をクリックします。 [次へ]をクリックします。

(6)

Project Facet の WebDoclet(XDoclet)をチェッ クして、[終了]をクリックします。 関連付けられたパースペクティブを開きます か? というダイアログが表示された場合は はいで J2EE パースペクティブを開くことをお 勧めします。(常に J2EE パースペクティブを 利用する場合は常にこの設定を利用するに チェックしてください。) WebDoclet(XDoclet) を選択することで、 WebOTX サーバに必 要な配備記述子 (nec-web.xml)が作 成されます。 ただし、事前に XDoclet の設定が行 われていることを確 認してから行ってくだ さい。

(7)

作成した動的 Web プロジェクトに、実行支援ライブラリを追加します。

現在 Java パースペクティブでない場合は、フ ァイルメニューのウィンドウ | パースペクティ ブを開く より Java を選択します。 HelloSample プロジェクトを選択した状態で右 クリック より 新規 | Web プロジェクト | 支援 ライブラリの追加 を選択します。 利用するライブラリの選択より Web アプリケー ション実行支援ライブラリをチェックし(文字エ ンコードフィルタを利用するがチェック エンコ ード種別:MS932、URL パターンが/*になって いること)終了ボタンをクリックします。 実 行 支 援 ラ イブ ラ リ を 利 用 す る場 合 は、Java パースペ ク テ ィ ブ で あ る 必 要があります。

(8)

入力画面用の HTML ファイルを作成します。

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。 ポップアップメニューから 新規|その他 を 選択して選択画面を表示させます。 選択画面から Web を開き、HTML を選択して [次へ]をクリックします。 左図は、J2EE パス ペクティブ(プロジェ クト・エクスプローラ ー)の場合です。

(9)

ツリーより WebContent(コンテントディレクト リ)を選択、ファイル名に「hello.html」を入力 し、[終了]をクリックします。

「hello.html」を以下の通り編集し保存します。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Hello</title>

</head>

<body bgcolor="#FFFFFF">

<form method="POST" action="HelloServlet">

名前を入力してください:<input type="text" name="name" size="20"> <input type="submit" value="こんにちは">

</form> </body> </html> 赤色部分が、修正あ るいは追加する個所 です。

出力画面用の JSP ファイルを作成します。

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。 ポップアップメニューから 新規|その他 を 選択して選択画面を表示させます。

(10)

選択画面から Web を開き、JSP を選択して[次 へ]をクリックします。 ツリーより WebContent(コンテントディレクト リ)を選択、ファイル名に「hello.jsp」を入力し、 [終了]をクリックします。 hello.jsp を以下の通り編集し保存します。

<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>

<%@ taglib uri="/WEB-INF/otxjsptag.tld" prefix="otxjsp" %>

<jsp:useBean id="helloBean" scope="request" type="sample.HelloBean" /> <!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html>

<head>

<title>こんにちは</title> </head>

<body bgcolor="#FFFFFF">

こんにちは<jsp:getProperty name="helloBean" property="name"/>さん。<br> あなたの名前は<jsp:getProperty name="helloBean" property="score"/>点です。<br> <a href="hello.html">さようなら</a> <form> <otxjsp:CheckData/> </form> </body> </html> 赤色部分が、修正あ るいは追加する個所 です。 1 行目の pageEncoding の値 は JSP ファイルのエ ンコード形式を示す ため、エディタのテキ ストファイルエンコー ドの設定により変動 します。

ビジネスロジック・クラスを作成します。

(11)

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。 ポップアップメニューから 新規|クラス を選 択して新規 Java クラス画面を表示させます。 パッケージに「sample」を入力し、名前に「HelloModel」を入力し [終了]をクリックします。 生成された HelloModel クラスに以下のメソッドの記述を追加し保存します。 ここでのビジネスロ

(12)

publicint getScore(String name){ int sum = 0;

char[] cArray = name.toCharArray();

for(int i=0; i<cArray.length; i++){ sum += cArray[i]; } return (sum % 10) + 1; } ジックは、名前から 1 ~10までの点数を 取得するといった処 理を行っています。 ビジネスロジック用 のクラスは、サーブ レット用 API を import しない汎用的なクラ スとして作成する事 が望ましいです。

Bean を作成します。

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。 ポップアップメニューから 新規|クラス を選 択して新規 Java クラス画面を表示させます。

(13)

パッケージに「sample」を入力し、名前に「HelloBean」を入力し、スーパークラスからのコンストラクタ にチェックを付け[終了]をクリックします。

生成された HelloBean クラスに String 型の name と、int 型の score フィールドを追加します。

publicclass HelloBean {

private String name; // この行を追加

private int score; // この行を追加

…… }

(14)

HelloBean.java ソース内のクラス名の宣言部分をクリックし、ポップアップメニューから ソース| Getter および Setter の生成 を選択します。

[すべて選択]をクリックしツリーの要素全てに チェックが付く事を確認します。

(15)

[OK]をクリックします。 HelloBean クラスのコードが以下の通りになっている事を確認して保存します。 package sample; /** * @author * */

public class HelloBean {

private String name; private int score;

/** * */ public HelloBean() { super(); // TODO 自動生成されたコンストラクター・スタブ } /** * @return */

public String getName() {

return name;

}

/** * @return */

public int getScore() {

return score;

}

/**

* @param string */

public void setName(String string) {

name = string; } /** この Bean は Servlet(MVC の Control)と JSP(MVC の View)とのインタフ ェースとなります。

(16)

* @param i */

public void setScore(int i) {

score = i; } }

サーブレットを作成します。

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。 ポップアップメニューから 新規|その他 を 選択して選択画面を表示させます。 選択画面から Web を開き、サーブレットを選 択して[次へ]をクリックします。

(17)

Java パッケージに「sample」を入力し、クラス名に「HelloServlet」を入力し、 [次へ]をクリックします。

名前に「HelloServlet」、URL に「/HelloServlet」が入っていることを確認して、 [次へ]をクリックしま す。

(18)

メソッドの「doGet()」のチェックをはずして、修飾子「public」、インターフェース「javax.servlet.Servlet」、 メソッドスタブ「スーパークラスからのコンストラクター」、「継承された抽象メソッド」、メソッドの 「doPost()」にチェックをされていることを確認して、 [終了]をクリックします。

生成された HelloServlet.java の doPost()メソッドを以下の通り実装して保存します。

protectedvoid doPost(

HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HelloModel model = new HelloModel();

// リクエストパラメータから”name”の値を取得する

String name = request.getParameter("name"); // ビジネスロジックを実行する

int score = model.getScore(name);

// JSP とのインタフェース Bean を生成し値を設定する

HelloBean bean = new HelloBean(); bean.setName(name);

bean.setScore(score);

// “helloBean”という名前で Bean をリクエストに設定する

request.setAttribute("helloBean", bean); // /hello.jsp に forward する

request.getRequestDispatcher("/hello.jsp").forward(request, response); }

(19)

パッケージ・エクスプローラーにて、 HelloSample プロジェクトを選択します。 メニューから プロジェクト|プロジェクトのビ ルド を選択して Java ソースファイルをコンパ イルします。 タスクタブをクリックしてタスクビューを表示し、コンパイルエラーが出ていない事を確認します。 TODO はエラーでは ありません。

WebContent/WEB-INF 配下に nec-web.xml が作成されていない場合は XDoclet を実

行します。

動的 Web プロジェクト配下にある HelloSample プロジェクトを選択します。

(20)

ポップアップメニューから Run XDoclet を選択 します。

3.1.2.Web アプリケーションを配備する

方法1.WAR アーカイブと配備を一度に行う場合

HelloSample プロジェクトを選択した状態で右 クリックし、 実行|サーバーで実行 を選択 します。(サーバの設定ができていない場合 は次項目の設定も行ってください。) サーバの設定ができていない場合は、 新規サーバの定義ダイアログが表示されま すので、サーバーのホスト名およびサーバタ イプを選択して、[次へ]をクリックします。 (右図はローカルマシンをサーバとしている場 合です。)

(21)

WebOTX サーバの新規作成ダイアログでは サーバーのバージョンに WebOTX Standard-J Edition Ver6、サーバー ユーザに admin、サーバーパスワードに adminadmin(初期の場合)を入力して、ユー ザドメインポートが 6212(初期の場合)になっ ていることを確認して [次へ]をクリックしま す。 サーバの設定ができていない場合は、 新規サーバの定義ダイアログが表示されま すので、サーバーのホスト名およびサーバタ イプを選択して、[次へ]をクリックします。 (右図はローカルマシンをサーバとしている場 合です。) 配 備 さ れ た こ と の 確認およびは、ウィ ン ド ウ → ビ ュ ー の 表 示 よ り そ の 他 よ り サ ー バ ー を 選 択 し て サ ー バ ー ビ ュ ー を 表 示 し て 確 認 してください。 再 配 備 し た い 場 合 は、対象サーバー上 で右クリックし、公 開 を 選 択 し て く だ さい。

方法2.配備ツールを利用する場合

WAR ファイルを作成します。

(22)

HelloSample プロジェクトを選択した状態で右 クリックし、 エクスポートを選択します。

WAR ファイル(WTP)を選択し、 [次へ]をクリ ックします。

Web モジュールに HelloSample、宛先に WAR ファイルの出力先を入力した状態で[終了]を クリックします。

(23)

スタートメニューから プログラム|WebOTX|配備ツール を選択して配備ツールを起動します。 配備操作を行うには テスト用サーバが動 作している必要があ ります。

サーバ情報の初期設定をします。

メニューから ファイル|サーバ を追加 を選 択します。 サーバ名に「localhost」を入力し、サーバポ ートに「6202」が設定されているのを確認し、 [OK]をクリックします。 ツリーの「localhost:6202」をクリックすると、 サーバに接続画面が表示されます。 (表示されない場合は、右クリックしてドメイン 一覧の取得を選択します。) 既にサーバ情報の 初期設定を行ってい る場合はこれらの作 業は不要です。

(24)

ユーザ名に「admin」を入力、パスワードに 「adminadmin」(初期の場合)を入力し[OK]をク リックします。 「localhost:6202」 の下に「domain1」が存在 する事を確認します。

Web アプリケーションの配備をします。

メニューから ファイル|開く を選択します。 先に生成した「HelloSample.war」を選択して [モジュールを開く] をクリックします。

(25)

一般タブを開き、WAR の表示名が 「HelloSample」に、コンテキストルートを 「HelloSample」が、設定されていることを確認 して、メニューから ファイル|保存 を選択し ます。 メニューから ツール|配備 を選択します。 メッセージペインに完了メッセージが表示され るのを確認します。

3.1.3.Web アプリケーションを使う

配備した Web アプリケーションを使ってみます。

Web ブラウザを起動し以下の URL へアクセス します。 http://localhost/HelloSample/hello.html hello.html の画面が表示されたら名前を入力 して[こんにちは]をクリックします。

(26)

入力した名前の点数が表示されます。 「さようなら」をクリックすると最初の画面に戻 ります。

3.1.4.JSF アプリケーションを作成する

JSF アプリケーションを Web プロジェクトで作成します。

メニューから、ファイル|新規|プロジェクト を選択して新規プロジェクト画面を表示させま す。 新規プロジェクト画面の Web を開き、動的 Web プロジェクトを選択して、[次へ]をクリック します。

(27)

プロジェクト名に 「JSFSample」を入力し Target runtime の右の[新規]をクリックし、使 用するターゲットのランタイムのタイプを選択 します。

定義したいランタイムのタイプより「NEC」→「WebOTX Local Server v7」を選択して、[次へ]をクリック します。

(28)

Project Facet の Java、JavaServer Faces、動 的 Web モジュールをチェック状態にして、[次 へ]をクリックします。 [次へ]をクリックします。 Implementation Library(JSF 関連のライブラ リ)が設定されていない場合は、[次へ]をクリ ックして JSF ライブラリの設定を行います。 Library Name に任意の名前を入力して、 [Add]をクリックします。

(29)

追加する jar ファイルをすべて選択し、[開く]を クリックします。 上記で選択した Jar がリストに追加されている ことを確認して[終了]をクリックします。 Component Libraries で JSTL 関連のライブラ リを追加して、[終了]をクリックします。 関連付けられたパースペクティブを開きます か? というダイアログが表示された場合は はいで J2EE パースペクティブを開くことをお 勧めします。(常に J2EE パースペクティブを 利用する場合は常にこの設定を利用するに チェックしてください。)

入力画面用の JSP ファイルを作成します。

(30)

JSFSample プロジェクトを選び、ポップアップメ ニューから 新規|JSF を選択して選択画面 を表示させます。 ツリーより WebContent(コンテントディレクト リ)を選択、ファイル名に「Input.jsp」を入力し、 [終了]をクリックします。 生成された Input.jsp を以下の通り編集します。

<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <html>

<f:view>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Input</title> </head> <body> <h:form> <h:outputLabel value="#{InputBean.prop}"></h:outputLabel> <h:inputText value="#{InputBean.name}"></h:inputText> <h:commandButton value="Input" action="input"></h:commandButton> </h:form> </body>

(31)

</html>

Bean を作成します。

JSFSample プロジェクト(Java リソース)を選 び、ポップアップメニューから 新規|クラス を選択して選択画面を表示させます。 パッケージ名に「jsfsample」、名前に 「InputBean」を入力し、[終了]をクリックしま す。

生成された InputBean クラスに String 型の prompt および String 型の name フィールドを追加します。 package jsfsample;

public class InputBean {

private String prompt = "Name"; private String name;

(32)

InputBean.java を選び、ポップアップメニュー から ソース|Getter および Setter の生成を 選択して選択画面を表示させます。

[すべて選択]をクリックして、[終了]をクリック します。

InputBean.java に Getter および Setter が追加 されます。

生成された Input.jsp を以下の通り編集します。

<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

(33)

<f:view>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-31j"> <title>Input</title> </head> <body> <h:form> <h:outputLabel value="#{InputBean.prop}"></h:outputLabel> <h:inputText value="#{InputBean.name}"></h:inputText> <h:commandButton value="Input" action="input"></h:commandButton> </h:form> </body> </f:view> </html>

出力画面用の JSP ファイルを作成します。

JSFSample プロジェクトを選び、ポップアップメ ニューから 新規|JSF を選択して選択画面 を表示させます。

(34)

ツリーより WebContent(コンテントディレクト リ)を選択、ファイル名に「output.jsp」を入力 し、[終了]をクリックします。

生成された output.jsp を以下のように編集します。

<%@ page language="java" contentType="text/html; charset=windows-31j" pageEncoding="windows-31j"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <html>

<f:view>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-31j">

<title>Output</title> </head>

<body> <h:form>

<h:outputLabel value="ようこそ #{InputBean.name} さん"></h:outputLabel> </h:form> </body> </f:view> </html> ツリーより faces-config.xml ファイルを選択、 「アプリケーションから開く」に「FacesConfig Editor」をクリックします。

FacesConfigEditor を作成します。

(35)

ツリーより faces-config.xml ファイルを選択、 「アプリケーションから開く」に「FacesConfig Editor」をクリックします。 パレットで「Select」をクリックした状態で、 「input.jsp」ファイルを「Navigation」のマス内に ドラッグ&ドロップします。 同様にパレットで「Select」をクリックした状態 で、「output.jsp」ファイルを「Navigation」のマ ス内にドラッグ&ドロップし、パレットで「Link」 をクリックした選択で、「input.jsp」から 「output.jsp」に対し、矢印(→)を引きます。 同様に Link の「プロパティー」をクリックし From Action 「input」

From Outcome「input」 Redirect 「false」を設定します。

(36)

3.1.5.JSF アプリケーションを配備する

方法1.WAR アーカイブと配備を一度に行う場合

HelloSample プロジェクトを選択した状態で右 クリックし、 実行|サーバーで実行 を選択 します。(サーバの設定ができていない場合 は次項目の設定も行ってください。) サーバの設定ができていない場合は、 新規サーバの定義ダイアログが表示されま すので、サーバーのホスト名およびサーバタ イプを選択して、[次へ]をクリックします。 (右図はローカルマシンをサーバとしている場 合です。) WebOTX サーバの新規作成ダイアログでは サーバーのバージョンに WebOTX Standard-J Edition Ver6、サーバー ユーザに admin、サーバーパスワードに adminadmin(初期の場合)を入力して、ユー ザドメインポートが 6212(初期の場合)になっ ていることを確認して [次へ]をクリックしま す。 配 備 さ れ た こ と の 確認およびは、ウィ ン ド ウ → ビ ュ ー の 表 示 よ り そ の 他 よ り サ ー バ ー を 選 択 し て サ ー バ ー ビ ュ ー を 表 示 し て 確 認 してください。 再 配 備 し た い 場 合 は、対象サーバー上 で右クリックし、公 開 を 選 択 し て く だ

(37)

サーバの設定ができていない場合は、 新規サーバの定義ダイアログが表示されま すので、サーバーのホスト名およびサーバタ イプを選択して、[次へ]をクリックします。 (右図はローカルマシンをサーバとしている場 合です。)

3.1.6.JSF アプリケーションを使う

配備した JSF アプリケーションを使ってみます。

Web ブラウザを起動し以下の URL へアクセス します。 http://localhost/JSFSample/input.faces 画面が表示されたら名前を入力して[Input]を クリックします。 入力した名前が表示されます。 javax/faces/* **が実行時にロード エラーになる場合 は、jvm-options に “-Dcom.nec.webotx. enterprise.overridea blejavaxpackages = javax.faces”を追加 する必要がありま す。

(38)

参照

関連したドキュメント

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

ダウンロードした書類は、 「MSP ゴシック、11ポイント」で記入で きるようになっています。字数制限がある書類は枠を広げず入力してく

一︑意見の自由は︑公務員に保障される︒ ントを受けたことまたはそれを拒絶したこと

のニーズを伝え、そんなにたぶんこうしてほしいねんみたいな話しを具体的にしてるわけではない し、まぁそのあとは

東京電力エリアの場合は 東京電力パワーグリッド の「Web 申込システム」へ のユーザIDが必要とな