はじめまして Servlet初心者です

LinuxにApache1.3.14とTomcat3.2.1を入れ、exampleを実行しようとしたところ、
port:8007(Ajp12)からだと
  HANDLER THREAD PROBLEM: java.io.IOException: Stream broken
port:8009(Ajp13)からだと
  ArrayIndexOutOfBoundsException になってしまいます・・

なにが悪いのか? どうすればまともに動くのか? etc..
教えてください! どうかよろしくお願いいたします・・

ちなみにその他の環境や条件は
Redhat Linux 7 / JDK1.3.0 / JSSE1.0.2 / ServletAPI3.2 ..
TOMCAT並びにServletAPIはAnt-1.3でコンパイルしました
CLATHPATHは TOMCAT起動時にセットされるもの(servlet.jar etc.)の他には
$JAVA_HOME/bin、antのjaxp.jar と parser.jar、JSSEの3つのjarファイルくらいです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

えーと、確認させてください。



1.Tomcat単独での起動では、動いていますよね?
http://localhost:8080

2.Apache単独で動いていますよね?
 http://localhost

3.ApacheとTomcatの連携をさせるとき、Tomcatを起動していますよね?

とりあえず、ここまで
    • good
    • 0
この回答へのお礼

arata様

ご回答ありがとうございます
結論から言うと、私の勘違いでありまして、今はちゃんと動いております(^^ゞ
ApacheとTomcatを連携させ、Servletを実行させようとした時に、
ブラウザからのportの指定をajpv12やajpv13のものにしてました。
すなわち http://hogehoge.com:8009/servlet/... のようにして..

あとでserver.xml見なおして気が付きました。
これじゃ動くわけないと!
あぁ~ お恥ずかしい

これからも機会がありましたらよろしくお願いいたします

お礼日時:2001/04/13 21:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Qservletのコンパイルエラーについて CLASS_PATH Tomcat 5.5.11

Tomcat 5.5.11にてservlets-examplesのサンプルプログラムHelloWorld .javaをコンパイルすると以下のエラーが出ます。
Tomcatは正常に動作していますし、通常のjavaプログラムもコンパイルできます。


HelloWorld.java:3: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
HelloWorld.java:4: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;



CLASS_PATH などの設定はいろいろなサイトやここの過去の質問を見たとおりにしましたがなんともなりません。
現在は以下のようになっております。

CLASS_PATH
.;C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar

CATALINA_HOME
C:\Program Files\Apache Software Foundation\Tomcat 5.5

PATH
C:\Program Files\Java\jdk1.5.0_04\bin

JAVA_HOME
C:\Program Files\Java\jdk1.5.0_04


もうどうしたらいいのかわかりません。
助言のほうよろしくお願いします。

Tomcat 5.5.11にてservlets-examplesのサンプルプログラムHelloWorld .javaをコンパイルすると以下のエラーが出ます。
Tomcatは正常に動作していますし、通常のjavaプログラムもコンパイルできます。


HelloWorld.java:3: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
^
HelloWorld.java:4: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;



CLASS_PATH などの設定はいろいろなサイトやここの過去の質問を見たとおりにしましたがなんともな...続きを読む

Aベストアンサー

こんちは~

おおよそ2年ぶりにTomcat触りました(趣味でw
最近はservlet.jarじゃなくてservlet-api.jarなんですねぇ。

で、本題なんですが
環境変数名が違うとせいだと思います。

「CLASS_PATH」

ではなく

「CLASSPATH」

です

※「 _ 」がいらない

Qantでjarファイルを作成する際にファイル名をつける

お世話になります。

antを使ってjarファイルを作ります。
このときに出来上がりのjarファイルにビルドNOもしくはビルドした日付をつけたいと思います。
現在build用propertyファイルに出来上がりファイル名を固定で持っていますが
[出来上がりファイル名+buildNo+.jar]もしくは
[出来上がりファイル名+yyyyMMddHHmm+.jar]
というようにしたいです。

このファイル名の後ろにつける部分を自動化したいのですがなにかいい方法はないでしょうか?

Aベストアンサー

どうも、こんにちは。

以下URLを参考にすれば実現可能だと思います。

参考URL:http://homepage1.nifty.com/kuprij/antdoc/tasks/tstamp.html

QJBoss-2.4.6_Tomcat-4.0.3で、Tomcatと共に、動かす時。

JBoss_2.4.4-Tomcat_3.2.3を動かすには、僕の買った本にはrun.batでは、tomcat.earを動かそうとして、エラーがでるので、run_with_tomcat.batを使って動かすと書いてあるのです。


しかし、僕はJBoss-2.4.6_Tomcat-4.0.3をダウンロードしてきたんですが、


JBoss-2.4.6_Tomcat-4.0.3にはrun_with_tomcat.batはありません。run_with_catalinaというのはあるのですが、それを使うと、エラーがでます。

誰か知っている人がいたら、教えて下さい。

Aベストアンサー

> IEのアドレスバーに http://localhost:8080 と入力すると、The Jakarta Projectと書いてある、Tomcatの猫の、ホームページが表示されます。

run_with_catalina.bat(sh かな?)の起動時にエラーが発生して、かつhttp://localhost:8080 で、tomcat が動いているということは、tomcat単体(Apacheと連携してるにせよ)で動いていると言うことですね

この場合、run_with_catalinaを起動すると、tomcat が2重で起動されてしまいます。このとき、先に動いているtomcatがポート8080を使っているため、後から起動された方はポートへのアクセスができずにエラーになります。

対策としては、
1.先に動いているtomcatは止めて、run_with_catalina を使ってtomcatを動かす
2.とりあえず現状のまま更にrun_with_catalina を動かしたいなら、jbossから
  起動されるtomcatのポート番号を変更する
  <jbossをインストールしたディレクトリ>jboss/conf/catalina/jboss.jcml
  というファイルに port = "8080" と記述された個所があるので、これを
  port = "9001" ぐらいの適当な値に変更する
のいずれかでしょうか。。。

jbossを使っていろいろやってみるということであれば、1の方をお勧めします

> IEのアドレスバーに http://localhost:8080 と入力すると、The Jakarta Projectと書いてある、Tomcatの猫の、ホームページが表示されます。

run_with_catalina.bat(sh かな?)の起動時にエラーが発生して、かつhttp://localhost:8080 で、tomcat が動いているということは、tomcat単体(Apacheと連携してるにせよ)で動いていると言うことですね

この場合、run_with_catalinaを起動すると、tomcat が2重で起動されてしまいます。このとき、先に動いているtomcatがポート8080を使っているため、後か...続きを読む

QTomcat Servletが動きません

『Javaへの道:Tomcat』のページを参考に同じようにやってるのですが、
JSPはうまくいくのですがServletがうまくいきません。
(長文になります)

参考ページと私の環境で違う点
Windows XP Home → XP Pro
Tomcat 6 → Tomcat 7
JDK6.0 → JDK6.23
ポート8080 → 8081

以下のファイル、フォルダを作りました(参考ページそのままです)。
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\jspdir\HelloJsp.jsp
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\classes\HelloServlet.class
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\web.xml
C:\Program Files\Apache Software Foundation\Tomcat 7.0\conf\Catalina\localhost\javaroad.xml

--↓↓HelloJsp.jspここから↓↓--
<HTML>
<BODY>
from JSP source<br>
<%= new java.util.Date() %>
</BODY>
</HTML>
--↑↑HelloJsp.jspここまで↑↑--

--↓↓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>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Hello</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>

</web-app>
--↑↑web.xmlここまで↑↑--

--↓↓javaroad.xmlここから↓↓--
<Context path="/javaroad" reloadable="false"/>
--↑↑javaroad.xmlここまで↑↑--


JSPを起動
http://localhost:8081/javaroad/jspdir/HelloJsp.jsp → 正しく表示される

Servletを起動
http://localhost:8081/javaroad/Hello → ステータス404
The requested resource (/javaroad/Hello) is not available.


<気になる点>
1.Tomcatを起動するためStratボタン押しても1回では起動せず、2~3回で起動する。
 1回目のときcommons-daemon.2011-01-15.logにこんなログが出る。
 [2011-01-15 23:01:16] [error] Pid file 'C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\tomcat7.pid' exists
 [2011-01-15 23:01:16] [error] ServiceStart returned 1

2.servletクラスは正しくコンパイルできているのか


状況を詳しく説明しようとして長々と書いてしましたが
Servletを表示するにはどうしたらいいでしょう?
足りない情報があれば追加します。

『Javaへの道:Tomcat』のページを参考に同じようにやってるのですが、
JSPはうまくいくのですがServletがうまくいきません。
(長文になります)

参考ページと私の環境で違う点
Windows XP Home → XP Pro
Tomcat 6 → Tomcat 7
JDK6.0 → JDK6.23
ポート8080 → 8081

以下のファイル、フォルダを作りました(参考ページそのままです)。
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\jspdir\HelloJsp.jsp
C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\W...続きを読む

Aベストアンサー

> C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\classes\HelloServlet.class
> C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\javaroad\WEB-IMF\web.xml

× WEB-IMF
◯ WEB-INF

タイプミスですかね?

QTomcat起動時にServletの起動

tomcatを起動時に、あるServletを起動したいと思います。
どこかの設定ファイルに記述すれば、そのようなことは可能でしょうか?
可能な場合、簡単な手順等も教えていただければ、助かります。

Aベストアンサー

web.xml内の<servlet>タグ内に
<load-on-startup>タグを追加することで
サーバ起動時に実行する手順もあります。

<servlet>
<servlet-name>xxx</servlet-name>
<servlet-class>起動したいクラス名</servlet-class>
<load-on-startup/>
</servlet>

#servlet-nameは適当につけてください

この場合、<load-on-startup>は空ですが、
起動したいクラスが複数ある場合、
このタグに正数を与えて順序づけすると
起動の順番をつけることができると思います。


人気Q&Aランキング

おすすめ情報