サンプル集  >  Java  >  サーブレットの基礎@
サーブレットの基礎@
2007/02/23

サーブレットでHTMLを生成します。 PrintWriter.printlnで、HTMLタグを直接出力しています。

◆環境
OS Windows 2000 Professional
J2SE 1.4.2.05
Tomcat 5.0.28

JAVA001.java
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
package ym.test.servlet;

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

/**
 * サーブレットの基礎@。<BR>
 * 2002/07/02 新規作成<BR>
 * @author ymlib.com
 * @version 1.0
 */

public class JAVA001 extends HttpServlet
{
    /**
     * service関数。<BR>
     * @param request HttpServletRequest<BR>
     * @param response HttpServletResponse<BR>
     * @throws javax.servlet.ServletException
     *                             サーブレットの処理で異常が発生
     *                             した場合
     * @throws java.io.IOException 入出力例外が発生した場合
     * @since 1.0
     */

    public void service( HttpServletRequest request
                       , HttpServletResponse response )
        throws ServletException
             , IOException
    {
        int i;

        PrintWriter out = null;

        // クライアントに送り返されるレスポンスの
        // コンテントタイプをセット
        response.setContentType( "text/html" );

        String title = "JAVA001";

        try
        {
            // 文字データをクライアントに送り返すのに使用する、
            // PrintWriterオブジェクトを取得
            out = response.getWriter();

            // HTMLの編集
            out.println( "<HTML><HEAD><TITLE>" );
            out.println( title );
            out.println( "</TITLE></HEAD><BODY>" );
            for ( i = 0; i < 10; i++ )
            {
                out.println( "JAVA001(" + i + ")<BR>" );
            }
            out.println( "</BODY></HTML>" );

            out.close();
        }
        catch( IOException ioe )
        {
            ioe.printStackTrace();
        }
    }
}

web.xml

WEB アプリケーションの設定を記述するファイルです。 web.xml は WEB アプリケーションの WEB-INF フォルダ直下に置きます。 この例では、「http://localhost:8888/P110/servlet/JAVA001」という URL にリクエストがあった場合、「ym.test.servlet.JAVA001」を呼び出すように設定しています。

web.xml
 1: 
 2: 
 3: 
 4: 

 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
<?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>

    <servlet>
        <servlet-name>JAVA001</servlet-name>
        <servlet-class>
          ym.test.servlet.JAVA001
        </servlet-class>
    </servlet>

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

</web-app>


環境設定のバッチファイルです。

env.bat
1: 
2: 
3: 
4: 

5: 
6: 
echo off
set JAVA_HOME=C:\j2sdk1.4.2_05
set C=.
set C=%C%;C:\Program Files\Apache Software Foundation\Tomcat 5.0
\common\lib\servlet-api.jar
echo on
set CLASSPATH=%C%

コンパイルのバッチファイルです。

jc.bat
1: 
2: 
rmdir ym /S /Q
javac -d ./ ./*.java

javadoc 生成用のバッチファイルです。

jd.bat
1: 
2: 
rmdir P110Doc /S /Q
javadoc -d P110Doc -author -version -private .\*.java

フォルダ構成

コンパイルしたclassファイルを配備します。 まず、「Tomcatのフォルダ/webapps」配下に「P110/WEB-INF/classes」というフォルダを作成します。 そして、配備したいクラスファイルをコピーします。


※パッケージ付きの場合、フォルダ階層ごとコピーします。

Tomact の起動と起動確認

「Tomcatのフォルダ/bin」配下にある、「startup.bat」を実行することにより、Tomcatを起動します。 起動完了後、ブラウザを開き「http://localhost:8888/」へ移動します。 以下のページが表示されれば起動成功です。


※ポート番号のデフォルトは「8080」ですが、「8888」へ変更しています。 「Tomcatのフォルダ/conf」配下にある、「server.xml」を修正することにより、ポート番号を変更できます。

変更前:<Connector port="8080" ・・・
変更後:<Connector port="8888" ・・・

Tomact の停止

「Tomcatのフォルダ/bin」配下にある、「shutdown.bat」を実行することにより、Tomcat を停止します。

実行結果

ブラウザを起動し、「http://localhost:8888/P110/servlet/JAVA001」へ移動します。

war ファイルの作成

webapps/P110 へフォルダを移動します。
>jar -cvf P110.war *
マニフェストが追加されました。
WEB-INF/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/ym/ を追加中です。(入 = 0) (出 = 0)(0% 格納されました)
WEB-INF/classes/ym/test/ を追加中です。(入 = 0) (出 = 0)(0% 格納され
ました)
WEB-INF/classes/ym/test/servlet/ を追加中です。(入 = 0) (出 = 0)(0% 格
納されました)
WEB-INF/classes/ym/test/servlet/JAVA001.class を追加中です。(入 = 1160
) (出 = 683)(41% 収縮されました)
WEB-INF/web.xml を追加中です。(入 = 529) (出 = 263)(50% 収縮されました
)

作成した war ファイルを webapps 配下に置いて Tomcat を起動するだけで WEB アプリケーションを利用できます。

▲ PageTop  ■ Home


Copyright (C) 2012 ymlib.com