記事を通して分かること
・eclipseを使用した簡易プロジェクトの作り方
・サーバーの立て方
・web.xmlファイルの中身
前提
・eclipseがインストールされていること
・apache tomcat9 がインストールされていること
・Java : 1.8
・OS : Mac
サーバーの立て方
1, eclipse起動
2, サーバを立てる
2-1, 「使用可能なサーバがありません...
」をクリック
2-2, 「Tomcat v9.0 サーバー
」をクリック
2-3, 完了をクリック
3, 動的プロジェクトの作成
3-1, ファイル→新規→動的プロジェクト
の順にクリック
3-2, プロジェクト名
を記入(今回は適当に「tomcat_test」)
(注意)「ターゲット・ランタイム」欄は立てたサーバのバージョンに合わせる。
3-3, 完了をクリック
4, 立てたサーバにプロジェクトを追加
4-1, 立てたサーバを右クリック
4-2, 追加および除去
をクリック
4-3, 使用可能欄に存在するプロジェクト
を選択
4-4, 追加
をクリック→完了
5, 以上の設定を確認
5-1, サーバを立てるとパッケージ・エクスプローラ
にServers
ディレクトリが生成される
5-2, 配下のserver.xml
をソース表示で開いて最後尾部分に下記のような記述があればサーバがプロジェクトを認識していることになる。
<Context docBase="プロジェクト名" path="/プロジェクト名" reloadable="false" source="org.eclipse.jst.jee.server:プロジェクト名"/></Host>
6, packageとclassファイルを作成
6-1, プロジェクトを右クリック→新規→クラスの順にクリック
6-2, パッケージ名がデフォルトで入っているので
削除して作成したいパッケージ名を記入。
6-3, 名前欄にクラス名を記入(今回は「HelloWorld
」)→完了をクリック
6-4, 作成したHelloWorld.java
ファイル内に下記コードをとりあえず
記述
mport java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}
7, クラスファイルを実行するためのルーティング設定
7-1, WebContent配下のWEB-INF
を右クリック→ 新規→ファイルの順にクリック
7-2, ファイル名に「web.xml
」と記入し作成→完了
7-3, 下記コードをとりあえず
記述
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>パッケージ名.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>
hello
</servlet-name>
<url-pattern>
/servlet/helloWorld
</url-pattern>
</servlet-mapping>
</web-app>
解説
下記コードで今回作成したHelloWorld.java
をコンパイルしたクラスファイルをhello
という名前でラッピングしている。
<servlet-name>hello</servlet-name>
<servlet-class>パッケージ名.HelloWorld</servlet-class>
</servlet>
下記コードでさらにラッピングしたクラスファイル(ここではhello
)は/servlet/hello
にアクセスされた際に実行(doGet)されると定義
<servlet-mapping>
<servlet-name>
hello
</servlet-name>
<url-pattern>
/servlet/helloWorld
</url-pattern>
</servlet-mapping>
8, 起動して確認
8-1, http://localhost:8080/tomcat_test/servlet/helloWorld
にアクセス
8-2, 下記画面が出てれば成功