TomcatでのServlet実行環境構築方法
TomcatでのServlet実行環境構築方法
「Servlet」とは、Java言語で記述されたWebサーバーで動作するCGIのような位置づけです。サーバー上で動作するプログラムです。それを実行できるServletサーバーとして「Tomcat」というものが存在しています。
実行に必要なものは、Javaアプリケーション・アプレットの開発キットであるJava2SDK(J2SE1.4.x)、Servletサーバー「Tomcat 4.1.x」です。それぞれをまずインストールしてください。Java開発環境 J2SE1.4.xもインストールしておいてください。
- Tomcatのダウンロードサイト
- http://jakarta.apache.org/tomcat/index.html
- Java関連のダウンロードサイト
- http://java.sun.com/
Tomcatで実行用フォルダを作る
Tomcatをインストールしたディレクトリは、以下のような構成になっています。
[Tomcat 4.1] +[bin] +[common] ... +[webapps] +[examples] +[ROOT] +[tomcat-docs] +[webdav]
例えば、「http://localhost:8080/examples/servlet/HelloWorldExample」のようにサーブレットをWebブラウザから実行する場合は、実際のサーブレットのclassファイルは、「Tomcat 4.1\webapps\examples\WEB-INF\classes\HelloWorldExample.class」に存在することになります。
ここで、実行用のディレクトリを「mydir」として、この中に自分が作ったサーブレットプログラムを収める、とします。ディレクトリは、以下のように作成する必要があります。
[Tomcat 4.1] ... +[webapps] +[examples] +[ROOT] +[tomcat-docs] +[webdav] +[mydir] +[WEB-INF] +[classes]
このとき、「mydir」のディレクトリ内に、「WEB-INF」ディレクトリ(大文字英字で)を作成します。さらにその中に「classes」ディレクトリを作成します。この「classes」の中にコンパイル後のサーブレットのclassファイルを置くようにしてください。次に、「このディレクトリを追加した」ということを知らせるための1つのファイルの修正と、1つのファイルの追加が必要になります。
server.xmlの編集
「Tomcat 4.1\conf」内の「server.xml」に対し、「mydir」が追加された、という情報を加えます。「<Context path="/examples" docBase="examples"」の行を探して、これと同列の並びで以下の内容を加えます。
<Context path="/mydir" docBase="mydir" debug="0" reloadable="true" crossContext="true" trusted="false"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_mydir_log." suffix=".txt" timestamp="true"/> </Context>
この場合、サーブレット実行などのときにエラーがあった場合「Tomcat 4.1\logs\localhost_mydir_log.日付.txt」のファイルに ログ情報が吐き出されることになります。以上を加えて、「server.xml」を保存します。
web.xmlの追加
作成したディレクトリ「mydir」内の、「mydir\WEB-INF」内に「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>mydir set</display-name> <description> mydir servlets and JSP pages. </description> <!-- デフォルトのサーブレットマッピング --> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> </web-app>
これで、「mydir」内の「WEB-INF\classes」にサーブレットのclassファイルを放り込むと、 すべてサーブレットとして認識されるようになります。
上記の設定を行った後、一度Tomcatのサービスを再起動してください。次は、サーブレットファイルの作成方法に入ります。
Servletファイルの作成方法
まず、Javaアプリの基本的なことですが、 Java(J2SE)をインストールしたディレクトリの[bin]にPATHを通しておいてください。後は、Tomcatとインストールしたディレクトリに「Tomcat 4.1\common\lib\servlet.jar」があることを確認してください。
「MyServlet.java」というファイルを作ります。
import java.io.*; import java.text.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html; charset=SHIFT_JIS"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Hello World!!</title>"); out.println("</head>"); out.println("<body bgcolor=\"white\">"); out.println("Hello World!!<br>"); out.println("</body></html>"); out.close(); } }
これは、ただ単にWebブラウザで「Hello World!」と表示させるだけのサンプルです。コンパイルは、「servlet.jar」をCLASSPATHに加えるようにして DOSプロンプトにて以下のように行います。
javac -classpath "D:\WinApp\Apache Group\Tomcat 4.1\common\lib\servlet.jar" MyServlet.java
これで、エラーなくコンパイルが完了すると「MyServlet.class」が生成されているはずです。これを、Tomcatの「Tomcat 4.1\webapps\mydir\WEB-INF\classes」に放り込んでください。
後は、Tomcatの起動を確認して、Webブラウザにて「http://localhost:8080/mydir/servlet/MyServlet」と指定すると、サーブレットが実行されることになります。
Tomcat Webアプリケーションマネージャ
「http://localhost:8080/index.jsp」より開くページにて、「Tomcat Manager」を選択してください。ユーザー名「admin」・パスワード未記入(デフォルト)にて、管理ページにアクセスできます。もし、サーブレットが起動しないという場合は、「mydir」がここで実行中かどうか確認してみてください。falseの場合は、ログファイルにエラー情報が出ているはずです。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.