JSPとサーブレットの環境構築からHello Worldまで

今回は、eclipseを用いて、JSPとサーブレットの環境構築から、簡単な文字列を画面に表示させるまでをやってみました。

きっかけは、今までもJSPやtomcatを業務で使ったことはあったのですが、いざ自分で環境構築からtomcatを動かして、画面に表示させるまで・・をあまりやったことがなかったので、その備忘録をまとめてみたいと思ったことになります。

まず、こちらの記事を参考に、eclipseで動的webプロジェクトを作ります(eclipse JSPなどでググってみてください)。

で、その後、tomcatサーバーに紐づけて、プロジェクトを動かすのですが、今回は備忘録になるので、私がつまづいた箇所を説明していきます。

  • プロジェクトがtomcatサーバーで起動できない

tomcatのバージョンが原因
プロジェクト作成時のターゲットランタイムに合ったサーバー上へ、プロジェクトを追加する
また、tomcatインストールディレクトリも適切に設定する(上記のバージョンに合わせる)

  • サーブレットクラス上でエラーが出る

パッケージは複数のモジュールからアクセス可能です
というエラーについて・・・

クラスパスのサーバーランタイムに、デフォルトでservlet-api.jarが入っていたにも関わらず(eclipseをFull Editionでインストールしたのでtomcatもインストールされていた)、モジュールパスに、(上記とは別のtomcatの)同様のjarファイルを追加したため発生したエラー。
モジュールパスのjarファイルを除去したら解消された。

上記を解消後、tomcatサーバーを起動し、ブラウザから以下が表示できたのを確認しました。

以下、JSP

以下、サーブレット

ちなみに、JSPは内部的に、一旦サーブレットに変換されてから画面に表示されているみたいです。

今回はeclipseで実行しているので、変換されたサーブレットや、そのクラスファイルまでは確認できませんでしたが、eclipseを使わないでJSPを実行してみると、どこかにそれらのファイルが作成されるみたいですね・・

くわしくはこちらの記事をご覧ください。

まあ、実際の開発では、eclipseを使わないでJSPやサーブレットを使うことはほぼないと思いますが、知っておいてもいいとは思います。

ちなみに、eclipseを使わないで、サーブレットを実行しようとしてみたのですが、

javac -cp “C:\ProgramData\ApacheTomcat\Tomcat 10.1\lib\servlet-api.jar” HelloWorld.java
でコンパイルできませんでした(なぜ?)

なんか、クラスパス指定してない時と同じエラー(シンボルが見つかりませんというエラー?)が出てしまいます。

多分、クラスパスの指定が良くないとか?・・じゃなければ、Javaのバージョンが悪いとか?なんですかね。

まあ、単に興味本位でやってみたことですし、実際はeclipseで開発するのでいいんですけど、原因分からずでちょっと気持ち悪いですけどね。

何かわかる方いらしたら教えてください。よろしくお願いいたします。

はい。ということで、今回は以上になります。

ここまでお付き合いいただきありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA