「ここにいます。リクエストに応じて、最初の Web サーバーの作成方法を説明します。」

「Web サーバーはオペレーティング システムのようなものです。それ自体に価値はありません。特別な Web プログラム (サーブレット) を実行できるため、価値があります。

「ユーザーからのリクエストを処理するのはこれらのサーブレットです。」

「リクエストはどのように処理されるのでしょうか? Web サーバー内でプログラムを実行するにはどうすればよいですか?」

「独自のサーブレットを作成するには、クラスが HttpServlet クラスを継承する必要があります。次に、その doGet() メソッドと doPost() メソッドを実装します。ユーザーからリクエストが来ると、Web サーバーはサーブレット オブジェクトの 1 つを作成し、その doGet() を呼び出します。または、ブラウザからのリクエストの種類に応じて、 doPost() メソッドを呼び出します。

「しかし、私のプログラムはどのようにして Web サーバーに侵入するのでしょうか?」

「それは簡単です。プログラムを作成してコンパイルし、Tomcat をインストールしたディレクトリ内の特別なフォルダーにそれを置きます。」

「サーブレットは大きくて興味深いものですが、別個のトピックです。したがって、今日はそれについては説明しません。別のことについて少し説明します。」

「JSP は、非常に興味深い種類のサーブレットと呼ばれるものです。PHP に似ています。」

「JSP を使用して、可能な限り単純な Web プログラムを作成して実行してみましょう。」

「やってみましょう!準備はできています。」

「それでは始めましょう。」

ステップ 1: 新しい Web プロジェクトを作成する

単純な Web アプリケーションを実行する - 1

"終わり。"

ステップ 2: モジュール タイプを Java モジュールに設定します。アプリケーションの種類を「Web アプリケーション」に設定し、JDK を指定します。

単純な Web アプリケーションを実行する - 2

"終わり。"

ステップ 3: project という名前を付けます

単純な Web アプリケーションを実行する - 3

"終わり。"

「新しい空のプロジェクトが表示されるはずです。」

「ほとんど空です。index.jsp というファイルが 1 つ含まれています。それを見つけてください。」

ステップ 4: JSP ファイルを見つける

単純な Web アプリケーションを実行する - 4

"それを見つけた。"

「素晴らしいです。ここにサーブレットのコードを記述できます。」

「しかし、最初に IntelliJ IDEA を少し設定しましょう。」

「IntelliJ IDEA から直接 Tomcat でサーブレットを実行できます。また、必要に応じてデバッグもできます。基本的に、これは非常に便利で素晴らしいものです。その時が来たら、きっと感謝するでしょう。」

「私はあなたを信じています。それで、次は何ですか?」

「Tomcat で Web モジュール (アプリケーション) を実行する方法を IntelliJ IDEA に「教えます」。」

ステップ 5: メニューで「設定の編集」を選択します。

単純な Web アプリケーションを実行する - 5

"終わり。"

ステップ 6: プラス記号をクリックして新しい構成を作成する

単純な Web アプリケーションを実行する - 6

"終わり。"

ステップ 7: 何を実行するかを指定します (Tomcat サーバー、ローカル)

単純な Web アプリケーションを実行する - 7

赤でマークされている「名前」フィールドに構成の名前を指定します。

「Tomcat がサーブレットを起動するポートは緑色で示されます。」

「Tomcat がどこにあるかを IntelliJ IDEA に伝える必要もあります。[設定] ボタンをクリックしてください…」

ステップ 8: 実行構成を作成する

単純な Web アプリケーションを実行する - 8

「次に、Tomcat が存在するフォルダーを選択する必要があります。」

ステップ 9: Tomcat の場所を指定する

単純な Web アプリケーションを実行する - 9 単純な Web アプリケーションを実行する - 10 単純な Web アプリケーションを実行する - 11

"終わり。"

「次のようなものが得られるはずです。」

ステップ 10: 結果の構成

単純な Web アプリケーションを実行する - 12

「次に、プロジェクトを Tomcat に接続する必要があります。」

やらなければならないことがたくさんあります。こんなに丁寧に教えてもらえるのはありがたいですね。」

「そうですよね!私は友達のために頑張ります。」

「修正ボタンを押すと、IDEA がすべてを自動的に実行します。」

ステップ 11: IDEA がプロジェクトと Tomcat を接続する

単純な Web アプリケーションを実行する - 13

"終わり。"

「素晴らしいです。もう 1 つコメントします。ポート 8080 はおそらくすでに占有されています。結局のところ、Tomcat はインストール後すぐに実行を開始しました。」

「IntelliJ IDEA は実行中のプロジェクトにサーブレットを追加できますが、簡単にするために、現時点では毎回新しい Tomcat サーバーを起動します。」

「それでは、トムキャットを数台走らせることになるのですか?」

「はい。それぞれに独自のポートが必要です。それで、プロジェクト設定でポート 8080 をポート 8888 に変更しましょう。」

「フォーエイト。いいね」

ステップ 12: ポートを 8888 に変更します。

単純な Web アプリケーションを実行する - 14

"終わり。"

「よかったです。設定は完了しました。」

「それで、次は何ですか?」

「それでは、index.jsp ファイルを少し変更しましょう。」

「そこに何か書いてください、たとえば『甲殻類に力を!』」

ステップ 13:index.jsp を変更する

単純な Web アプリケーションを実行する - 15

「いえ、むしろ『ロボットにパワーを!』を書きたいです!」

「よかった。あとはやるべきことが少しだけ残っている。」

ステップ 14: サーブレットと Tomcat を実行する

単純な Web アプリケーションを実行する - 16

「Tomcat ログとスタック トレースが表示されるはずです。ログにはエラーがないはずです。」

"このようなもの:"

ステップ 15 - Tomcat ログ

単純な Web アプリケーションを実行する - 17

「同時に、IDEA はサーブレットへの URL を含むブラウザーを開きます。」

「次のようなものが得られるはずです。」

ステップ 16:index.jsp を変更する

単純な Web アプリケーションを実行する - 18

「はい。それが私が得たものです。クールです!」

「そして、ブラウザに次の URL を入力します。」

http://localhost:8888/index.jsp

"何も変わっていません。"

「そんなこと言わないでよ。」

ステップ 17:index.jsp を変更する

単純な Web アプリケーションを実行する - 19

「これで、IntelliJ IDEA で見た Index.jsp ファイルがブラウザーに表示されます。」

「私が変えたのは?」

"はい。"

「ただし、ブラウザーのリクエストでドメインのみが指定され、リクエストの残りの部分が指定されていない場合は、デフォルトのハンドラーが呼び出されます。私たちの場合、これはindex.jspです。」

「 index.jspapple.jspgoogle.jsp という3 つのファイルがあるとします。これがどのように機能するかです。」

リクエスト 応答
http://ローカルホスト:8888 インデックス.jsp
http://ローカルホスト:8888/ インデックス.jsp
http://localhost:8888/index.jsp インデックス.jsp
http://localhost:8888/apple.jsp apple.jsp
http://localhost:8888/ samsung.jsp エラー メッセージ: サーブレットが見つかりません
http://localhost:8888/google.jsp google.jsp
http://localhost:8888/インデックス エラー メッセージ: サーブレットが見つかりません

"という事は承知しています。"

「ビラーボ、あなたは長い間、JSP が素晴らしいと言い続けてきました。しかし、JSP は通常の HTML ページと非常によく似ています。すべてがまったく同じです。」

「すべてではありません。次のテキストを JSP に追加してみてください。」

JSPコード
<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<html>
<head>
<title>Amigo says hi</title>
</head>
<body>
<%--This is still HTML--%>
<%
// But I can write Java code here

String s = "Power to robots!";
for(int i=0; i<10; i++)
{
 out.println(s);
 out.println("<br>");
}

%>
<%--and this is HTML again--%>
</body>
</html>

「JSP ページ内に Java コードを埋め込むと、実行されます。

「JSP ページ内の Java コードはスクリプトレットと呼ばれ、<% および %> タグで囲まれます。」

"うわあ。"

「わかりました。独自の JSP ページをいくつか書きます。」

「本当にありがとう、ビラーボ。」

「そして、友人よ、あなたに感謝します!」