2009/01/26

eclipseで新プロジェクト作成(おもいっきり基本)

こんなこと書かんでもいいかもしれませんが、最近の私の記憶力では心もとないので、一応。

[ファイル]-[新規]-[プロジェクト]を選択し、ダイアログを表示させる。
[Java]フォルダから新規Tomcatプロジェクトを選ぶ。

struts2のlibは、プロジェクト/WEB-INF/lib配下にコピーする。
主要なものは、以下のものでしょうか。よくわかりません。
  • commons-logging-1.0.4.jar
  • freemarker-2.3.8.jar
  • ognl-2.6.11.jar
  • struts2-core-2.0.11.jar
  • xwork-2.0.4.jar
web.xmlは、プロジェクト/WEB-INF配下に作成する。Webアプリケーションの設定を記述するファイル
。FilterDispatcherは何を使うかとか、最初にどのjspを表示するかとかを設定する。

struts.xmlは、プロジェクト/WEB-INF/src配下に作成する。アプリケーションの動作を定義するファイル。jspからのリターン値で動作を切り分ける。

struts2のこと(その2)

仕組みと構造です。





ControllerFilterDispatchとintercetorsからなる。
FilterDispatchは、処理の割り振り。intercetorsは、処理に割り込んでなんかするヤツです(例えば、エラーチェックとか)。
ModelActionとサーブレットからなる。
Actionは、1つ前の記事で書いたActionクラスのことで、アプリケーションで用意するクラス。リクエストURIに対応する形になり、リクエストごとにオブジェクトの生成が行われる。
ViewURIリクエストの結果ページを表示する。JSPが利用される。
よく知らないが、VelocityとかFreeMarkerといったフレームワークを利用できるみたい。

(ここを参考にしました。)

struts2のこと(その1)

仕事でstruts2を使うことになりました。
ダウンロードは、ここからできます(リンク切れしてたらゴメンナサイ)。

struts2は、僕が説明する必要はないかもですが、フレームワークです。
struts2用のタグをservletとかjspに記述することで、簡単に作れるらしいです。

特徴をコピペしておくと。





MVCパターン画面系と動作系を分離する思想
プラグイン機能必要な機能をプラグインできる
アノテーション機能ソースに設定を記述することでXMLでの設定を減らせる
(ソースに設定を書くかどうかが疑問)
DIコンテナ機能
(Dependency Injection)
クラス間の依存関係をソースコードに書くのではなく、分離した外部ファイルによって設定するデザイン
POJO(Plain Old Java Object)Actionクラスが、POJO(依存性を排除した何も継承しない普通のクラス)として作成可能。Actionクラスとは、実際のビジネスロジックを記述したクラスのことで、Strutsフレームワークから呼び出される。


(ここを参考にしました。)

2009/01/22

Eclipse BIRTで作った帳票イメージをjavaアプリで使うには

以下のURLの記事を参考にした。runtimeが古かったせいで、ここのソースそのままでは動かなかった。
http://www.thinkit.co.jp/cert/tech/28/4/3.htm

まず、Javaアプリを作る前に、BIRTのruntimeが必要。これがないと、BIRTで作った拡張子rpttemplateを生かすことができない。
以下のURLの[Runtime]というボタンクリックでダウンロード。
http://download.eclipse.org/birt/downloads/

ダウンロードして解凍したら、環境変数を設定する(設定方法は基本的なことなので記述しない)。
BIRT_HOME=C:\birt-runtime-2_3_1
こんな感じ。

javaのソースでimportするのは以下のもの
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.PDFRenderOption;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
import org.eclipse.birt.report.engine.api.RenderOption;
import org.eclipse.birt.report.engine.api.ReportEngine;


PDFRenderがPDF用, HTMLRenderがHTML用。見てのとおり。

classpathに追加したjarは、以下の通り
C:/birt-runtime-2_3_1/ReportEngine/lib/coreapi.jar
C:/birt-runtime-2_3_1/ReportEngine/lib/engineapi.jar
C:/birt-runtime-2_3_1/ReportEngine/lib/modelapi.jar
C:/birt-runtime-2_3_1/ReportEngine/lib/scriptapi.jar
C:/eclipse/plugins/com.ibm.icu_3.8.1.v20080530.jar
C:/eclipse/plugins/org.apache.commons.codec_1.3.0.v20080530-1600.jar
C:/eclipse/plugins/org.mozilla.rhino_1.6.7.v20080214/lib/js.jar

下から2番目の"codec"とあるものは、base64用。テンプレートに画像を読み込んだので、それをdecodeするためのものと思われる。base64のdecodeがなければ不要かもしれない。

中身は、以下の通り。

public class ReportExample {

  public static void main(String[] args) {
    try {
      EngineConfig config = new EngineConfig();
      config.setEngineHome("C:\\birt-runtime-2_3_1\\ReportEngine");

       // レポートエンジン生成とレポートファイル読み込み
      ReportEngine engine = new ReportEngine(config);
      IReportRunnable design =
        engine.openReportDesign("C:\\workspace\\hello\\new_template.rpttemplate");

       // タスク生成
      IRunAndRenderTask task = engine.createRunAndRenderTask(design);

       if (RenderOption.OUTPUT_FORMAT_HTML.equals(args[0])) {
        // HTML設定
        RenderOption options = new HTMLRenderOption();
        options.setOutputFileName("c:\\storeList.html");
        options.setOutputFormat(RenderOption.OUTPUT_FORMAT_HTML);
         task.setRenderOption(options);
      } else {
        // PDF設定
        RenderOption options = new PDFRenderOption();
        options.setOutputFileName("c:\\storeList.pdf");
        options.setOutputFormat(RenderOption.OUTPUT_FORMAT_PDF);
        task.setRenderOption(options);
      }

       // 実行
      task.run();

       engine.destroy();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

あと、dbからの読込みを行う場合は、jdbcドライバを以下に格納する必要がある。
C:\birt-runtime-2_3_1\ReportEngine\plugins\org.eclipse.birt.report.data.oda.jdbc_2.3.1.v20080827\drivers

2009/01/14

Javaのupdateを防止する方法

1. コントロールパネルから「Java」を選択し、[Javaコントロールパネル]ダイアログを表示させる。
2. 表示されたダイアログにて、[アップデート]タブを選択する。
3. 「アップデートを自動的にチェック」のチェックを外す。
4. [了解]ボタンをクリックする。

意外と簡単。

2009/01/13

Javaインストール後の作業

Javaをインストールした後、以下を環境設定に追加する必要がある。

JAVA_HOME
CLASSPATH

私の環境では、以下のようになっている。
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_17\bin
CLASSPATH=.;C:\Program Files\Java\jre1.5.0_17\lib;C:\Program Files\Java\jre1.5.0_17\lib\ext\QTJava.zip

QTJava.zipは、QuickTimeのものかな?なくても良いと思う。

あと、PATHの方も以下のようにJAVA_HOMEを追加した。

PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%;C:\Program Files\QuickTime\QTSystem\

インストールの順番

順番というほどでもないが、TomcatとかEclipseとかをインストールする前に、Javaからインストールした方が良いだろう。

開発環境など

以下のようになっています。

Java 5.0 ← SEの方です。
Struts 2.0.11
Tomcat 5.5
Eclipse 3.4

Eclipseは、Eclipse IDE for Java EE Developers を使うことにしました。Eclipse IDE for Java Developersでも良いと思うのですが、機能の多さで選んだ感じです。

はじめに

はじめまして。
新潟県長岡市のソフトウェア開発会社で働くnagoyaといいます。

とりあえず、新しい仕事が始まるので、それの備忘録として作りました。

社外秘の事項を隠しつつ、自分でも分かりやすくするために、ブログの設定を工夫しないといけませんね(>自分)。