0
0

More than 3 years have passed since last update.

【忘備録】Java : 設定ファイルの仕組みを学びながら簡易プロジェクトを作成。

Posted at

記事を通して分かること

・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をソース表示で開いて最後尾部分に下記のような記述があればサーバがプロジェクトを認識していることになる。

Servers/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ファイル内に下記コードをとりあえず記述

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, 下記コードをとりあえず記述

WEBINF/web.xml
<?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という名前でラッピングしている。

web.xml(抜粋)
<servlet-name>hello</servlet-name>
<servlet-class>パッケージ名.HelloWorld</servlet-class>
</servlet>

下記コードでさらにラッピングしたクラスファイル(ここではhello)は/servlet/helloにアクセスされた際に実行(doGet)されると定義

web.xml(抜粋2)
<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, 下記画面が出てれば成功

スクリーンショット 2020-08-26 1.26.24.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0