サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
www.fk.urban.ne.jp
クラスの先頭 public class AbstractSample1 extends javax.swing.JFrame { class Doubutsu{ public void battle(){ naku(); attack(); } public void naku(){ } public void attack(){ } } class Neko extends Doubutsu{ public void naku(){ putMessage("にゃあ"); } public void attack(){ putMessage("ひっかく"); } } class Inu extends Doubutsu{ public void naku(){ putMessage("わん"); } public void attack(){
配列は一度領域を確保すると、領域を拡張したり値を削ったりということができません。 Javaでは、可変長の配列など、集合を扱うためにいくつかのクラス・インターフェイスが用意されています。 可変長の配列として使われるのが、java.util.Listインターフェイスです。 実際にはListインターフェイスをimplementsしたクラスを使うことになります。 java.util.Vectorクラスやjava.util.ArrayListクラス、java.util.LinkedListクラスがあります。 まずは、Javaの最初のバージョンから用意されているVectorクラスを使います。 Vectorクラスのメソッドには以下のようなものがあります。 java.util.Vector
update 1999/10/26 CORBAって Common Object Request Broker Archtectureの略です。 OMG(Object Managemnt group)が制定しました。OMGは、コンピュータ業界の(Microsoft以外の)ほとんどの企業が参加している団体です。 CORBAとは共通オブジェクトリクエストブローカーアーキテクチャのことです。とか、「カタカナで書いただけやんか」ってつっこんでしまうような説明がありました。そんなんじゃ、わかりません。 ORBっていうのがあります。Object Request Brokerです。(分散)オブジェクトへの要求を間に入って仲介してくれるしくみです。 ORBの一種としては、JAVAのRMI(Remote Method Invocation)だとか、MicrosoftのDCOM(Distributed C
とりあえず、こんな感じのゲームを作ってみます。 まず、どのようなプログラムになるか様子を見るために、適当にプログラムを作ってみます。 背景 このようなプログラムを作るときにまずやること、それは、「とりあえず画面をだす」ことです。 というわけで、とりあえず画面を出しましょう。 「block」というパッケージを作って、その中に「GUIフォーム|JFrame」を作成してください。 名前は「BlockProto」としてください。 コンポーネントは配置しませんが、「JFrame」のプロパティーで「コード生成」タブにある「フォームサイズポリシー」を「サイズ変更コードの生成」にしておいてください。 package block; import java.awt.*; /** * * @author Administrator */ public class BlockP
まず、Threadクラスを継承する方法です。 「thread」という名前で新しいパッケージを作成してください。 今回のプログラムはすべてこのパッケージの中に作成します。 「GUIフォーム|JFrame」を作成します。名前は「ThreadSample1」とします。 コンポーネントは配置しません。 package thread; import java.awt.*; /** * * @author Administrator */ public class ThreadSample1 extends javax.swing.JFrame { Image img = null; //キャンバス Canvas c = new Canvas(){ public void update(Graphics g){ paint(g); } public void
URLクラスではコンストラクタに「プロトコル」「サーバーアドレス」「ポート」「ファイル」を指定します。 「サーバーアドレス」は、通信先のネットワーク上の場所です。IPアドレスという4バイトの数値で指定されますが、サーバーの名前からIPアドレスを検索することもできます。このサーバーの名前を「ドメインネーム」と呼びます。通常はドメインネームを指定します。 「ポート」はサーバーが接続を待ち受けている窓口の番号です。そして、通信の手順が「プロトコル」です。 ここでは、「プロトコル://サーバーアドレス:ポート/ファイル」という形式を指定します。つまり、ブラウザにいつも入力する形式です。たとえば「http://www.fk.urban.ne.jp/home/kishida/kouza/forte15/forte15net.html」と指定したときには「http」プロトコルで「www.fk
JDBCは、Javaからリレーショナルデータベースに接続するためのしくみです。JDBCを使えば、さまざまなデータベースに、同じプログラミングで接続することができます。 JDBCを使って、ある特定のデータベースに接続するためには、そのデータベースのためのドライバが必要になります。このドライバをJDBCドライバといいます。 JDBCドライバは、データベースへの接続形態の違いによって4つのタイプに分けられます。 COMPUTERWORLD キーワード解説 http://www.computerworld.jp/resource/keyword/back/20000630.html @IT 新人SEのためのJava講座 Javaデータアクセスの基礎 http://www.atmarkit.co.jp/fjava/rensai/jdbc01/jdbc01.html タイプ1
getパラメータは、URIに付加されるパラメータです。 requestオブジェクトのgetparameterメソッドで得ることができます。 paramsample1.jsp <%@page contentType="text/html; charset=Windows-31J"%> <html> <head><title>受け取った変数</title></head> <body> <h1>変数の表示</h1> <table> <tr><td>test</td><td> <%=request.getParameter("test")%> </td></tr> <tr><td>TEST</td><td> <%=request.getParameter("TEST")%> </td></tr> <tr><td>test1</td><td> <%=request.
CustomTag カスタムタグテンプレートを処理するクラスです。 コンストラクタ CustomTag() add_tag void add_tag(string pre,string tag,string classname) タグを追加します。 <pre:tag>というタグがあるとclassnameクラスで処理します。 proc_tag void proc_tag(string in,string out) ファイルinのタグを処理して、ファイルoutにPHPコードを生成します。 TagSupport カスタムタグの基本になるクラスです。 本体を処理しないタグの場合は、このクラスを継承します。 getPageAttribute mixed getPageAttribute(string var) グローバル変数varを取得しま
Seasarプロジェクトで開発中のプレゼンテーションフレームワークです。 JSPの代わりに使えて、JSPみたいにHTMLじゃないものが混ざらないようにしたものです。 http://mayaa.sandbox.seasar.org/ MayaaのダウンロードサイトからBlank War(Mayaa-1.0.0.war)をダウンロードして展開しておいてください。 拡張子をzipに変えれば、そこらへんの解凍ツールが使えます。 Mayaaで必要なライブラリファイルをライブラリマネージャーに登録します。 メニューの「ツール > ライブラリマネージャ」を選びます。 ライブラリマネージャが開くので「新規ライブラリ」ボタンを押します。 ライブラリ名には「Mayaa1.0」と入力して「了解」ボタンを押します。 ライブラリマネージャーに「Mayaa1.0」が追加されます。「クラスパス」タブを
StrutsはWebアプリケーションのためのフレームワークです。ソフトウェアでのフレームワークとは、ソフトウェア構築のある設計方針を実現するための部品の集まりです。 Strutsでは特に入力フォームの構築を効率化するフレームワークです。すごく乱暴な言い方をすれば、入力エラーの処理をするための便利なしくみ、です。 http://jakarta.apache.org/struts/index.html StrutsはMVCモデル2というアーキテクチャを実現するためのフレームワークといわれています。 Mはモデルで、データ構造やビジネスロジックを実装します。 Vはビューで、画面表示の部分です。 Cはコントローラーで、入力を受け取って、モデル(M)の処理を呼び出してビュー(V)にその結果を伝えます。 JSPをビュー(V)、サーブレットをコントローラー(C)、そしてサーブレッ
Javaに関するさまざまなソフトウェアをオープンソースで開発しているJakartaプロジェクトもかなり広まってきて、最近では、プログラムを組むときに、Jakartaプロジェクトのサイトをチェックしてから作り方や作るものを決める、という方も多いのではないでしょうか。 そのJakartaプロジェクトのサブプロジェクトの1つに、Microsoft OfficeのExcel、Wordファイルを読み書きするための、POI注1というライブラリがあります。 現状ではまだ、Excelファイルの読み書きができるようになったばかりですが、プログラムを組むときにExcelが使えると、さまざまな便利な機能を実装することができます。 Webアプリケーションの場合は、データの一括登録やデータ一覧のダウンロード、また、帳票向けの印刷用整形ファイルなどとして、Excelファイルを使うことができるようになります
ORマッピングです。いいらしいよ。 詳しいこととかダウンロードはここで。 http://objectstyle.org/cayenne/ Hibernateとの比較ですが、CayenneのサイトからのリンクではCayenneの方がいいってことになってます。 そのあと議論が続いてるらしい。 ようするに、どっちでもいいんじゃないかと。 XDocletがいいか(Hibernate)、ツールがいいか(Cayenne)、かな。 あとHibernateはPOJO、つまり単純なJavaのオブジェクトにマッピングするので、ラップが薄い感じです。 Cayenneの場合は、DataObjectを継承したクラスのオブジェクトにマッピングします。 すべてをオブジェクトで扱う前提になっているので、使いづらいことがあります。 ※外部ツールのサポートを考えると、Hibernate
EJB3の使い方をSunのIDEであるNetBeansのJavaEE対応開発版とJavaEE5のRIであるGlassFishを使って体験してみます。 次のような感じで行います。 NetBeans/GlassFishのセットアップ プロジェクトの準備 簡単なセッションビーン Persistenceでデータベース処理 ここではEJB3+JSFの開発環境としてNetBeansのJava EE 5対応開発版を使います。 NetBeansのダウンロードサイトはここです。 http://www.netbeans.info/downloads/download.php?a=n&p=1 Release VersionにはJavaEE5、Build typeにはDailyを選んで次に進んでください。
これらのスコープへは、JSPからは暗黙オブジェクトを使ってアクセスできます。また、サーブレットからはdoGet/doPostの引数やインスタンスメソッドなどで得ることができます。 スコープのオブジェクトはそれぞれgetAttribute/setAttributeというメソッドを持っているので、これらのメソッドを使ってオブジェクトに名前を付けて保持することが出来ます。 また、それぞれのスコープの関係は、次の図のようになっています。 アプリケーションスコープは、Webアプリケーション全体で共有できるスコープです。 つまり、そのWebアプリケーション内のすべてのサーブレットやJSPから値を利用することが出来ます。 たとえば、アクセスカウンターや掲示板のデータのように、すべての利用者がおなじデータを利用するときに使えます。 ただし、Tomcatではサーバーを再起動すると値が
「//」から行末までがコメントとしてみなされます。 ソースコードを書いた人は、何をするのか考えた上で書いているので、そのプログラムがどんな目的でかかれたものかわかります。 しかし他人がみると、 そのソースコードだけからプログラムの目的を理解するのは困難です。 理解の助けのために、コメントを適切に書くようにしましょう。 また、このとき未来の自分も他人だということが大切です。いまは覚えていても、しばらくそのソースコードをみなければ、なにをしてるかわからなくなるものです。自分の為にもコメントを書くようにしましょう。 実行可能な行をコメントにして、一時的に実行されないようにすることを「コメントアウトする」といいます。 プログラムの動作確認で、不具合のある行を特定するためなどに使います。 ここで、実行可能な行をなにかの事情でコメントアウトして無効にしたまま、削除せずに残し
・データの扱い方によって、データベースにはいくつか種類がある ネットワーク型データベース リレーショナルデータベース(RDBMS) オブジェクトデータベース(OODBMS) オブジェクトリレーショナルデータベース(ORDBMS)
とくにJSP&サーブレットを使ってWebアプリケーションを作成するときには、メールの送信を行いたいことが多くあります。 Javaでは、メールを扱うためのJavaMailというフレームワークがあります。 JavaMailにはさまざまな機能がありますが、頻度の高いメール送信について紹介します。 JavaMailは標準ではJDKに含まれていないので、ダウンロードする必要があります。 以下のサイトからダウンロードしてください。 [http://java.sun.com/j2ee/ja/javamail/index.html] Tomcat4にはJavaMailが含まれているので、Tomcat4をインストールしてあればダウンロードの必要はありません。 Tomcat5には含まれてないのでダウンロードする必要があります。 またJavaMailは、データ形式変換のためのフレ
VelocityはJakartaプロジェクトのテンプレートエンジンです。 要するに、テキストファイルの一部分をプログラムで書き換えるための仕組みです。 今のところ1.4が最新です。 http://jakarta.apache.org/velocity/ VelocityはJSPに替わるものとして取り上げられることもあります。 でも、JSTLとEL(式言語)を使えば、そんなに差はないと思います。 とくにJSP2.0でELが標準で使えるようになって、JSTLも標準になって、ほとんどのツールが対応している現在では、わざわざそのツールのサポートを捨ててまで使う必要はありません。 同じことができるなら、標準を使った方がよいでしょう。 ということで、特別な事情がない限りJSPの替わりにVelocityを使うメリットはないと思います。 メールの文章の作成など、JSPが標準
http://www.apache.org/dist/jakarta/james/binaries/ からjames-MailetSDK-2.1.3.zipをダウンロード 好きな場所に展開する。 とくにインストール操作は必要ない。 今回はf:\java\james-2.1.3に置いたとする。 以降、この、展開した場所をJAMES_HOMEとあらわす。 設定は、JAMES_HOME\apps\james.sarを解凍して、設定ファイルを変更、再び圧縮という手順をとる。 james.sarは、ZIP圧縮されているので、ZIP解凍ツールを使って解凍する。 .zipが関連付けされているなら拡張子を.zipに変更してダブルクリックするのが手軽。 ここで解凍したファイルは、あとでmailetの開発でも利用する。 ここではf:\java\mailet\jamesに解凍
Javaでは日付を扱うためのクラスが、大きく分けて3つ用意されています。 もっとも基本となるjava.util.Dateクラスは特定の「時点」をあらわすためのクラスです java.util.Calenderクラスは「暦」を扱うためのクラスです。標準では通常扱うグレゴリオ歴を使えるようなしくみになっています。 もうひとつはjava.text.DateFormatクラスで、日付から文字列への変換、文字列から日付への変換を行うことができます。 Dateクラスは特定の時刻をあらわすためのクラスです。1970年1月1日00:00:00 GMTからのミリ秒数をあらわします。つまり、暦や時差などに関係ない特定の時点をあらわします。 Dateクラスは、コンストラクタに引数を与えなければ現在の日付を持ったオブジェクトを生成します。 java.util.Date
「WEB-INF」の中の「クラス」の下に「servlet」という名前でパッケージを作成してください。 そこで、「新規作成」から「JSP & サーブレット|サーブレット」を選択してサーブレットを作成します。 名前は、ServletSample1とします。名前を入力したら「次へ」を押します。 「サーブレット配備構成」では、「URLパターン」に「/servlet1」と入力して完了します。 WEB-INF\classes\servlet\ServletSample1.java processRequestメソッド protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException
NetBeans3.6では、Tomcat5がバンドルされてますが、NetBeansからの設定などがやりにくくなっています。 たとえば3.5.1では次のようにserver.xmlを開くメニューやサーバーの再起動のメニューがありました。 しかし、3.6ではserver.xmlを開くメニューがなくなっていて、自分で場所を探して開く必要があります。 それと再起動のメニューがなくなっていて、Tomcatの再起動がめんどくさくなっています。 ただ、Tomcat5ではアドミニストレーションツールでserver.xmlのすべての設定ができるのでserver.xml自体を変更する必要がなくなっていることや、コンテキストごとの起動・停止ができるようになっているのでTomcat自体を再起動することがなくなっているので、あまり不便ではないかもしれません。 それよりも、サーブレットのクラスファイ
Spring1.2.1で確認してます。 http://www.springframework.org/ 必要なJarは次の2つ aopalliance.jar spring.jar 今回は、Strutsと一緒に使うことを前提にしています。 http://struts.apache.org/ Struts1.2.4で確認しています。 Strutsからは次のJarが必要になります。 commons-beanutils.jar commons-collections.jar commons-digester.jar commons-fileupload.jar commons-logging.jar commons-validator.jar jakarta-oro.jar struts.jar
Hibernate3にJava2SE5のアノテーションを追加するのがHibernate Annotationsで、これでマッピング定義ファイルが必要なくなるわけなんですが、このアノテーション、基本的にはEJB3と同じものを使っています。 なので、Hibernate Annotationでアノテーションを使ったORマッピングに慣れておくとEJB3が来たときも安心です。 というか、これ、いいです。 なんか、楽々。 ほら、Hibernateの説明って、ちょっと試しに使うのにもやたら長ったらしい準備が必要だったでしょ。 あれが、こんなもん。 ※2005年12月11日追記 EJB3については別にチュートリアルを書きました。 かなり楽です。 EJB3+JSF入門 ということでhttp://www.hibernate.org/あたりからHibernate3とHibe
Ruby on Railsってのがあって、ほとんど何も書かずにDBからテーブル情報とってきてORマッピングするんですが、それと同じようにHibernateでもマッピングクラスとかマッピング定義とか書かずにORマッピングしようじゃないか、っていうものです。 マッピングクラスのソースとマッピング定義をデータベースから自動生成するなら、それを実行時にやっちゃえばいいんじゃない?ってとこで。 実際、内部で、ファイルに保存すれば普通にマッピング定義として使えるようなhbm.xmlを生成してます。 ここからダウンロードしてください。 http://www.fk.urban.ne.jp/home/kishida/soft/hibernateonrails-preview.zip(16KB) Java2SE5の文法を使ってるので、Java2SE5.0以降じゃないと動きません。 あと、
次のページ
このページを最初にブックマークしてみませんか?
『www.fk.urban.ne.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く