Tomcatの即席実行環境を用意する
Linuxサーバ上でApache+Tomcatを使用したテスト環境を用意する必要がある場合向けの即席環境手順。
簡易的にApache+Tomcat環境の調査するなどで利用できる。
インストール手順
- パッケージをインストールする
yum install httpd tomcat java-1.8.0-openjdk-devel -y
- Apacheの設定ファイルを編集する
vi /etc/httpd/conf/httpd.conf
変更内容。以下を追記する。ProxyPass /test/ ajp://127.0.0.1:8009/test/
- Tomcatでアクセスログのバッファを無効にする
sed 's/suffix=".txt"/suffix=".txt" buffered="false"/' -i /etc/tomcat/server.xml
- サーブレット用のディレクトリを作成する
cd /var/lib/tomcat/webapps
mkdir test test/WEB-INF test/WEB-INF/classes test/WEB-INF/lib - サーブレットの設定を行う
vi /var/lib/tomcat/webapps/test/WEB-INF/web.xml
以下を張り付ける<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1"
metadata-complete="true">
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet1</servlet-name>
<url-pattern>/servlet1</url-pattern>
</servlet-mapping>
</web-app> - サーブレットを作成する
cd test/WEB-INF/classes
以下を張り付ける
vi Test.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException {
PrintWriter out = res.getWriter();
out.println("Test");
out.close();
}
} - コンパイルする
javac -classpath /usr/share/java/tomcat-servlet-api.jar Test.java
- サービスを起動する
systemctl start httpd
systemctl start tomcat - アクセス確認を行う
curl http://localhost/test/servlet1
変更手順
サーブレットを変更する場合は次を実施する
- サーブレットを変更する
vi /var/lib/tomcat/webapps/test/WEB-INF/classes/Test.java
- 再読み込みする
javac -classpath /usr/share/java/tomcat-servlet-api.jar Test.java
systemctl restart tomcat - アクセス確認を行う
curl http://localhost/test/servlet1