SSブログ

tomcatと仲良しになったかも [勉強]

最近tomcatと仲良くなりつつある しゃくれアゴです。
職業訓練で教科書3冊目「サーブレット/JSP」に入りましたよーん。
PCにtomcat入れたり、JavaやCでいうWorkフォルダみたいな感じで、apache-tomcat\webappsにentryフォルダを作成して、そこにサブフォルダとしてMETA-INFフォルダ、WEB-INFフォルダを作成。WEB-INFフォルダのサブフォルダとしてsrcフォルダとclassesフォルダを作成しました。

で、META-INFフォルダ内にcontext.xmlファイルを作成。
中身は・・・<Context reloadable="true"/>だけ。これはentryフォルダ内のソースをコンパイルしてできたクラスファイルやweb.xmlなどに変更が発生した際にtomcatをいちいちシャットダウン→スタートとバッチファイル実行しなくても、tomcatが自動でリロードしてくれる(オートリロード)設定みたいです。
訓練中だからreloadble="true"だけど、ホントは"false"がイイみたいです。

WEB-INFフォルダ内にweb.xmlファイルを作成。
サーブレットを作ったら、その都度web.xmlファイルに、サーブレットの名前やクラス名、URLのマッピングなどの設定を書き込みます。
あと、compile.batファイルを作成。
中身は・・・
@set CLASSPATH=E:\apache-tomcat\lib\servlet-api.jar
javac -sourcepath src -d classes src\%1

こんな感じで、tomcatのサーブレットAPIのパスをクラスパスとして指定して、その後、javacコマンドでコンパイルするコマンドです。
あとは、サーブレットをnotepad++とかサクラエディタでシコシコ書いて、保存場所はentryフォルダ→WEB-INFフォルダ→srcフォルダ。
コンパイルするときは、コマンドプロンプトでentry\WEB-INFをカレントディレクトリにした状態で、compile.batを通してソースファイルを指定します。

私の家のPC環境ですと・・・
E:\apache-tomcat\webapps\entry\WEB-INF> となっている状態で
compile サーブレット.java とコマンドを実行するとクラスファイルはWEB-INF\classes内に作成されます。

 

 

そうそう。
講師からWebの仕組みというか、サーブレットの動きについて説明をうけた際にホワイトボードに描かれた図をそのままUPしてみますね。

20100902_servlet.JPG

こんなイメージだそうです。
サーブレットをサーブレット名.javaで作成してWEB-INF\srcに保存して、compile.batを通してコンパイルして、web.xmlファイルに新たに作成したサーブレットの情報を書き込みます。

<web-app>

 <servlet>
  <servlet-name>HelloServlet</servlet-name>
  <servlet-class>HelloServlet</servlet-class>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>HelloServlet</servlet-name>
  <url-pattern>/HelloServlet</url-pattern>
 </servlet-mapping>

</web-app>

↑みたいな感じです。
HTMLみたいに<web-app>と</web-app>タグがあって、その内側に<servlet>と</servlet>タグを書いて、<servlet-name>サーブレット名</servlet-name>、<servlet-class>クラス名(たいがいサーブレット名と一緒だよね)</servlet-class>でサーブレットの情報を書き込みます。
<servlet-mapping>と</servlet-mapping>タグで、サーブレットをどのURLと関連付けるか(マッピングするか)を書いて、<servlet-name>サーブレット名</servlet-name>でサーブレット名を指定して、<url-pattern>/サーブレット名(たいていサーブレット名にしてます)</url-pattern>でURLにマッピングします。
ここに書いた/サーブレット名が・・・・・・

ブラウザで http://localhost:8080/entry/XXX ←のXXXの部分になります。
まずは簡単に、はじめてJavaで書いたソースみたいにブラウザ上にHelloを表示するサーブレットをつくって、正しく表示されることを確認したり。
普通のJavaソースを書いて、そのクラスに書かれているメソッドを利用するサーブレットを書いてみたり。あと、setContentでプレーンテキストで表示させたり、htmlとして表示させたり、文字コードを指定して日本語表示できるようにしたり。
今日は、課題として「星座占い」を表示させるサーブレットを作りました。
よくTVとかで見るような星座占いのように「○○座 金運☆☆ ラッキーカラー赤」みたいにするんですけどね。これをJavaソースとサーブレットに分けて処理をさせました。

どんな風に書いたかは・・・後々UPします。
あと、いろいろ手を加えて、ラッキーカラーと同じ色で表示させてみたり、金運だけでなく仕事運や恋愛運なども表示させてみたり、12星座全部表示させてみたり。
いろいろやりました。

サーブレットの授業に入ると、HTMLの知識が必要になってきますねぇ。
講師が教えてくれた参考Webサイトは・・・

とほほのWWW入門 です。


あと私個人で利用しているのはHTMLで使える色を調べるときに下記サイトを覗いてます。

HTML色見本 です。

ここだと、カラーコードだけではなくHTMLで指定できるカラーネームとか実際の色とかチェックできるので便利です。

 

 

もう、すっかりtomcatと仲良くなって、あいかわらずJava javaしてます。
さぁ、もうちょっとサーブレットの内容を進めていけば、JSPです。どんなことになるのかなぁ。
DB連携とか、いろいろ楽しみですねぇ。

 


nice!(0)  コメント(6)  トラックバック(0) 
共通テーマ:資格・学び

nice! 0

コメント 6

もきち

ふられ気分でRock'nRollじゃないんだね。
てかTough BoyがTOMCATなのが知らなかった。
by もきち (2010-09-03 01:42) 

しゃくれアゴ

>>もきち
そうなのよ。「ふられ気分でRock'n'Roll」じゃないのYO。
tomcatって、なんか雄猫?雌猫?大猫? なんかそんな感じの英語らしいよ。(あいまいだけど)

で、Tough Boyってなに?
TOMCATの曲って、「ふられ気分でRock'n'Roll」とアニメ版北斗の拳2のエンディング曲しか知らないんだけど・・・。(^-^;
やっぱり曲の名前?それとも、もしかして、メンバーの名前? 

by しゃくれアゴ (2010-09-03 22:57) 

もきち

オープニングやないか~~い!
(このツッコミだれだっけ?)
by もきち (2010-09-05 00:52) 

しゃくれアゴ

>>もきち
そっか、アニメ版北斗の拳2のオープニング曲だったか・・・
そのツッコミは、ヒゲ男爵じゃなかったっけ?
山田ルイ??世(貴族の方)は、スーパー戦隊シリーズ「天装戦隊ゴセイジャー」の博士役で出演してるYO。
by しゃくれアゴ (2010-09-05 16:44) 

akindo

ども、前回行き急ぎ過ぎて名前を書き忘れたakindoっす(^^ゞ

>とほほのWWW入門

うわー!めっちゃ懐かしいっすねぇ!大昔にだいぶお世話に
なりましたよぉー!その時でも王道でしたが、まだ君臨されて
いるんですね。
ま、関連する事もいっぱい書いてくれてるからなぁー。

java勉始められてから楽しそうですねぇー♪
Tomcatやapache、コンパイルなんて懐かしいのぉ・・・
ブログを拝見していると、オイラも学校を1年もお休み
してますが、再開してみようかという気になってきます。

しかし、さすがですねぇー!オイラはjava勉してたら鼻血だして
ルーラ使って逃げちゃうかも!?
by akindo (2010-09-22 16:44) 

しゃくれアゴ

>>akindoさん
とほほのWWW入門は、いまでもたまに参考にしてます。
初心者に分かりやすいというのと、逆引きリファレンスも役立ちますからね。物足りないなぁ~って感じたとき(あれ?とほほに載ってないってとき)は、別のもっと難しそうなHTML関連サイトを参考にしますけどね。

まだ日本ではPCがNECのPC-98とか88しかない頃からパソコンに携わっていたから、基本的に「無いモノは自分で作る」という考えがあったりするんです。
いまでは「無いモノはWebで検索して探せ」ですけどね。(^-^;
だから、C言語とかJavaとかでの開発は楽しいですね。
特に「こんなモノを作りたい」という目的とか目標はありませんが、いつの日か、made in しゃくれアゴなソフトが日の目を見るかも??

by しゃくれアゴ (2010-09-22 18:44) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。