電子書籍の厳選無料作品が豊富!

http://www.atmarkit.co.jp/fjava/rensai2/jspservl …

を参考に、jsp を勉強していますが、
「 ■初期化パラメータの活用 」 というところで、
アプリケーションルートの配下に「/WEB-INF/web.xml」を配置するとありますが、
アプリケーションルート とはどこのことでしょうか?

(1) [tomcat559 インストールフォルダ]D:\server\tomcat\
(2) http://localhost:8080/jsp/E:\public_html\jsp\
(3) http://localhost:8080/jsp/folder/E:\public_html\ …

(3) で作業しています。
web.xml はそのままで、読み取るjsp を以下のように変えています。

<%@ page contentType="text/html;charset=Shift_JIS" %>
<%
String s = application.getInitParameter("driverName");

if (s==null)
out.print("読み込めない");
else
out.print(s);
%>

ちなみに、
(3)/WEB-INF/web.xml と置くと、「読み込めない」と表示されます。
(2)/WEB-INF/web.xml と置くと、 「HTTPステータス 404 - /jsp/folder/hoge.jsp」となります。

A 回答 (1件)

>アプリケーションルート とはどこのことでしょうか?



そのWebアプリケーションを開いたところのことです。
・・思ったのですが、おそらくWebアプリケーションとしてプログラムを作成していないのでは? 通常、JSP/サーブレットを使ったサーバサイドのプログラムは、Webアプリケーションと呼ばれる形で作成します。これは一般にWARファイルという圧縮ファイルとして配布され、このWARファイルをサーバにインストールすると自動的に展開されWebアプリケーションとして認識されるようになります。

質問内容からするに、単純にTomcatの公開ディレクトリ内にJSPのファイルをおいて動かしているだけのような印象を受けます。
 まず、Webアプリケーションについて調べてみるとよいでしょう。Webアプリケーションとして作成すれば、/WEB-INF/web.xmlは最初から存在しているはずなので。

p.s.
公開ディレクトリをEドライブ内に修正されているようですが、そのあたりの情報も記述されていないと回答側としては意味が分かりませんので、あわせて記述された方がよいかと。

この回答への補足

回答ありがとうございます。

参照先の web.xml に「?」「&」が含まれていたというのがオチでした。
これを &#・・・ の形に変更し、

E:\public_html\jsp\WEB-INF\web.xml

に置くと、文字が取得できました。

http://localhost:8080/jsp/
D:\server\tomcat\conf\Catalina\localhost\ に jsp.xml を作成し、

<Context path="/jsp" docBase="E:\public_html\jsp" />

とだけ記述したものです。

warファイルにするというのは目にしたことはあるのですが、
今回は輪郭を知りたいと思っているので立ち入らないことにします。

混乱状態で、まだ謎の部分がありますが、
うまく文字に出来ないので、
ここで締め切らせてもらいます。
ありがとうございました。

補足日時:2005/08/14 18:53
    • good
    • 0

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