「ここにいます。リクエストに応じて、最初の Web サーバーの作成方法を説明します。」
「Web サーバーはオペレーティング システムのようなものです。それ自体に価値はありません。特別な Web プログラム (サーブレット) を実行できるため、価値があります。」
「ユーザーからのリクエストを処理するのはこれらのサーブレットです。」
「リクエストはどのように処理されるのでしょうか? Web サーバー内でプログラムを実行するにはどうすればよいですか?」
「独自のサーブレットを作成するには、クラスが HttpServlet クラスを継承する必要があります。次に、その doGet() メソッドと doPost() メソッドを実装します。ユーザーからリクエストが来ると、Web サーバーはサーブレット オブジェクトの 1 つを作成し、その doGet() を呼び出します。または、ブラウザからのリクエストの種類に応じて、 doPost() メソッドを呼び出します。
「しかし、私のプログラムはどのようにして Web サーバーに侵入するのでしょうか?」
「それは簡単です。プログラムを作成してコンパイルし、Tomcat をインストールしたディレクトリ内の特別なフォルダーにそれを置きます。」
「サーブレットは大きくて興味深いものですが、別個のトピックです。したがって、今日はそれについては説明しません。別のことについて少し説明します。」
「JSP は、非常に興味深い種類のサーブレットと呼ばれるものです。PHP に似ています。」
「JSP を使用して、可能な限り単純な Web プログラムを作成して実行してみましょう。」
「やってみましょう!準備はできています。」
「それでは始めましょう。」
ステップ 1: 新しい Web プロジェクトを作成する

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

"終わり。"
ステップ 3: project という名前を付けます

"終わり。"
「新しい空のプロジェクトが表示されるはずです。」
「ほとんど空です。index.jsp というファイルが 1 つ含まれています。それを見つけてください。」
ステップ 4: JSP ファイルを見つける

"それを見つけた。"
「素晴らしいです。ここにサーブレットのコードを記述できます。」
「しかし、最初に IntelliJ IDEA を少し設定しましょう。」
「IntelliJ IDEA から直接 Tomcat でサーブレットを実行できます。また、必要に応じてデバッグもできます。基本的に、これは非常に便利で素晴らしいものです。その時が来たら、きっと感謝するでしょう。」
「私はあなたを信じています。それで、次は何ですか?」
「Tomcat で Web モジュール (アプリケーション) を実行する方法を IntelliJ IDEA に「教えます」。」
ステップ 5: メニューで「設定の編集」を選択します。

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

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

赤でマークされている「名前」フィールドに構成の名前を指定します。
「Tomcat がサーブレットを起動するポートは緑色で示されます。」
「Tomcat がどこにあるかを IntelliJ IDEA に伝える必要もあります。[設定] ボタンをクリックしてください…」
ステップ 8: 実行構成を作成する

「次に、Tomcat が存在するフォルダーを選択する必要があります。」
ステップ 9: Tomcat の場所を指定する



"終わり。"
「次のようなものが得られるはずです。」
ステップ 10: 結果の構成

「次に、プロジェクトを Tomcat に接続する必要があります。」
やらなければならないことがたくさんあります。こんなに丁寧に教えてもらえるのはありがたいですね。」
「そうですよね!私は友達のために頑張ります。」
「修正ボタンを押すと、IDEA がすべてを自動的に実行します。」
ステップ 11: IDEA がプロジェクトと Tomcat を接続する

"終わり。"
「素晴らしいです。もう 1 つコメントします。ポート 8080 はおそらくすでに占有されています。結局のところ、Tomcat はインストール後すぐに実行を開始しました。」
「IntelliJ IDEA は実行中のプロジェクトにサーブレットを追加できますが、簡単にするために、現時点では毎回新しい Tomcat サーバーを起動します。」
「それでは、トムキャットを数台走らせることになるのですか?」
「はい。それぞれに独自のポートが必要です。それで、プロジェクト設定でポート 8080 をポート 8888 に変更しましょう。」
「フォーエイト。いいね」
ステップ 12: ポートを 8888 に変更します。

"終わり。"
「よかったです。設定は完了しました。」
「それで、次は何ですか?」
「それでは、index.jsp ファイルを少し変更しましょう。」
「そこに何か書いてください、たとえば『甲殻類に力を!』」
ステップ 13:index.jsp を変更する

「いえ、むしろ『ロボットにパワーを!』を書きたいです!」
「よかった。あとはやるべきことが少しだけ残っている。」
ステップ 14: サーブレットと Tomcat を実行する

「Tomcat ログとスタック トレースが表示されるはずです。ログにはエラーがないはずです。」
"このようなもの:"
ステップ 15 - Tomcat ログ

「同時に、IDEA はサーブレットへの URL を含むブラウザーを開きます。」
「次のようなものが得られるはずです。」
ステップ 16:index.jsp を変更する

「はい。それが私が得たものです。クールです!」
「そして、ブラウザに次の URL を入力します。」
http://localhost:8888/index.jsp |
"何も変わっていません。"
「そんなこと言わないでよ。」
ステップ 17:index.jsp を変更する

「これで、IntelliJ IDEA で見た Index.jsp ファイルがブラウザーに表示されます。」
「私が変えたのは?」
"はい。"
「ただし、ブラウザーのリクエストでドメインのみが指定され、リクエストの残りの部分が指定されていない場合は、デフォルトのハンドラーが呼び出されます。私たちの場合、これはindex.jspです。」
「 index.jsp、apple.jsp、google.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 に追加してみてください。」
<%@ 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 ページをいくつか書きます。」
「本当にありがとう、ビラーボ。」
「そして、友人よ、あなたに感謝します!」
GO TO FULL VERSION