「Java+MySQL+Tomcatで始めるWebアプリケーション構築入門」
を勉強してJSPで色々と作成することはできたのですが、servletを
使ってみたいと考えております。
classpathの設定でファイルをコンパイルまでは出来ましたが、
classファイルをブラウザ上で表示させることができません。
jspの環境設定をしたときのxmlファイルを参考に
色々と試してみましたが、どうもうまくいきません。
この参考書の環境をを元にservletを使えるように
するにはどうしたら良いのでしょうか。
宜しくお願いいたします。
を勉強してJSPで色々と作成することはできたのですが、servletを
使ってみたいと考えております。
classpathの設定でファイルをコンパイルまでは出来ましたが、
classファイルをブラウザ上で表示させることができません。
jspの環境設定をしたときのxmlファイルを参考に
色々と試してみましたが、どうもうまくいきません。
この参考書の環境をを元にservletを使えるように
するにはどうしたら良いのでしょうか。
宜しくお願いいたします。
投稿:pmjyk[pmjyk]/2009年 08月 23日 03時 35分
RE:初心者です
by 竹形 誠司[takegata]
竹形です。こんにちは
サーブレットはコンパイルがやや難しいので、私の本ではあまり扱っていないのですが、コンパイルが成功したのであれば、あとはclassファイルの配置とweb.xmlの設定ですね。
classファイルはWEB-INFの下にclassesというディレクトリを作成して、そこに配置します。パッケージを指定している場合は、パッケージの階層に従ってサブディレクトリを作成してください。たとえばパッケージ名が
org.orquesta.test
の場合は
org/orquesta/test というディレクトリをclassesの下に作って、その中にclassファイルを配置します。
次にweb.xmlファイルを編集します。Tomcagがサーブレットを呼び出せるようにするには、<servlet>と<servlet-mapping>の2つの要素を追加する必要があります。次に例を示します。
<servlet-mapping>要素では、どのようなURLが指定された場合にこのサーブレットを呼び出すかを設定します。上の例では、サーバがhttp://www.orquesta.org/だった場合、
http://www.orquesta.org/path/Test
というURLでTestServletが呼び出されます。
web.xmlを編集した後はアプリケーションをリロードする必要があります。
サーブレットの使い方については、いろいろなサイトでも説明されているので、「Servlet Tomcat」などで検索してみてください。
サーブレットはコンパイルがやや難しいので、私の本ではあまり扱っていないのですが、コンパイルが成功したのであれば、あとはclassファイルの配置とweb.xmlの設定ですね。
classファイルはWEB-INFの下にclassesというディレクトリを作成して、そこに配置します。パッケージを指定している場合は、パッケージの階層に従ってサブディレクトリを作成してください。たとえばパッケージ名が
org.orquesta.test
の場合は
org/orquesta/test というディレクトリをclassesの下に作って、その中にclassファイルを配置します。
次にweb.xmlファイルを編集します。Tomcagがサーブレットを呼び出せるようにするには、<servlet>と<servlet-mapping>の2つの要素を追加する必要があります。次に例を示します。
<servlet>
<servlet-name>TestServlet</servlet-name>
<servlet-class>org.orquesta.test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/path/Test</url-pattern>
</servlet-mapping>
上の<servlet>要素では、org.orquesta.test パッケージのTest.classファイルをTestServletという名前で登録しています。<servlet-name>TestServlet</servlet-name>
<servlet-class>org.orquesta.test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>TestServlet</servlet-name>
<url-pattern>/path/Test</url-pattern>
</servlet-mapping>
<servlet-mapping>要素では、どのようなURLが指定された場合にこのサーブレットを呼び出すかを設定します。上の例では、サーバがhttp://www.orquesta.org/だった場合、
http://www.orquesta.org/path/Test
というURLでTestServletが呼び出されます。
web.xmlを編集した後はアプリケーションをリロードする必要があります。
サーブレットの使い方については、いろいろなサイトでも説明されているので、「Servlet Tomcat」などで検索してみてください。
投稿:竹形 誠司[takegata]/2009年 08月 24日 14時 53分
/更新:2009年 08月 24日 14時 55分
竹形 様
お世話になっております。
丁寧にご教示いただいたお陰で、表示することができました。
心より御礼申し上げます。
お世話になっております。
丁寧にご教示いただいたお陰で、表示することができました。
心より御礼申し上げます。
投稿:pmjyk[pmjyk]/2009年 08月 24日 22時 35分