※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

@ITってすごい

どうしてソコがわかるのか。

サーブレットを実行するってことを考える。

  • ブラウザからサーバ名+キーワードのurlをサブミットする。
  • WEBサーバが受取る。WEBコンテナもいるのだろう。
  • WEBコンテナのweb.xmlで動かしたいクラスが分かる。
  • そしてJVMで「動かす」。

最後の動かす場所はどこで決めてるの?パスとか指定したっけ?WEBサーバ件WEBコンテナのTomcatをインストールしたとき設定した覚えがない?
「HelloWorld.class」を実行するためにJavaのバーチャルマシンに指示する時は「Javaのコンパイラやバーチャルマシンが存在するディレクトリのパスをWindowsが見つけられるように環境変数を設定します」って言われてPathやらJAVA_HOMEやら設定した。だからコマプロからjavaってコマンド打ったらPathで指定したディレクトリにあるエグゼを実行してると分かる。
直接javaと書いて実行しないサーバーサイドな場合は、きっとTomcatが実行してくれているのだと思う。そのときどこというPathはどこに書いてあるのだろう?

(注)セットアップ時に確認されるJavaのインストールフォルダは、環境変数「JAVA_HOME」から取得されるものです。環境変数「JAVA_HOME」はJ2SEのインストール時に自動的に設定されます。もし、設定されていなかったり、本来のインストールフォルダと異なるパスが表示された場合にはセットアップを中断し、環境変数を設定してからセットアップを行って下さい。 基礎から学ぶサーブレット/JSP(3)
Tomcatインストールの手順にこんな記述が。「(Tomcatの)セットアップ時に確認されるJavaのインストールフォルダ」これはまさにどこのJava見てるのという疑問の答えかな。私はJAVA_HOME環境変数を手で設定したんだけど・・・ちゃんとJ2SEインストールしたら自動で設定される環境変数だったのか。そして、自動で設定されてる環境変数を前提にTomcatのセットアップ時にそのパス先をJVMとして紐付けしている。

これが答えで良いような気がする。とりあえず解決。

やっぱり難しい・・・(?・ɯ??`)ショボーン  
謎の言葉

実行エンジン(本連載ではTomcatを使用します)がJSPファイルを自動的にサーブレットへと変換し、コンパイルを行ったうえで実行までしてくれるのです


衝撃の真実 ?(゚Д゚;エーッ!  

Webコンテナへの指示を記述したweb.xmlファイル」ってあっさり書いてあるよ。web.xmlってTomcatのWebコンテナ機能への指示ファイルだったのか~。そーなのかー。初耳。・・・真剣にやばいっすね物知らず過ぎ。じゃあserver.xmlはきっとTomcatのサーバ機能への指示ファイルなんじゃないの。


JavaによるWebアプリケーションの開発に必要なコンポーネント 

@ITってすごいなあ。さっき参考にしてた「今から始めるJava第1回」ではJDK:Java2SDK,StandardEdition1.4.1(j2sdk-1_4_1-windows-i586.exe)というJava2SDKさんを開発実行環境に使って紹介してあった。

でも自分のことにあって使ってるのはjdk1.5.0_04。なんか違うよねと思っていた。すると、「Javaを利用したWebアプリケーションの開発」では以下の2つを使うと書いてある!( ゚д゚)ビンゴー

  • Java 2 SDK (JDK1.4.2など)
  • TomcatなどのWebコンテナ(Java対応のWebサーバ)

そうかそうかJDKでもwebアプリに使うのが<jdk1.5.0_04>なんだろーなあ。なんとなく納得。JDKてのは「じゃばでぃべろっぷめんときっと」だっけ開発キット(昆虫採集キットみたいななー)だよね。

サーブレットはWebコンテナと呼ばれるJava対応のWebサーバ上で動作するJavaアプリケーション」やっぱただのJavaではなかったのか。

サーブレットを使用してアプリケーションを作成するときは、Java言語でクライアントからの要求に応じたHTMLを動的に生成するクラス(サーブレットクラス)を作成し、TomcatなどのWebコンテナに配備します」そういやTomcatは基本的なWebサーバー機能を持った何とかで・・・と先輩が言っていたなあ。Webコンテナとして使いたいから持ってきていたのか。コンテナ・・・昔のカラオケボックスのような、アメリカ人がたまに住んでるキャンピングカーのようなスペース・・・イメージは湧くな。そこに積み込んで客がきたら出す物置?ま、いいや。

「サーブレットは、図2にあるように、Webコンテナにロードされ、実行されるJavaクラスです。」事前にロードされて待機してる・・ホストでオンラインやってたときあったな修正したらリロードコマンドMODMODCHANGE=・・・。なるほどねー。だからTomcat起動するとサーブレットが勝手に動き出しているのか。そんで勝手に致命的なエラー出しされるんだ。


Javaが動くって何よ工エエェェ(?д`)ェェエエ工

jdk1.5.0_04のbinにPathを通した。そこにjava.exeがいる。これが動いてなんかしてるの?rt.jar(run-timeの略と思われる)に中間コードとして格納されている基本クラス。このパッケージの存在意義かしら。ソースはsrc.zipに入ってるから見ることもできる。eclipsでソース添付ってここを指せばいいのかしら

①自分で書いたソース(*.java)をコンパイル(javac.exe)して中間コードファイルを生成する

②パッケージであらかじめ中間コードファイルになってるやつ

Javaのバーチャルマシンは、実行時に必要中間コードファイルをrt.jarから解凍して取り出しているわけです。」@ITより
じゃあ自分で書いたソースをコンパイルしたときって②のクラスをくっつけたりしてないの?それはリンク?PL/1じゃコンパイルしてリンクしてってやってたよなあ。javaではそんなことしないのな。ダイナミックリンクライブラリ・・・なんだっけ。


webを使ったDB操作画面に必要なものは?
  • 検索と表示(select)
  • 追加(insert)
  • 更新(update)
  • 削除(delete):「削除」機能は表示画面または編集画面に含めてもよい

Strutsに必要なもの

■Strutsを利用する上で必要になるファイルの説明

WEB-INF*.tld  Strutsのタグライブラリディスクリプタ。

WEB-INFclassesApplicationResources.properties アプリケーションで使用するメッセージリソースファイル。

WEB-INFstruts-confg.xml Strutsの設定ファイル。

WEB-INFweb.xml WEBアプリケーションの設定ファイル。


■ここで作成するファイル一覧

sendMessage.jsp名前、メールアドレス、メッセージを入力して送信するページ。

showMessage.jsp送られてきたデータを表示するページ。

SendMessageForm.javaアクションフォームBean。sendMessage.jspファイルの中のフォームに対応するクラスです。validateメソッドに入力値のチェックを記述します。

SendMessageAction.javaアクションクラス。sendMessage.jspファイルからのデータ送信の動作に対応するクラスです。performメソッドにビジネスロジックを記述します。