トップページ⇒php
1001コメント334KB

■■Servlet/JSP(EJB含む)質問スレ Part4■■

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/06/01(水) 09:09:00ID:???
質問する前に最低でもGoogleで検索するように

前スレ
■■ Servlet/JSP(EJB含む) 質問スレ Part3 ■■
http://pc8.2ch.net/test/read.cgi/php/1087331455/l50
前前スレ
■■ Servlet/JSP(EJB含む) 質問スレ Part2 ■■
http://pc5.2ch.net/test/read.cgi/php/1052879533/l50
過去スレ
■■ Servlet/JSP(EJB含む) 質問スレ ■■
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50

関連スレ
【初心者】Java質問・相談スレ47【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1086716004/l50
JSP/Servletで構築されたサイト
http://pc5.2ch.net/test/read.cgi/php/1063121571/l50
◆JSP◆
http://pc5.2ch.net/test/read.cgi/php/984840356/l50

関連は>>2-10
0357nobodyさん2005/10/10(月) 19:01:49ID:???
コンパイルエラー!!!!!
0358nobodyさん2005/10/10(月) 19:04:27ID:???
分かったよ…分かったから…
0359nobodyさん2005/10/10(月) 21:04:20ID:???
>>356
JDK5.0+NetBeans4.1をダウンロードして、NetBeans起動してWebプロジェクト作成して適当にやってれば、とりあえず動かすところまではすぐできる。
その場合、ダウンロードする必要があるのはそのひとつのファイルだけ。
0360nobodyさん2005/10/11(火) 16:58:56ID:F6jZH3tC
velocity-tools-1.1/examples
のsimple.warファイルを
jboss-3.2.6RC1/server/default/deploy
に入れて、
http://localhost:8080/simple/
にアクセスすると、
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/index.vm'
というエラーメッセージが出ます。
何か設定などが必要なのでしょうか?
(warファイルを展開すると、index.vmは存在しています)

javaはJAVA_HOME=/usr/local/j2sdk1.4.2_09です。
Linux上で動作させています。
03613472005/10/12(水) 00:24:55ID:???
>>348
展開形式でも普通にデプロイできるし
よほど設定しなければデフォルトでJSPや
サーブレットの更新が検出されるけど、
何かエラー出てるの?
0362nobodyさん2005/10/12(水) 01:14:19ID:???
現在Tomcat/4.1.18を使用して、勉強している最中なのですが、
ブラウザからプロジェクト(Test)内に存在しないクラスファイル(test)を指定した場合、
毎回以下のような長いエラー文が表示されるのですが、
例えばURLを間違えた人が居たら毎回このようなエラーをログファイルに吐いてしまうものなんでしょうか?
これを出さない方法はありますでしょうか?
2005-10-12 01:05:11 StandardWrapper[/Test:org.apache.catalina.INVOKER.test]: サーブレット org.apache.catalina.INVOKER.test を利用不可能にマークします
2005-10-12 01:05:11 invoker: パス /Test/servlet/test にサーブレットインスタンスを割り当てることができません
javax.servlet.ServletException: ラッパがサーブレットクラス test またはそれが依存するクラスを見つけることができません
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:890)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:666)
at org.apache.catalina.servlets.InvokerServlet.serveRequest(InvokerServlet.java:416)
at org.apache.catalina.servlets.InvokerServlet.doGet(InvokerServlet.java:180)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
-----------------略------------------------------------------------------
0363nobodyさん2005/10/12(水) 01:23:44ID:???
>>362
とりあえず、invokerは使うな。
話しはそれからだ。
0364nobodyさん2005/10/12(水) 07:20:42ID:???
>>362
関係ないが、勉強なら最新版の5.5.12でやれ。
4.xはJSP1.2だけど5.xはJSP2.0だ。
0365nobodyさん2005/10/12(水) 23:18:29ID:???
newInstance()とかで呼ばれるのではなくて、
普通にnewしてインスタンスを生成しているクラスで、
javaVMが最初にクラスをロードした後に
classファイルをコンパイルして更新しなおすと、
次にnewするときは、更新したクラスが生成されるのでしょうか。
0366nobodyさん2005/10/13(木) 00:10:39ID:???
>>365
マルチ乙。
0367nobodyさん2005/10/13(木) 05:30:46ID:???
>>365
クラスローダーによる。
0368nobodyさん2005/10/13(木) 09:27:45ID:???
というか試せばすぐ分かることだろうが。
0369nobodyさん2005/10/13(木) 14:09:53ID:???
>>367
クラスローダー?javaVMじゃないの?
0370nobodyさん2005/10/13(木) 23:49:35ID:A0tUEpfe
質問があります。
現在パスワード入力後のログイン管理にクッキーを実装しようとしています。
index.jspでパスを入力させ、index.jspに引数でパスを与えて正しければログイン状態にします。
ログイン状態の表示として、パスワードボックスの代わりに「ログオフする」と記述しています。
その文字列をクリックすると、またパスワードボックスが表示される仕組みです。

しかし、現状ではログイン後に一度更新しなければならず、
ログオフ後も一度更新しなおさないと正しく表示されません。
アドバイスしてくださる方いらっしゃればぜひお願いします。
0371nobodyさん2005/10/13(木) 23:57:02ID:???
>>370
これだけの書き込みでわかるわけがない。
ソース晒せ。
03723702005/10/14(金) 00:02:00ID:A0tUEpfe
<%
//渡されたデータの取得
request.setCharacterEncoding("Shift_JIS");
String password=request.getParameter("password");
String kijiNo=request.getParameter("kijiNo");
if(kijiNo==null) kijiNo="0";

%>

<%
boolean login = false;

try{
String sql="select password from 管理者;";
ResultSet rs = st.executeQuery(sql);
String str;
String logoff = "logoff";
03733702005/10/14(金) 00:03:42ID:Ouyhurru

rs.next();
str = rs.getString(1);
if(str.equals(password)){//パスが正しければ
String value = URLEncoder.encode(password);// クッキーに格納する文字列を作成
Cookie cookie = new Cookie("mblog",value);// 名前が"mblog"、値がpasswordであるクッキーを作成
cookie.setMaxAge(7 * 24 * 60 * 60); //有効期間を7日に設定
response.addCookie(cookie);// クッキーを発行
login=true;
}else if(logoff.equals(password)){//ログオフした場合
// クッキーを削除
Cookie cookie = new Cookie("mblog","");
cookie.setMaxAge(0);
response.addCookie(cookie);
login=false;
}
}catch(Exception ex) {
out.println("ERROR:DB Output");
out.println(ex);
}
%>
03743702005/10/14(金) 00:04:40ID:Ouyhurru
<%//クッキーの取得

Cookie cookies[] = request.getCookies();// クッキーの配列を取得
Cookie mblogCookie = null;// 目的のクッキーを格納する変数

// それぞれのクッキーに対して名前を確認
if(cookies != null) {
for(int i = 0; i < cookies.length; i++) {
// 名前が "mblog" であるかチェック
if(cookies[i].getName().equals("mblog")) {
mblogCookie = cookies[i];// 該当するクッキーを取得
}
}
}
%>

<!--初期設定ここまで-->

<body bgcolor="#FFFFFF" topmargin="0"
bottommargin="0"
leftmargin="0"
rightmargin="0"
marginwidth="0"
marginheight="0">
03753702005/10/14(金) 00:07:14ID:Ouyhurru
<div align="center"><img src="spacer.gif" alt="" width="1" height="15" align="top"><br>
<table width="722" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3" class="color2"><img src="spacer.gif" width="1" height="1"></td>
</tr>
<tr>
<td class="color4" align="center" width="140"><div style="margin:4px" class="lin2"><a href="delete.jsp">削除
</a></div></td>
<td class="color4" align="center" width="140"><div style="margin:4px" class="lin2">

<%

// 該当するクッキーがみつからなかった場合
if(mblogCookie == null) {
login=false;
} else { // クッキーがみつかった場合login
login=true; //login
}

if(login==true){
out.println("<a href=\"index.jsp?password=logoff\">ログオフする</a>");
}else{
out.println("<form action=\"index.jsp\" name=\"password\"><input size=\"8\" type=\"password\" name=\"password\"><input type=\"submit\" value=ログイン></form>");
}
%>
</div></td>


長いので、テーブル構造を少し省略しました。
汚いソースですいません、大体ここらあたりの問題だと思います。
0376nobodyさん2005/10/14(金) 07:51:50ID:???
> 汚いソースですいません

多少の自覚はあるようだw
ビューとロジックをまったく切り離していない、最悪なソースだな。
つっこみどころも満載だし。

あとで時間があったらゆっくり見ておく。
0377nobodyさん2005/10/14(金) 08:12:24ID:???
解読に時間がかかるソースは回答が得られないわな。
もうちょっと整理したら?
整理したら解決策が自分でわかることも多いし。
0378nobodyさん2005/10/14(金) 20:27:45ID:???
requestで取得できるのは前ページから渡されるパラメータだけじゃないの。
0379nobodyさん2005/10/16(日) 22:18:47ID:???
私は千葉&市川都市に住んでいる。
JSP (Java Server Pages) を知ってる人と会いたい
です。
0380nobodyさん2005/10/16(日) 23:22:58ID:???
>>379
11/8からのJavaOne行きゃたくさんいるよ。
0381nobodyさん2005/10/18(火) 13:04:29ID:???
>>380
それは何ですか? Conferance? Or Meeting?
私は深刻です。私はまだ日本で少しだけ住んでいます。
だから何も知らない。だからJSP をすきひととあいたいです。
すみませ、私の日本語はまだまだじょずない。
0382nobodyさん2005/10/18(火) 14:15:34ID:???
>>381
機械翻訳調にすれば、少しは釣れるかもしれないけど。
1点。
0383nobodyさん2005/10/18(火) 16:05:42ID:???
>>381
だいじょうぶ。JavaOneで話する人はガイジンが多い。
0384nobodyさん2005/10/19(水) 15:35:54ID:???
log4jのLogクラスで行番号が出せるけど、行番号なんてどうやって出しているのだろうか
Cのプリプロセッサだけの芸当かと思ってた
0385nobodyさん2005/10/19(水) 15:40:20ID:???
>>384
>>Cのプリプロセッサだけの芸当
java の stack trace にも普通に行番号が出ているわけだが・・・。
0386nobodyさん2005/10/19(水) 16:06:00ID:???
>>384
コンパイル時のオブションでバイトコードに行番号情報を埋め込める
0387nobodyさん2005/10/19(水) 16:10:19ID:???
>>386
じゃあlog4jではその仕組みを使っていて
log4jでなくても行番号は使用できるのですね。
出し方は何か特別なことがあるのでしょうか。
0388nobodyさん2005/10/19(水) 16:42:40ID:???
>>387
マルチに答える義理はない
0389nobodyさん2005/10/19(水) 17:12:52ID:???
>>387
Log4JLoggerへんみてみぃ
0390nobodyさん2005/10/19(水) 17:33:31ID:???
つーか、javaのロギングIF気に入らないんだけど
何でLoggerのstaticインスタンスをクラス毎にもたにゃいけないの。
だせ
0391nobodyさん2005/10/19(水) 20:01:20ID:???
サーブレットでホスト名を取得する方法はあるでしょうか
0392nobodyさん2005/10/19(水) 20:58:41ID:???
>>391
InetAddress.getLocalHost().getHostName()
0393nobodyさん2005/10/19(水) 21:05:33ID:???
>>392
ありがとうございます。
weblogicでアプリケーションのドメイン名を取得する方法はありますか。
0394nobodyさん2005/10/19(水) 21:17:12ID:???
めんどくせー
エクセプション処理まじめんどくせー
新しいエクセプション追加したら呼び出し元全部修正じゃん
めんどくせー
もうこれからどんなメソッドでもthrows Exceptionだな
0395nobodyさん2005/10/19(水) 21:23:09ID:???
まあドトネトはそれで上手くいってる(?)わけだし
0396nobodyさん2005/10/20(木) 10:31:42ID:???
>>394
新しい例外はRuntimeExceptionで。
0397nobodyさん2005/10/20(木) 20:05:44ID:???
>>396
それって割と聞きますが結構みんなやってるんですかね。
基本的な考えではNGなんですよね。
0398nobodyさん2005/10/20(木) 21:31:44ID:3nFaUhN4
JSPでDBへの接続ポートを複数開くのはセオリーから外れていますか?
6つの接続をもつファイルがあるんですけど
0399nobodyさん2005/10/20(木) 22:23:12ID:???
>>397
throws Exceptionやるよりマシ。
というか、最近はRuntimeExceptionの方が主流になってきてる。
例外のせいでメソッドが特定のライブラリに依存するのは本末転倒だから。
例えばHibernateなんかでは例外がRuntimeExceptionになってきてる。
0400nobodyさん2005/10/20(木) 22:24:16ID:???
>>398
ムダな処理を行うことは、セオリーからはずれる。
ムダではないなら、セオリーからはずれない。
04013982005/10/20(木) 22:37:46ID:3nFaUhN4
>>400
そりゃそうですね、失礼
しかし、ロジカルな部分を全てヘッダに持って来たいためだけに
複数の接続を作って、複数同時に開いてるのだが・・・
処理が重くなるのは当然だろうが、弊害はないだろうか。
04023982005/10/20(木) 23:04:16ID:3nFaUhN4
あ、違う質問なんですけど。
jspでDB(postgresql)にString型で「〜」を入れて、
取り出して表示したら「?」や空白文字になるんだけど・・・
なんでだろ?誰か教えて〜
0403nobodyさん2005/10/20(木) 23:34:11ID:???
>>398
JSPでDBアクセスしている時点でセオリーからはずれまくり。
コンテナ管理のDataSourceを使わない、という点でもセオリーからはずれまくり。

文字化けは、
・JSPのソースの保存文字エンコーディング
・出力時のコンテントタイプと文字エンコーディングの指定
・DBのテーブルの文字エンコーディング
・DBMSの製品とバージョン
・JDBCドライバの製品とバージョン
・JVMのバージョン
これぐらいの情報があって初めて正確な回答が得られる。
何も書いてないと言うことは、何も気にしないで実装している?
そんなんじゃ文字化けするのも頷ける話しだ・・・

0404nobodyさん2005/10/21(金) 09:36:38ID:???
>>398
スレッド作ってクエリ投げてんの?
そういうプログラミングって注意しないとトラブルになることが多いよ。
ちょっと遅くなるくらいならごくごく普通にコーディングしておくのが吉。
パフォーマンスの問題はキャッシュ使うとか普通の方法で解決するよろし。
04054042005/10/21(金) 09:39:31ID:???
〜の問題は Shift JIS のマッピングの問題の可能性大。
たぶん丸付き数字とか(株)なんかもだめじゃなかろうか。
このへん参照で
ttp://www.ingrid.org/java/i18n/encoding/ja-conv.html
0406nobodyさん2005/10/21(金) 11:06:55ID:???
>>399
じゃぁ主流なんで問題ないってことで。
本当にexceptionごときの追加でソース修正したくないです。
0407nobodyさん2005/10/21(金) 11:57:12ID:???
tokenでアクセス制御してるけど
そのマッピングでinput指定してるとき
tokenの処理が走る前に
validateがかかりinputのfowardされる。
この仕組みは明らかに設計ミス!
0408nobodyさん2005/10/21(金) 12:24:53ID:???
>>407
半分以上の人には何の話かわからない、わけのわからない書き込みやめれ。
"token"も"validate"も"input"も"forward"も、どうにでも取れる一般用語でもあるし。
0409nobodyさん2005/10/21(金) 12:25:40ID:???
その場合同じトークンが再利用されるだけじゃないの?
0410nobodyさん2005/10/21(金) 12:38:45ID:???
>>407
ほら見たことか。>>409のようなトンチンカンなレスがつくだろ?
0411nobodyさん2005/10/21(金) 12:44:06ID:???
まったくだ。
0412nobodyさん2005/10/21(金) 16:59:18ID:???
>>408
Strutsだろ、とは思うけど、それならそれでスレ違いかな
0413nobodyさん2005/10/22(土) 00:52:38ID:???
>>383 どうもありがとうお座います。JavaOne のばしょうはどこですか?
じゅうしょはどこですか?それで方と知り合いでしょうか?トルコ人でも英語後ぢじょうぶ
日本語もちょっとだけぢじょうぶ。ここで書いてあるかんじはむずかしときどきわからない。
でもJSPはほんとうにすきです。今 http://sourceforge.net/project/showfiles.php?group_id=61326 iBATIS Database べんきょうしています。
でもひとりでほんとうにむじかしとおまいます。
0414nobodyさん2005/10/22(土) 07:59:56ID:???
>JavaOne のばしょうはどこですか?
検索すらできない奴は来てもムダだ。
0415nobodyさん2005/10/24(月) 10:50:52ID:6FV9pavP
EJB使わないのにJBOSS使う意味ってなにかありますか?
DIコンテナを使ったWebアプリケーションを作る予定なのですが。
0416nobodyさん2005/10/24(月) 14:37:15ID:???
たら、Springでいいんじゃないの?
04174152005/10/24(月) 19:43:09ID:???
>>416
springとtomcatですか?
spring + jboss という組み合わせはナンセンスですか?
0418nobodyさん2005/10/25(火) 11:47:36ID:???
入力チェックでJIS第1(0x8890〜0x97FF、0x9840〜0x9872)チェックだどうすればよいでしょうか。
string.matches("[0x8890〜0x97FF")してもだめでした。
正規表現は文字コード指定できないのでしょうか。
0419nobodyさん2005/10/25(火) 16:01:06ID:???
サーブレットの中で、サーバーの404 not found のエラーを出させることはできるでしょうか。
あるユーザーには、ページなしを見せたいのですが。
0420nobodyさん2005/10/25(火) 16:15:10ID:???
>>419
HTTP のステータスコード404を返せばいいじゃない。
0421nobodyさん2005/10/25(火) 17:56:29ID:???
>>420
responceのsendError()でできました。
ありがとうございます。
ちなみに、requestが他のサーブレットからforwardされてきたかの情報は取得できるでしょうか。
直接URLのリクエストでアクセスが来たのか
他のサーブレットからforwardされたか判定したいです。
0422nobodyさん2005/10/25(火) 22:12:38ID:???
>>421
URLで判定すれば?
0423nobodyさん2005/10/26(水) 22:10:19ID:???
>>422
WEB-INF以下はforwardしかないので大丈夫ですが、
WEB-INFと同階層のjspは、urlでは判断できないです。
勘違いしてますか?
0424nobodyさん2005/10/26(水) 22:14:02ID:???
>>421
サーブレットのメソッドをあさってみたが、おそらくそんな情報は持っていないだろう・・
0425nobodyさん2005/10/26(水) 22:26:17ID:???
strutsで、アクション別のsaveTokenは生成できないのでしょうか。
0426nobodyさん2005/10/26(水) 22:37:32ID:???
>>425
自作するしかない。
0427nobodyさん2005/10/26(水) 22:45:43ID:???
>>426
ですよね。
もしくは、sessionにページ識別IDでも入れておいて、savetokenと一緒に評価するとか
0428nobodyさん2005/10/26(水) 22:49:14ID:???
>>407
validateオーバーライドして、super.validate()する前に、
tokenチェックをすればようにでは。
ただactionないではないので、tokenは取得できない?
0429nobodyさん2005/10/26(水) 23:14:46ID:???
クラスパスってロジックの中で追加することってできないですか
0430nobodyさん2005/10/26(水) 23:23:09ID:???
>>429
URLClassLoader
0431nobodyさん2005/10/27(木) 23:38:07ID:???
strutsでactionFormの中でforwardしたいのですが、
responceがないとforwardできなく、ActionFormにはresponceが見当たりません。
何か方法はあるでしょうか。
0432nobodyさん2005/10/27(木) 23:54:30ID:???
>>431
ActionFormというコンポーネントの役割を考えたら、なぜそんなことをしたいのかが理解できない。

で、"responce"ってなんだ?

reset()メソッドやvalidate()メソッドで無理矢理RequestDispatcherのforward()を呼ぶ記述が
できないこともない。しかしそれをやると、Strutsというフレームワークの構造上と
Servlet APIの仕様上の理由で、実行時例外が出るのはほぼ間違いない。
0433nobodyさん2005/10/28(金) 09:47:32ID:???
>>432
まじっすか。407にも書いてありましたが、
どうしてもvalidateの前に、画面遷移が正しいかのチェックをしたくなりまして。
つまり、遷移がおかしいときに、inputへforwardさせたくありません。
ちょっと考えてまたのですが、行き詰まってしまい、
サーブレットのfilterでチェックをかけて、redirectしようかと考えています。
0434nobodyさん2005/10/28(金) 14:23:59ID:???
適切じゃない設計は適切じゃない実装になる、どんどん複雑になる、といういい例だな。
0435nobodyさん2005/10/28(金) 19:21:59ID:???
>>417
遅レスだが、

>spring + jboss という組み合わせはナンセンスですか?

オレは勧めない。動くだろうけど旨みなし。面倒くさいだけと思う。
つーか、こいつら喧嘩の真っ最中だね。

http://houseofhaug.net/blog/archives/2005/08/12/hibernate-hates-spring/

jbossだったらejb3じゃないの?
@InjectionでDIやる手もあるし。

SpringならJTA持ってるサーバーと組み合わせるのが吉じゃないかな。
Tomcat+JOTM+Springでもいいけど(ただしJOTMがバギーという噂あるね)

Tomcat+Seasar2でもいいよ。
0436nobodyさん2005/11/03(木) 01:02:10ID:???
webアプリでクラス更新して再ロードされるのは、newしてるラスだけでした。
Actionは初回しかnewされないので、1度ロードされるとクラスを更新しても読込まれないようです。
0437nobodyさん2005/11/03(木) 14:21:35ID:???
>>436
reloadble="true"で再ロードならその通り。
TomcatManagerの再ロードやAntのreloadタスクで再ロードするなら、すべてのクラスがロードし直される。
0438nobodyさん2005/11/04(金) 20:38:35ID:???
>>437
antのreloadタスクってすべてのEJBコンテナで有効なのでしょうか。
0439nobodyさん2005/11/04(金) 21:50:26ID:???
>>438
少しでも調べたのならそんな質問はできないはずなのだがね。
コンテナがAntタスクを提供しているかいないかによる。
「すべての」なんて現実にあり得るわけがない。
0440nobodyさん2005/11/05(土) 02:07:00ID:???
現実で答えれば?
reloadタスクがtomcatのタスクだってこと。
0441nobodyさん2005/11/06(日) 15:50:13ID:???
getParameterで取得した値が空の場合、
str.equals("")で比較するとtrueになるのですが、
str.equalsIgnoreCase("")とするとfalseになってしまうのは何故でしょうか。
04424412005/11/06(日) 16:17:01ID:???
なりませんでした。
どうぞののしってください。
0443nobodyさん2005/11/07(月) 11:31:55ID:???
>>442
イ�`
0444nobodyさん2005/11/11(金) 18:50:26ID:???
すみません。tomcatなんですが
シングルスレッドモデルで動作させるためには
どこを設定すればいいでしょうか?
0445nobodyさん2005/11/11(金) 19:01:39ID:???
事故解決しました。
0446nobodyさん2005/11/14(月) 13:58:23ID:???
おすすめの書籍って何?
ASPとPHPは開発経験あり。ApacheとTomcatの環境作りは得意分野。
この程度のスキルなんだけど。
0447nobodyさん2005/11/14(月) 18:21:03ID:???
>>446
いったい何を学習したいのか判らんぞ。
ま、スレタイ的にはこのあたりかな。

http://www.amazon.co.jp/exec/obidos/ASIN/4798105538/
http://www.amazon.co.jp/exec/obidos/ASIN/4822282287/

難しいっていうならJava本体のお勉強を進めることだね。
「EffectiveJava」あたりが定番本かな。Tiger出現で古くなって
しまった内容を含むけど。
0448nobodyさん2005/11/14(月) 18:21:26ID:???
http://assets.xbox.com/ja-jp/games/n3/movie/N3_Ninety-Nine_Nights_trailer.wmv
かり
0449nobodyさん2005/11/14(月) 18:23:03ID:???
http://assets.xbox.com/ja-jp/games/n3/movie/N3_Ninety-Nine_Nights_teaser.wmv
かり
0450nobodyさん2005/11/15(火) 20:44:59ID:???
セッション追加リスナー内でセッション追加したら無限ループですよね・・
0451nobodyさん2005/11/24(木) 01:48:49ID:???
JSP使うとき、皆さんスクリプトレスにどれだけ気い使ってます?
0452nobodyさん2005/11/24(木) 03:17:41ID:???
どんだけJSPの中でJavaコード書かないかってこと?
気い使うも何も、書くことなんてありえんでしょ。
0453nobodyさん2005/11/29(火) 16:06:28ID:Jc3QczRr
Tomcatのサーブレットの中で、Rhinoを使おうとしています。

URLClassLoader loader = new URLClassLoader(URL[0]);
Class c = loader.findClass("org.mozilla.javascript.Context");

というコードで、ClassNotFoundException が発生します。
しかしデバッガで追っていると、前の部分にある
Context cx = Context.enter();
というコードは実行できるているので、Context クラスが見つからないというのが腑に落ちないです。

環境は、J2SDK1.4 / Tomcat 4.1 / Rhino 1.5 を使用しています。

ちなみにstatic void mainメソッドを追加して、単なるコンソールアプリとしてJREで動かすと例外は発生しません。

ひょっとしてURLClassLoaderの使い方を間違っているのでしょうか?
0454nobodyさん2005/11/29(火) 16:39:47ID:???
> Context cx = Context.enter();
そのContextクラスは、javax.naming.Context というオチじゃないだろうね?
0455nobodyさん2005/11/29(火) 18:18:14ID:???
>>454
レスありがとうございます。

javax系はimportしてません。
import部分は↓な感じです。

----
import org.mozilla.javascript.*;
import org.mozilla.javascript.debug.Debugger;
import org.mozilla.javascript.debug.DebugFrame;
import org.mozilla.javascript.debug.DebuggableScript;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.LinkedList;
0456nobodyさん2005/11/29(火) 18:27:05ID:???
>>455
じゃあ、コンパイル時のクラスパスには含まれていて
実行時には無いってことじゃないの?
■ このスレッドは過去ログ倉庫に格納されています