- PR -

JSPを実行できない

1
投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2003-12-05 11:19
おせわになります。

/usr/local/tomcat/webapps/ROOT/WEB-INF/classes
にjservlet01.javaというファイルを作り、コンパイルをしたところ
jservlet01.classを作製することが出来ました。

その後、tomcat,apacheを再起動し、動作確認をしようと
http://localhost:8080/ROOT/servlet/jservlet01
にアクセスしたのですが、

type Status report

message /ROOT/servlet/jservlet01

description The requested resource (/ROOT/servlet/jservlet01) is not available.

というエラーがでて正しく動作をしません。
ひょっとしたらURLがちがうのかも?と
出来たclassファイルと名前のチェックや、
ROOTだけをURLから削除してやってみても同様の結果でした。
何かおかしいところがあればご指摘下さい。

プログラムは以下のようになっています。
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class jservlet01 extends HttpServlet {
public void doGet(HttpServletRequest request,HttpServletResponse respons
e)
throws ServletException,IOException{
response.setContentType("text/html;charset=EUC-JP");
PrintWriter out=response.getWriter();
out.println("<html><head><title>test</title></head>");
out.println("<body><p>test data</p></body>");
out.println("</html>");
}
}


Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2003-12-05 14:07
まず、JSPとServletを混同されているようですが、両者は別物です。

で、servletは、WEB-INF/classes/web.xmlでServletの登録とマッピングをする必要があります。
<servlet>タグと<servlet-mapping>タグのあたりを参考にするか、Tomcatの解説本(サイト)あたりを参考にして下さい。(web.xmlの仕様はAPサーバの種類が違っても共通のはずです)
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2003-12-05 16:24
web.xmlを編集したところ正しく表示されました。

すでにバレているとおもいますが、
まだJSP/Servlet歴は浅くまだまだ勉強が足りませんが、
いつかここで質問を返せるようにがんばります。

ありがとうございました。

あんぱん
会議室デビュー日: 2003/11/05
投稿数: 3
投稿日時: 2003-12-05 16:29
環境は、きっとTomcatの4.1.・・・とかですか?
それ以降だと下記のような修正が必要のようです。

(Tomcatのインストールフォルダ)\conf\web.xml
を編集しても動くと思います。

<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>

の部分がコメントになっていると思うので
コメントでなくせば
http://localhost:8080/ROOT/servlet/jservlet01

で、アクセスできると思います。

Clusterさんの書かれたように
WEB-INF/classes/web.xmlでServletの登録とマッピングをする
のがホントは、良いのかもしれませんが...
1

スキルアップ/キャリアアップ(JOB@IT)