Jakartaプロジェクトのサブプロジェクトとして開発されているオープンソースのソフトウェアで、Javaサーブレット・JSPを処理するアプリケーションサーバです。
Tomcatは単独でWebサーバとして動作できるそうだがApacheのプラグインと動作できるようになっており、実際にはプラグインとしての利用が主流となっているそうです。
apache(httpd)を再起動する
# /etc/rc.d/init.d/httpd restart
httpdを停止中: [ OK ]
httpd を起動中: [ OK ]
tomcatを起動する
# /etc/rc.d/init.d/tomcat start
tomcat を起動中: [ OK ]
|
『
OSの再起動を行なった時にtomcatを自動的に起動するように設定する』を行なった場合は、サービスの起動順番は「apache(httpd)」→「tomcat」となりますので、気にする必要はありません。
クライアントより[http://サーバのアドレス/examples/servlets/]でアクセスして下記の様な画面が表示されれば動作しています。

クライアントより[http://サーバのアドレス/examples/jsp/]でアクセスして下記の様な画面が表示されれば動作しています。

tomcatでは、基本的に「/usr/share/tomcat/webapps/」がドキュメントのルートになっています。
例えば、サーブレットのサンプルが"
examples"になっていました。[http://サーバのアドレス/
examples/servlets/]
これは、tomcatの設定ファイル「/usr/share/tomcat/conf/server.xml」で以下の様に定義されています。
/usr/share/tomcat/conf/server.xmlの内容
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0"
reloadable="true" crossContext="true">
|
サーブレットモジュールを作成し任意のアドレス(http://サーバのアドレス/
fedora/servlet/)でアクセス出来る様にする。
tomcat設定ファイルにアドレスを定義する
# vi /usr/share/tomcat/conf/server.xml
<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
<Context path="/fedora" docBase="fedora" reloadable="true" crossContext="true">
</Context>
<!-- Tomcat Examples Context -->
<Context path="/examples" docBase="examples" debug="0"
reloadable="true" crossContext="true">
servlet/以降へのアクセスはサーブレットとする
# vi /usr/share/tomcat/conf/web.xml
<!-- The mapping for the invoker servlet -->
<!--
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-->
↓↓↓↓↓
<!-- The mapping for the invoker servlet -->
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
アドレスのfedora/以降はtomcatに認識させる
# vi /etc/httpd/conf/workers2.properties
[uri:/examples/servlet/HelloW]
info=Example with debug enabled.
debug=10
[uri:/fedora/*]
パスを作成する
# mkdir /usr/share/tomcat/webapps/fedora/
# mkdir /usr/share/tomcat/webapps/fedora/WEB-INF/
# mkdir /usr/share/tomcat/webapps/fedora/WEB-INF/classes/
パスが長いのでカレントを移動
# cd /usr/share/tomcat/webapps/fedora/WEB-INF/classes/
サーブレットソースの作成
# vi TestServlet.java
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html; charset=EUC-JP");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Test Servlet</title>");
out.println("</head>");
out.println("<body>");
out.println("サーブレットのテスト");
out.println("</body>");
out.println("</html>");
out.close();
}
}
ソースのコンパイル
# javac TestServlet.java
|
クライアントより[http://サーバのアドレス/
fedora/servlet/TestServlet]でアクセスして"サーブレットのテスト"と表示されれば動作しています。
JSPを作成し任意のアドレス(http://サーバのアドレス/
fedora/jsp/)でアクセス出来る様にする。
パスを作成する
# mkdir /usr/share/tomcat/webapps/fedora/jsp/
パスが長いのでカレントを移動
# cd /usr/share/tomcat/webapps/fedora/jsp/
JSPソースの作成
# vi TestJSP.jsp
<%@ page contentType="text/html;charset=EUC-JP" %>
<html>
<head>
<title>Test JSP</title>
</head>
<body>
<p>
<%
String strJSP = "JSPのテスト";
out.println(strJSP);
%>
</p>
</body>
</html>
|
クライアントより[http://サーバのアドレス/
fedora/jsp/TestJSP.jsp]でアクセスして"JSPのテスト"と表示されれば動作しています。