「お勉強中」(2005/09/02 (金) 11:07:04) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font style="BACKGROUND-COLOR: #ccffcc" color="#3366FF" size="1"><font size=
"2">@ITってすごい</font><a href=
"http://www.atmarkit.co.jp/"><img alt="" src=
"/_fckeditor/editor/images/smiley/msn/heart.gif"></a></font></p>
<pre>
どうしてソコがわかるのか。
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">サーブレットを実行するってことを考える。<br></font></p>
<ul>
<li><font face="Arial" size=
"1">ブラウザからサーバ名+キーワードのurlをサブミットする。<br></font></li>
<li><font face="Arial" size=
"1">WEBサーバが受取る。WEBコンテナもいるのだろう。<br></font></li>
<li><font face="Arial" size=
"1">WEBコンテナのweb.xmlで動かしたいクラスが分かる。<br></font></li>
<li><font face="Arial" size=
"1">そしてJVMで「動かす」。<br></font></li>
</ul>
<p><font face="Arial" size=
"1">最後の動かす場所はどこで決めてるの?パスとか指定したっけ?WEBサーバ件WEBコンテナのTomcatをインストールしたとき設定した覚えがない?<br>
「HelloWorld.class」を実行するためにJavaのバーチャルマシンに指示する時は「<font style="BACKGROUND-COLOR: #ffff99">Javaのコンパイラやバーチャルマシンが存在するディレクトリのパスをWindowsが見つけられるように環境変数を設定します</font>」って言われてPathやらJAVA_HOMEやら設定した。だからコマプロからjavaってコマンド打ったらPathで指定したディレクトリにあるエグゼを実行してると分かる。<br>
直接javaと書いて実行しないサーバーサイドな場合は、きっとTomcatが実行してくれているのだと思う。そのときどこというPathはどこに書いてあるのだろう?</font><strong><font color="#666666"
size="2"><font style=
"BACKGROUND-COLOR: #ccffff">(注)セットアップ時に確認されるJavaのインストールフォルダは、環境変数「JAVA_HOME」から取得されるものです。環境変数「JAVA_HOME」はJ2SEのインストール時に自動的に設定されます。もし、設定されていなかったり、本来のインストールフォルダと異なるパスが表示された場合にはセットアップを中断し、環境変数を設定してからセットアップを行って下さ
い。</font></font></strong><br>
<a href=
"http://www.atmarkit.co.jp/fjava/rensai2/jspservlet03/jspsevlet03_3.html">基礎から学ぶサーブレット/JSP(3)</a>のTomcatインストールの手順にこんな記述が。「(Tomcatの)セットアップ時に確認されるJavaのインストールフォルダ」これはまさにどこのJava見てるのという疑問の答えかな。私はJAVA_HOME環境変数を手で設定したんだけど・・・ちゃんとJ2SEインストールしたら自動で設定される環境変数だったのか。そして、自動で設定されてる環境変数を前提にTomcatのセットアップ時にそのパス先をJVMとして紐付けしている。</p>
<p>これが答えで良いような気がする。とりあえず解決。</p>
</blockquote>
<pre>
やっぱり難しい・・・(?・ɯ??`)ショボーン
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">謎の言葉
<p><font face="Arial" size=
"1">実行エンジン(本連載ではTomcatを使用します)がJSPファイルを自動的にサーブレットへと変換し、コンパイルを行ったうえで実行までしてくれるのです</font></p>
</blockquote>
<br>
<pre>
衝撃の真実 ?(゚Д゚;エーッ!
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">Webコンテナへの指示を記述したweb.xmlファイル</font>」ってあっさり書いてあるよ。web.xmlってTomcatのWebコンテナ機能への指示ファイルだったのか~。そーなのかー。初耳。・・・真剣にやばいっすね物知らず過ぎ。じゃあserver.xmlはきっとTomcatのサーバ機能への指示ファイルなんじゃないの。</font></p>
</blockquote>
<br>
<pre>
JavaによるWebアプリケーションの開発に必要なコンポーネント
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">@ITってすごいなあ。さっき参考にしてた「今から始めるJava第1回」ではJDK:Java2SDK,StandardEdition1.4.1(j2sdk-1_4_1-windows-i586.exe)というJava2SDKさんを開発実行環境に使って紹介してあった。</font></p>
<p><font face="Arial" size=
"1">でも自分のことにあって使ってるのはjdk1.5.0_04。なんか違うよねと思っていた。すると、<a href="http://www.atmarkit.co.jp/fjava/rensai3/tool01/tool01_1.html">「Javaを利用したWebアプリケーションの開発」</a>では以下の2つを使うと書いてある!( ゚д゚)ビンゴー</font></p>
<ul>
<li><font face="Arial" size="1">Java 2 SDK (JDK1.4.2など)<br></font></li>
<li><font face="Arial" size=
"1">TomcatなどのWebコンテナ(Java対応のWebサーバ)<br></font></li>
</ul>
<p><font face="Arial" size=
"1">そうかそうかJDKでもwebアプリに使うのが<jdk1.5.0_04>なんだろーなあ。なんとなく納得。JDKてのは「じゃばでぃべろっぷめんときっと」だっけ開発キット(昆虫採集キットみたいななー)だよね。</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">サーブレットはWebコンテナと呼ばれるJava対応のWebサーバ上で動作するJavaアプリケーション</font>」やっぱただのJavaではなかったのか。</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">サーブレットを使用してアプリケーションを作成するときは、Java言語でクライアントからの要求に応じたHTMLを動的に生成するクラス(サーブレットクラス)を作成し、TomcatなどのWebコンテナに配備します</font>」そういやTomcatは基本的なWebサーバー機能を持った何とかで・・・と先輩が言っていたなあ。Webコンテナとして使いたいから持ってきていたのか。コンテナ・・・昔のカラオケボックスのような、アメリカ人がたまに住んでるキャンピングカーのようなスペース・・・イメージは湧くな。そこに積み込んで客がきたら出す物置?ま、いいや。</font></p>
<p><font face="Arial" size="1"><font style=
"BACKGROUND-COLOR: #ffff99">「サーブレットは、<b>図2</b>にあるように、Webコンテナにロードされ、実行されるJavaクラスです。」</font>事前にロードされて待機してる・・ホストでオンラインやってたときあったな修正したらリロードコマンドMODMODCHANGE=・・・。なるほどねー。だからTomcat起動するとサーブレットが勝手に動き出しているのか。そんで勝手に致命的なエラー出しされるんだ。</font></p>
</blockquote>
<br>
<pre>
Javaが動くって何よ工エエェェ(?д`)ェェエエ工
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">jdk1.5.0_04のbinにPathを通した。そこにjava.exeがいる。これが動いてなんかしてるの?rt.jar(run-timeの略と思われる)に中間コードとして格納されている基本クラス。このパッケージの存在意義かしら。ソースはsrc.zipに入ってるから見ることもできる。eclipsでソース添付ってここを指せばいいのかしら</font></p>
<p><font face="Arial" size=
"1">①自分で書いたソース(*.java)をコンパイル(javac.exe)して中間コードファイルを生成する</font></p>
<p><font face="Arial" size=
"1">②パッケージであらかじめ中間コードファイルになってるやつ</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">Javaのバーチャルマシンは、実行時に必要中間コードファイルをrt.jarから解凍して取り出しているわけです。</font>」@ITより<br>
じゃあ自分で書いたソースをコンパイルしたときって②のクラスをくっつけたりしてないの?それはリンク?PL/1じゃコンパイルしてリンクしてってやってたよなあ。javaではそんなことしないのな。ダイナミックリンクライブラリ・・・なんだっけ。</font></p>
</blockquote>
<br>
<pre>
webを使ったDB操作画面に必要なものは?
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<ul>
<li><font face="Arial" size="1">検索と表示(select)<br></font></li>
<li><font face="Arial" size="1">追加(insert)<br></font></li>
<li><font face="Arial" size="1">更新(update)<br></font></li>
<li><font face="Arial" size=
"1">削除(delete):「削除」機能は表示画面または編集画面に含めてもよい</font></li>
</ul>
</blockquote>
<br>
<pre>
Strutsに必要なもの
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">■Strutsを利用する上で必要になるファイルの説明</font></p>
<p><font face="Arial" size=
"1">WEB-INF*.tld Strutsのタグライブラリディスクリプタ。</font></p>
<p><font face="Arial" size=
"1">WEB-INFclassesApplicationResources.properties アプリケーションで使用するメッセージリソースファイル。</font></p>
<p><font face="Arial" size=
"1">WEB-INFstruts-confg.xml Strutsの設定ファイル。</font></p>
<p><font face="Arial" size=
"1">WEB-INFweb.xml WEBアプリケーションの設定ファイル。</font></p>
<br>
<p><font face="Arial" size=
"1">■ここで作成するファイル一覧</font></p>
<p><font face="Arial" size=
"1">sendMessage.jsp名前、メールアドレス、メッセージを入力して送信するページ。</font></p>
<p><font face="Arial" size=
"1">showMessage.jsp送られてきたデータを表示するページ。</font></p>
<p><font face="Arial" size=
"1">SendMessageForm.javaアクションフォームBean。sendMessage.jspファイルの中のフォームに対応するクラスです。validateメソッドに入力値のチェックを記述します。</font></p>
<p><font face="Arial" size=
"1">SendMessageAction.javaアクションクラス。sendMessage.jspファイルからのデータ送信の動作に対応するクラスです。performメソッドにビジネスロジックを記述します。</font></p>
</blockquote>
</blockquote>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font style="BACKGROUND-COLOR: #ccffcc" color="#3366FF" size="1"><font size=
"2">@ITってすごい</font><a href=
"http://www.atmarkit.co.jp/"><img alt="" src=
"/_fckeditor/editor/images/smiley/msn/heart.gif"></a></font></p>
<pre>
どうしてソコがわかるのか。
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">サーブレットを実行するってことを考える。<br></font></p>
<ul>
<li><font face="Arial" size=
"1">ブラウザからサーバ名+キーワードのurlをサブミットする。<br>
</font></li>
<li><font face="Arial" size=
"1">WEBサーバが受取る。WEBコンテナもいるのだろう。<br></font></li>
<li><font face="Arial" size=
"1">WEBコンテナのweb.xmlで動かしたいクラスが分かる。<br></font></li>
<li><font face="Arial" size=
"1">そしてJVMで「動かす」。<br></font></li>
</ul>
<p><font face="Arial" size=
"1">最後の動かす場所はどこで決めてるの?パスとか指定したっけ?WEBサーバ件WEBコンテナのTomcatをインストールしたとき設定した覚えがない?<br>
「HelloWorld.class」を実行するためにJavaのバーチャルマシンに指示する時は「<font style="BACKGROUND-COLOR: #ffff99">Javaのコンパイラやバーチャルマシンが存在するディレクトリのパスをWindowsが見つけられるように環境変数を設定します</font>」って言われてPathやらJAVA_HOMEやら設定した。だからコマプロからjavaってコマンド打ったらPathで指定したディレクトリにあるエグゼを実行してると分かる。<br>
直接javaと書いて実行しないサーバーサイドな場合は、きっとTomcatが実行してくれているのだと思う。そのときどこというPathはどこに書いてあるのだろう?</font></p>
<p><font color="#666666" size="2"><font style=
"BACKGROUND-COLOR: #ccffff">(注)セットアップ時に確認されるJavaのインストールフォルダは、環境変数「JAVA_HOME」から取得されるものです。環境変数「JAVA_HOME」はJ2SEのインストール時に自動的に設定されます。もし、設定されていなかったり、本来のインストールフォルダと異なるパスが表示された場合にはセットアップを中断し、環境変数を設定してからセットアップを行って下さい。</font></font>
<a href=
"http://www.atmarkit.co.jp/fjava/rensai2/jspservlet03/jspsevlet03_3.html">基礎から学ぶサーブレット/JSP(3)</a><br>
Tomcatインストールの手順にこんな記述が。「(Tomcatの)セットアップ時に確認されるJavaのインストールフォルダ」これはまさにどこのJava見てるのという疑問の答えかな。私はJAVA_HOME環境変数を手で設定したんだけど・・・ちゃんとJ2SEインストールしたら自動で設定される環境変数だったのか。そして、自動で設定されてる環境変数を前提にTomcatのセットアップ時にそのパス先をJVMとして紐付けしている。</p>
<p>これが答えで良いような気がする。とりあえず解決。</p>
</blockquote>
<pre>
やっぱり難しい・・・(?・ɯ??`)ショボーン
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">謎の言葉
<p><font face="Arial" size=
"1">実行エンジン(本連載ではTomcatを使用します)がJSPファイルを自動的にサーブレットへと変換し、コンパイルを行ったうえで実行までしてくれるのです</font></p>
</blockquote>
<br>
<pre>
衝撃の真実 ?(゚Д゚;エーッ!
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">Webコンテナへの指示を記述したweb.xmlファイル</font>」ってあっさり書いてあるよ。web.xmlってTomcatのWebコンテナ機能への指示ファイルだったのか~。そーなのかー。初耳。・・・真剣にやばいっすね物知らず過ぎ。じゃあserver.xmlはきっとTomcatのサーバ機能への指示ファイルなんじゃないの。</font></p>
</blockquote>
<br>
<pre>
JavaによるWebアプリケーションの開発に必要なコンポーネント
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">@ITってすごいなあ。さっき参考にしてた「今から始めるJava第1回」ではJDK:Java2SDK,StandardEdition1.4.1(j2sdk-1_4_1-windows-i586.exe)というJava2SDKさんを開発実行環境に使って紹介してあった。</font></p>
<p><font face="Arial" size=
"1">でも自分のことにあって使ってるのはjdk1.5.0_04。なんか違うよねと思っていた。すると、<a href="http://www.atmarkit.co.jp/fjava/rensai3/tool01/tool01_1.html">「Javaを利用したWebアプリケーションの開発」</a>では以下の2つを使うと書いてある!( ゚д゚)ビンゴー</font></p>
<ul>
<li><font face="Arial" size="1">Java 2 SDK (JDK1.4.2など)<br></font></li>
<li><font face="Arial" size=
"1">TomcatなどのWebコンテナ(Java対応のWebサーバ)<br></font></li>
</ul>
<p><font face="Arial" size=
"1">そうかそうかJDKでもwebアプリに使うのが<jdk1.5.0_04>なんだろーなあ。なんとなく納得。JDKてのは「じゃばでぃべろっぷめんときっと」だっけ開発キット(昆虫採集キットみたいななー)だよね。</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">サーブレットはWebコンテナと呼ばれるJava対応のWebサーバ上で動作するJavaアプリケーション</font>」やっぱただのJavaではなかったのか。</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">サーブレットを使用してアプリケーションを作成するときは、Java言語でクライアントからの要求に応じたHTMLを動的に生成するクラス(サーブレットクラス)を作成し、TomcatなどのWebコンテナに配備します</font>」そういやTomcatは基本的なWebサーバー機能を持った何とかで・・・と先輩が言っていたなあ。Webコンテナとして使いたいから持ってきていたのか。コンテナ・・・昔のカラオケボックスのような、アメリカ人がたまに住んでるキャンピングカーのようなスペース・・・イメージは湧くな。そこに積み込んで客がきたら出す物置?ま、いいや。</font></p>
<p><font face="Arial" size="1"><font style=
"BACKGROUND-COLOR: #ffff99">「サーブレットは、<b>図2</b>にあるように、Webコンテナにロードされ、実行されるJavaクラスです。」</font>事前にロードされて待機してる・・ホストでオンラインやってたときあったな修正したらリロードコマンドMODMODCHANGE=・・・。なるほどねー。だからTomcat起動するとサーブレットが勝手に動き出しているのか。そんで勝手に致命的なエラー出しされるんだ。</font></p>
</blockquote>
<br>
<pre>
Javaが動くって何よ工エエェェ(?д`)ェェエエ工
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">jdk1.5.0_04のbinにPathを通した。そこにjava.exeがいる。これが動いてなんかしてるの?rt.jar(run-timeの略と思われる)に中間コードとして格納されている基本クラス。このパッケージの存在意義かしら。ソースはsrc.zipに入ってるから見ることもできる。eclipsでソース添付ってここを指せばいいのかしら</font></p>
<p><font face="Arial" size=
"1">①自分で書いたソース(*.java)をコンパイル(javac.exe)して中間コードファイルを生成する</font></p>
<p><font face="Arial" size=
"1">②パッケージであらかじめ中間コードファイルになってるやつ</font></p>
<p><font face="Arial" size="1">「<font style=
"BACKGROUND-COLOR: #ffff99">Javaのバーチャルマシンは、実行時に必要中間コードファイルをrt.jarから解凍して取り出しているわけです。</font>」@ITより<br>
じゃあ自分で書いたソースをコンパイルしたときって②のクラスをくっつけたりしてないの?それはリンク?PL/1じゃコンパイルしてリンクしてってやってたよなあ。javaではそんなことしないのな。ダイナミックリンクライブラリ・・・なんだっけ。</font></p>
</blockquote>
<br>
<pre>
webを使ったDB操作画面に必要なものは?
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<ul>
<li><font face="Arial" size="1">検索と表示(select)<br></font></li>
<li><font face="Arial" size="1">追加(insert)<br></font></li>
<li><font face="Arial" size="1">更新(update)<br></font></li>
<li><font face="Arial" size=
"1">削除(delete):「削除」機能は表示画面または編集画面に含めてもよい</font></li>
</ul>
</blockquote>
<br>
<pre>
Strutsに必要なもの
</pre>
<blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
<p><font face="Arial" size=
"1">■Strutsを利用する上で必要になるファイルの説明</font></p>
<p><font face="Arial" size=
"1">WEB-INF*.tld Strutsのタグライブラリディスクリプタ。</font></p>
<p><font face="Arial" size=
"1">WEB-INFclassesApplicationResources.properties アプリケーションで使用するメッセージリソースファイル。</font></p>
<p><font face="Arial" size=
"1">WEB-INFstruts-confg.xml Strutsの設定ファイル。</font></p>
<p><font face="Arial" size=
"1">WEB-INFweb.xml WEBアプリケーションの設定ファイル。</font></p>
<br>
<p><font face="Arial" size=
"1">■ここで作成するファイル一覧</font></p>
<p><font face="Arial" size=
"1">sendMessage.jsp名前、メールアドレス、メッセージを入力して送信するページ。</font></p>
<p><font face="Arial" size=
"1">showMessage.jsp送られてきたデータを表示するページ。</font></p>
<p><font face="Arial" size=
"1">SendMessageForm.javaアクションフォームBean。sendMessage.jspファイルの中のフォームに対応するクラスです。validateメソッドに入力値のチェックを記述します。</font></p>
<p><font face="Arial" size=
"1">SendMessageAction.javaアクションクラス。sendMessage.jspファイルからのデータ送信の動作に対応するクラスです。performメソッドにビジネスロジックを記述します。</font></p>
</blockquote>
</blockquote>
表示オプション
横に並べて表示:
変化行の前後のみ表示: