サーバーサイドJava 3 [サーブレット]カレンダー、九九の表の作成

最終更新:2006/05/03

トップページへ戻る
前へ 次へ
●カレンダーを表示するサンプルプログラムを作成する

    1. 入力するコード

import java.io.*;
import java.util.*;
import java.text.DateFormat;
import javax.servlet.*;
import javax.servlet.http.*;

public class CalendarServlet extends HttpServlet {

    // doGet()メソッドをオーバーライド
    public void doGet(HttpServletRequest hreq,
                      HttpServletResponse hres)
           throws ServletException, IOException {

        int i;

        // 現在の年月日を取得

        Calendar calendar = Calendar.getInstance();
        int cYear = calendar.get(Calendar.YEAR);
        int cMonth = calendar.get(Calendar.MONTH);
        int cDay = calendar.get(Calendar.DATE);
        int monthDays = calendar.getActualMaximum(Calendar.DATE);
        calendar.set(cYear, cMonth, 1);
        int dow = calendar.get(Calendar.DAY_OF_WEEK) - 1;

        hres.setContentType("text/html;charset=Windows-31J");
        PrintWriter out = hres.getWriter();

        // 現在のカレンダーを出力

        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
        out.println("<title>カレンダー</title>");
        out.println("</head>");
        out.println("<body><table border>");
        out.println("<caption>" + cYear + "年" + (cMonth + 1) + "月</caption>");
        out.println("<tr>");
        out.println("<th>日</th><th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th>");
        out.println("</tr>");
        out.println("<tr>");

        // 月の最初の日までの空白のセルを出力
        for ( i = 1; i <= dow; i++ ) {
            out.println("<td>&nbsp;</td>");
        }

        // 月の最初の日から最後の日まで出力
        for ( i = 1; i <= monthDays; i++ ) {
            // 週の終わりなら次の週に移る
            if ( dow == 7 ) {
                dow = 0;
                out.println("</tr>");
                out.println("<tr>");
            }

            // 今日なら背景の色を変える
            if ( i == cDay ) {
                out.println("<td bgcolor=\"lime\">" + i + "</td>");
            } else {
                out.println("<td>" + i + "</td>");
            }
            ++dow;
        }

        // 月の最後の日からその週の終わりまでの空白のセルを出力
        for ( i = dow + 1; i <= 7; i++ ) {
            out.println("<td>&nbsp;</td>");
        }
        out.println("</tr>");
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
    }

    // doPost()メソッドをオーバーライド
    public void doPost(HttpServletRequest hreq,
                       HttpServletResponse hres)
           throws ServletException, IOException {
        doGet(hreq, hres);
    }
}

    2. ファイル名は必ず「CalendarServlet.java」で保存してください。


    3. コンパイル


        コマンドプロンプトを起動し、下記のコマンドを実行してください。
 > javac CalendarServlet.java
      ※エラーが表示されなければ、コンパイルは成功です。

    4. クラスファイルの配置

        「CalendarServlet.class」ファイルを
        「C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\javasample\WEB-INF\classes」
         フォルダにコピーしてください。

    5. Webアプリケーションの構成を定義(web.xml)

        「C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\javasample\WEB-INF」にある
        「web.xml」に下記の記述を追加してください。
    <servlet>
        <servlet-name>CalendarServlet</servlet-name>
        <servlet-class>CalendarServlet</servlet-class>
    </servlet>

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

    6. 実行方法

      ・「Tomcat」の再起動
         タスクトレイにある「Monitor Tomcat」を選択し、「Stop service」実行後に「Start service」を実行してください。
      ・「Apache」の再起動
         タスクトレイにある「Monitor Apache Servers」を起動し、「Restart」ボタンをクリックしてください。
      ・ ブラウザを起動し、「http://localhost/javasample/CalendarServlet」を入力してください。
         問題なければ、ブラウザに現在のカレンダーが表示されるはずです。

●九九の表を表示するサンプルプログラムを作成する

    1. 入力するコード

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

public class Kuku extends HttpServlet {

    // doGet()メソッドをオーバーライド
    public void doGet(HttpServletRequest hreq,
                      HttpServletResponse hres)
           throws ServletException, IOException {

        hres.setContentType("text/html;charset=Windows-31J");
        PrintWriter out = hres.getWriter();

        // 九九の表を出力

        out.println("<html>");
        out.println("<head>");
        out.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">");
        out.println("<title>九九の表</title>");
        out.println("</head>");
        out.println("<body><table border>");
        out.println("<caption>九九の表</caption>");
        out.println("<tr>");
        out.println("<td><strong>&nbsp;</strong></td>");
        out.println("<td align=\"center\"><strong>1</strong></td>");
        out.println("<td align=\"center\"><strong>2</strong></td>");
        out.println("<td align=\"center\"><strong>3</strong></td>");
        out.println("<td align=\"center\"><strong>4</strong></td>");
        out.println("<td align=\"center\"><strong>5</strong></td>");
        out.println("<td align=\"center\"><strong>6</strong></td>");
        out.println("<td align=\"center\"><strong>7</strong></td>");
        out.println("<td align=\"center\"><strong>8</strong></td>");
        out.println("<td align=\"center\"><strong>9</strong></td>");
        out.println("</tr>");
        int keisan = 0;
        for ( int i = 1; i <= 9; i++ ) {
            out.println("<tr>");
            out.println("<td><strong>" + i + "</strong></td>");
            for ( int j = 1; j <= 9; j++ ) {
                keisan = i * j;
                out.println("<td align=\"center\">" + keisan + "</td>");
            }
            out.println("</tr>");
        }

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

    // doPost()メソッドをオーバーライド
    public void doPost(HttpServletRequest hreq,
                       HttpServletResponse hres)
           throws ServletException, IOException {
        doGet(hreq, hres);
    }
}

    2. ファイル名は必ず「Kuku.java」で保存してください。


    3. コンパイル


        コマンドプロンプトを起動し、下記のコマンドを実行してください。
 > javac Kuku.java
      ※エラーが表示されなければ、コンパイルは成功です。

    4. クラスファイルの配置

        「Kuku.class」ファイルを
        「C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\javasample\WEB-INF\classes」
         フォルダにコピーしてください。

    5. Webアプリケーションの構成を定義(web.xml)

        「C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\javasample\WEB-INF」にある
        「web.xml」に下記の記述を追加してください。
    <servlet>
        <servlet-name>Kuku</servlet-name>
        <servlet-class>Kuku</servlet-class>
    </servlet>

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

    6. 実行方法

      ・「Tomcat」の再起動
         タスクトレイにある「Monitor Tomcat」を選択し、「Stop service」実行後に「Start service」を実行してください。
      ・「Apache」の再起動
         タスクトレイにある「Monitor Apache Servers」を起動し、「Restart」ボタンをクリックしてください。
      ・ ブラウザを起動し、「http://localhost/javasample/Kuku」を入力してください。
         問題なければ、ブラウザに九九の表が表示されるはずです。
トップページへ戻る
前へ 次へ
Copyright© 2005- Naoyuki Sano. All rights reserved.