プログラム

(秘)JavaServlet技法

初心者から上級者まで。Java言語によるプログラミングの真髄をレクチャーします。Webシステム開発のエキスパート「株式会社 慶」が発行。

全て表示する >

(秘)JavaServlet技法

2004/09/06

******************************************************************************
_/_/_/_/_/_/_/_/_/_/_/_/_/  (秘)JavaServlet技法  _/_/_/_/_/_/_/_/_/_/_/_/
******************************************************************************
第108号  2004/09/06 発行現在の購読者数:4360
  ▼  Servlet技法:第108回
  ▼  コラム
  ▼  次回予告
  ▼  編集後記
  ▼  編集長からのお知らせ

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  Servlet技法:第108回
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
今回は前回までの応用編としてHTMLの一つのフォームの中に複数個の
ボタンがあり、どのボタンが押されたかによって異なる動作をさせて見ましょう。


↓前回までの記事はこちらから↓
http://www.kei-ha.co.jp/mag.html


↓ご意見・ご質問はこちら↓
mag@kei-ha.co.jp


◆ボタンによる処理の切り分け

一つのフォーム内に3つのsubmitボタンが配置してあるので、
どのボタンが押されてもdoPostメソッドが呼び出されます。
したがって、このメソッド内でどのボタンが押されたのかを調べ、
それぞれに対応する処理を行うことになります。



◆HTMLで画面の背景色を設定する

HTMLで画面の背景色を設定するには、<body>タグの中で
「bgcolor」に色を表す16進数の色コードを設定します。

■例■
<body bgcolor = "#色コード">



それでは実際に作ってみることにします。


◆最初はHTMLファイルです。ファイル名はpostServletButton.htmlです。
このファイルは前回作成したreiフォルダの中に保存します。

<html><head>
<title>POSTのテスト</title>
</head><body>
<form action = "servlet/PostServletButton" method = "post">
ボタンを押すと、その色の画面が出ます<br>
<input type = "submit" name = "red" value = "赤">
<input type = "submit" name = "green" value = "緑">
<input type = "submit" name = "yellow" value = "黄">
</form>
</body></html>


◆次はjavaファイルです。ファイル名はPostServletButton.javaです。
このファイルは前回作成したclassesフォルダの中に保存します。

import java.io.* ;
import javax.servlet.* ;
import javax.servlet.http.* ;

public class PostServletButton extends HttpServlet{

    public void doPost(HttpServletRequest req,HttpServletResponse res)
                    throws IOException,ServletException {
    res.setContentType("text/html ; charset=shift_jis") ;
                            //シフトJIS
    String colorCode = "" ;
    if(req.getParameter("red") != null) {           // 赤が押されたか?
        colorCode = "#FF0000" ;
    }
    else if(req.getParameter("green") != null) {    // 緑が押されたか?
        colorCode = "#008000" ;
    }
    else if(req.getParameter("yellow") != null) {   // 黄が押されたか?
        colorCode = "#FFFF00" ;
    }

    PrintWriter out = res.getWriter() ;            //道を作る
    out.println("<html><head>") ;                  //HTMLの生成
    out.println("<title>ボタン処理</title>") ;
    out.println("</body><body bgcolor = " + colorCode +">") ;
    out.println("</body></html>") ;
    }
}


◆最後にxmlファイルです。ファイル名はweb.xmlです。
このファイルは前回作成したWEB-INFフォルダの中に保存します。


<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

    <display-name>Servlet 2.4 Examples</display-name>
    <description>
        Servlet 2.4 Examples.
    </description>

    <!-- Define servlets that are included in the example application -->

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

</web-app>


それではできたサーブレットをコンパイルして実行してみましょう!
次にTomcatを起動して下記のURLを指定します。

http://localhost:8080/rei/PostServletButton.html

結果はどうでしょうか?ちゃんと動作したでしょうか?
うまくいかない方は指定したフォルダにちゃんとファイルが入っているか、
xmlやTomcatの設定をもう一度確認してみてくださいね。


                                                                モリモリ
----☆PR☆---------------------------------------------------------------
  オブジェクト指向を勉強したい!,Javaを勉強したい!
  メールマガジン『JavaScript&Javaで目指そう!基本情報技術者試験』
を購読してますか?  (無料)執筆は,宿題メールでおなじみの斎藤末広
  登録  http://www.mag2.com/m/0000066251.htm
  詳細  http://www.3721p.com/java/jmaga/
---------------------------------------------------------------☆PR☆---
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  コラム
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Javaの欠点

Javaで開発されたソフトウェアは基本的には
どのようなプラットフォームでも動作する。
Javaの汎用性の高さはJava最大の特長であり、
「Write Once, Run Anywhere(一度コードを書けばどんな環境でも動作する)」
というキャッチコピーで、その利便性が強く主張されています。

Javaの欠点としてプログラムをJavaバイトコードから
ネイティブコードに変換する際にある程度時間がかかるため、
通常のプログラミング言語で開発されたソフトウェアよりも
動作は遅くなってしまいます。
また、どのプラットフォームでも動作させるために、
どのプラットフォームでも実現できる、
いわば最大公約数的な機能しか使用できないため、
プラットフォーム固有の強力な機能を利用することはできません。

このような欠点を補うため、
特定のプラットフォームでしか動作しないがその分高速で、
プラットフォーム固有の強力な機能を利用できる
Java開発環境を提供しているメーカーもあります。

                                                               モリモリ
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  次回予告
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  □  Servlet技法:109回
  □  コラム
  □  次回予告
  □  編集後記
  □  編集長からのお知らせ
      次号は、9月13日発行予定です。乞うご期待!!
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  編集後記
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*

台風の影響か、このところ雨が振ったり止んだりと
落ち着かない天気が続きますね。

雨が降るときに出掛けると、いつも不思議に思うのが、
駐車場に停めた車から店先まで、或いは店先から車までの間が
一番の土砂降りだったりして、ずぶ濡れになる羽目に。
そして屋根の下に入ると雨は小降りになって。

世の中上手く行かないとつくづく思い知らされた週末でした。

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
              *  *  *  編集長からのお知らせ  *  *  *
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
◆━◇ PR ◇━◆
□■□-------------------------------------------------------------------
■◇■モバイルコマースなら「K-CODE」http://kcode.jp/kcode/index.html
□■□-------------------------------------------------------------------

  ┏━━━━━━━━━━━━┓
  ┃携帯メルマガサイト誕生!┃
  ┗━━━━━━━━━━━━┛
  ☆☆☆お気楽"無料"マガジンサイト『プッチマガ』☆☆☆
  登録も配信もラクラク♪3分でメルマガ配信できちゃう!

  ●●●今週のオススメ『プッチマガ』●●●
  真のSEに贈る、品質管理のノウハウ集
  【品質の番人】!これまで誰も書かなかった
  「システムの品質を実現する方法」を具体的に伝授します。
  登録はもちろん無料!毎週火曜日発行です。

  ↓メルマガ購読&登録はコチラ
  http://kcode.jp/pmag/index.html 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃あなたのソースを再チェック┃
  ┗━━━━━━━━━━━━━┛
  ☆KSCCでJava、HTML、SQL等々ソースコードを総チェック!☆
  ・性能劣化の原因となるロジックの自動検出機能
  ・プログラムのステップ数計測(Javaは実ステップ数も)
  etc。。他にも機能満載!↓無料お試し&ご注文はコチラ
  ☆近々バージョンアップ予定!☆
  http://kcode.jp/shop/ks 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━┓
  ┃ソフトウェア業界航海術┃
  ┗━━━━━━━━━━━┛
  ソフトウェア業界の本質をまとめました
  「皆に読ませちゃいました」(某中小ソフトウェア会社社長)
  「こういう視点で書かれた本は他にない。」(某フリーSE)
 「バイブル的存在の位置付けとし、業務に対する考え方(自覚)を、
  社員にも広めて行ければと考えております。」(某大手ソフトウェア会社課長)
   http://kcode.jp/shop/ks 提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━┓
  ┃航空ファン要チェック!!┃
  ┗━━━━━━━━━━━━┛
  ♪♪♪航空祭でも出店中!♪♪♪
  新作続々登場!ダイキャストモデルも完成しました!
  T-シャツからお子様用飛行服まで豊富な品揃え!
  一度遊びにきて下さいね♪
   http://kcode.jp/shop/bluemax 提供:BlueMax
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃   (秘)Linuxサーバ      ┃
  ┗━━━━━━━━━━━━━┛
  ☆☆新メールマガジン「(秘)Linuxサーバ」☆☆

    Linux初心者が「Linuxとは何なのか」というところから、
    どのようにしてLinuxサーバを構築していけば良いのか
    といったところまで幅広い分野を扱っていくメールマガジンです。
    Linuxに興味をお持ちの方は、ぜひご購読ください。

    ↓ご登録はこちらから↓
    http://www.kei-ha.co.jp/magmenu.html  提供:株式会社慶
-------------------------------------------------------------------------
  ┏━━━━━━━━━━━━━┓
  ┃  (秘)データベース構築術  ┃
  ┗━━━━━━━━━━━━━┛
  ☆☆新メールマガジン「(秘)データベース構築術」☆☆

「DBをやってみたいけど〜」と思っていた方、今回を機に登録してみてください。
気づいたらDBを構成できるようになっているはずです。

http://www.kei-ha.co.jp/magdb.html  提供:株式会社慶
-------------------------------------------------------------------------
∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞〜∞

                  このメールマガジンは、

                  まぐまぐ
                  http://www.mag2.com/

                  melma!
                  http://www.melma.com/

                  Macky
                  http://macky.nifty.com/index.htm

                  カプライト
                  http://kapu.biglobe.ne.jp/index.html

                  を利用して発行しています。

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
        「(秘)JavaServlet技法」は株式会社慶が発行しています。
                  http://www.kei-ha.co.jp/mag.html
             ご意見・ご質問等はこちら→mag@kei-ha.co.jp
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

規約に同意してこのメルマガに登録/解除する

メルマガ情報

創刊日:2001-10-02  
最終発行日:  
発行周期:毎週月曜発行  
Score!: - 点   

コメント一覧コメントを書く

この記事にコメントを書く

上の画像で表示されている文字を半角英数で入力してください。

※コメントの内容はこのページに公開されます。発行者さんだけが閲覧できるものではありません。 コメントの投稿時は投稿者規約への同意が必要です。

  • コメントはありません。