プログラム

(秘)JavaServlet技法

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

全て表示する >

(秘)JavaServlet技法

2004/08/23

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

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  Servlet技法:第106回
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
今回は前回までの内容を踏まえて、
実際にサンプルを作ってみたいと思います。

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


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


では、まず下準備です。
以下のようにフォルダの階層を作ってみてください。

C:\javasrc
     |
      ̄rei
        |
        | ̄jsp            →フォルダは空でもよい
        |
         ̄WEB-INF         →以下で作成するweb.xmlはここに入れる
             |
              ̄classes    →クラスファイルはここに入れる


それでは以下のHTMLファイルをreiフォルダに保存してください。
ファイル名はpostServlet.htmlです。

<html><head>
<title>テスト</title>
</head><body>
<form action="servlet/PostServlet" method="post">
サーブレットに送信する文字列を入力してください。<br>
<input type="text"      name="param1" size="30"><br>
<br>
パスワードを入力してください<br>
<input type="password"  name="param2" size="30"><br>
<br>
言語を選択してください。<br>
<input type="radio" name="param3" value="English" checked>英語
<input type="radio" name="param3" value="Japanese" >日本語
<input type="radio" name="param3" value="China" >中国語<br>
<br>
試験科目を選択してください。<br>
<input type="checkbox" name="param4" value="英語" checked>英語
<input type="checkbox" name="param4" value="国語" >国語
<input type="checkbox" name="param4" value="数学" >数学<br>
<br>

<input type="submit" value="送信">
</form>
</body></html>


次にclassesフォルダに以下のjavaファイルを保存してください。
ファイル名はPostServlet.javaです。
ファイル名の大文字小文字の区別に気をつけてください。

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

public class PostServlet extends HttpServlet{

    public void doPost(HttpServletRequest req,HttpServletResponse res)
                    throws IOException,ServletException{
        res.setContentType("text/html; charset=shift_jis") ;
                            //シフトJIS

        //パラメータの取り込み
        //テキストボックス
        String p = req.getParameter("param1") ;     //パラメータを取得
        String text = new String(p.getBytes("iso-8859-1"), "JISAutoDetect") ;
                    // byte列をエンコードして新しい文字列を作る

        //パスワード
        p = req.getParameter("param2") ;            //パラメータを取得
        String pass = new String(p.getBytes("iso-8859-1"), "JISAutoDetect") ;
                    // byte列をエンコードして新しい文字列を作る

        //ラジオボタン
        p = req.getParameter("param3") ;             //パラメータを取得
        String lang = new String(p.getBytes("iso-8859-1"), "JISAutoDetect") ;
                    // byte列をエンコードして新しい文字列を作る

        //チェックボックス
        String kamoku[] = req.getParameterValues("param4") ;
                    // 選択されている全ての項目の値を取得
        for(int i = 0 ; i < kamoku.length ; i++){
            kamoku[i] = new String(kamoku[i].getBytes("iso-8859-1"), "JISAutoDetect") ;
        }

        //HTMLの生成と送信
        PrintWriter out = res.getWriter() ;         //道を作る
        out.println("<html><head>") ;               //HTMLの生成
        out.println("<title>エコーバック</title>");
        out.println("</head><body>") ;
        out.println("入力されたテキストは : "+text+"<br>") ;
        out.println("入力されたパスワードは : "+pass+"<br>") ;
        out.println("選択された言語は : "+lang+"<br>") ;
        out.println("選択された科目は :") ;
        for(int i = 0 ; i < kamoku.length ; i++){
            out.println(kamoku[i]+" ") ;
        }

            out.println("</body></html>") ;
    }
}


次にWEB-INFフォルダに以下のxmlファイルを保存してください。
ファイル名はweb.xmlです。

<?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>PostServlet</servlet-name>
        <servlet-class>PostServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>PostServlet</servlet-name>
        <url-pattern>/servlet/PostServlet</url-pattern>
    </servlet-mapping>

</web-app>


これで完成です!
できたサーブレットをコンパイルしてください。

次にTomcatを再起動してからブラウザを起動して
下記のURLを指定します。

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

結果はどうでしょうか。
ちゃんと表示されたでしょうか。

うまくいかない方はもう一度ソースを見直してみたり、
xmlファイルの設定を見直してみてくださいね。


                                                           モリモリ
----☆PR☆---------------------------------------------------------------
  オブジェクト指向を勉強したい!,Javaを勉強したい!
  メールマガジン『JavaScript&Javaで目指そう!基本情報技術者試験』
を購読してますか?  (無料)執筆は,宿題メールでおなじみの斎藤末広
  登録  http://www.mag2.com/m/0000066251.htm
  詳細  http://www.3721p.com/java/jmaga/
---------------------------------------------------------------☆PR☆---
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  コラム
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Jakarta Projectについては、既にご存知の方も多いとは思いますが、
オープンソースのWebサーバで有名なApache Software Foundationで
運営されているプロジェクトの1つで、SUN MicrosystemsがServlet/JSPの
リファレンスインプリメンテーションである
JSWDK(JavaServer Web DevelopmentKit)を
Apacheに寄付したのをきっかけに発足しました。
そして、このJSWDKをベースにTomcatの最初のバージョンが開発されました。

Jakartaプロジェクトの最初の提供プロダクトが
サーブレットコンテナのTomcatであることから分かるように、
Webアプリケーションの開発を支援するプロダクトは、
Jakartaプロジェクトの目玉といってよいでしょう。
サーブレットコンテナであるTomcatをはじめ、
Turbine/Strutsといった、MVCフレームワーク、
JSPを用いる際に機能を提供するTaglibsなど
様々な機能を提供しております。

*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  次回予告
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  □  Servlet技法:107回
  □  コラム
  □  次回予告
  □  編集後記
  □  編集長からのお知らせ
      次号は、8月30日発行予定です。乞うご期待!!
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
  編集後記
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
もうすぐ夏も終わりですね。
まだ夏休みの方もいらっしゃるでしょうが、
皆さんどんな夏休みを過ごされたのでしょうか。

私は今年は山に行ってきました。本当は海に行きたかったんだけど、
お盆後でクラゲだらけだからやめようって話になり・・・。
山はもう一足先に秋の気温でした。
薄着で行ったもんだから寒くて泣きそうでした。

                               モリモリ
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
              *  *  *  編集長からのお知らせ  *  *  *
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
◆━◇ 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!: - 点   

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

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

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

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

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