トップページ⇒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
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
じゃあ、コンパイル時のクラスパスには含まれていて
実行時には無いってことじゃないの?
0457nobodyさん2005/11/29(火) 19:00:36ID:???
そもそも>>453見ても何が言いたいのかよくわからん。

URL[0]の文字列は何?
ClassNotFoundExceptionが何処で発生しているのか?
つーか、外部jarファイルはWEB-INF/libに配置するはずなのに、わざわざURLClassLoader使っている意図は?
「前の部分にある Context cx = Context.enter(); 」って何?
0458nobodyさん2005/12/02(金) 16:17:41ID:???
webコンテナ再起動時にセッション情報が破棄されますが、
リスナーでサーバ再起動時に、セッション情報をすべてシリアライズしてファイルに保存し
起動時にリスナーでセッションに保存したものを登録すれば
セッション情報は復活するでしょうか。
0459nobodyさん2005/12/02(金) 17:32:00ID:???
>webコンテナ再起動時にセッション情報が破棄されますが、
この前提が正しくない。
やってみてから質問しろや
0460nobodyさん2005/12/02(金) 19:21:56ID:???
やってる。weblogicの再デプロイですべてなくなる。
破棄されないことはないというwebコンテナの使用でもあるの?
0461nobodyさん2005/12/02(金) 21:21:12ID:???
破棄されないというか、トムキャットだと自動でシリアライズ/デシリアライズしてくれるが
喪前は何を使ってる?
0462nobodyさん2005/12/02(金) 21:44:16ID:???
なぬ。tomcatは自動でやってくれるのか。
下手な製品使うより、開発が盛んなフリーをつかうのががいいねぃ・・
0463nobodyさん2005/12/02(金) 21:46:23ID:???
ちなみにtomcatの再デプロイ中にアクセスするとサーバーに接続できませんになります?
コネクションをプールして、再デプロイ後に処理を再開してくれるとか・・
0464nobodyさん2005/12/02(金) 21:50:02ID:???
再デプロイはまた別だろ・・・
0465nobodyさん2005/12/03(土) 11:55:22ID:???
WebLogicだとクラスタ組んでセッションをレプリケートさせるのが一般的。
セッション情報永続化機構もあるっぽいけど。
0466nobodyさん2005/12/11(日) 17:17:05ID:???
イントラネット内で、servletやjspを使って動的にサーバで作成されたwebページを、クライアント側からブラウザの「名前を付けて保存」機能などを無効にして、
クライアントのPCに保存させないようにする方法はあるのでしょうか?
0467nobodyさん2005/12/11(日) 17:30:11ID:???
>>466
IEなら可能かもね。
JavaScriptのスレで聞くほうがいいと思われ。
0468nobodyさん2005/12/11(日) 18:36:37ID:???
>>467
ということは、JavaScriptを有効にしていないブラウザでは防ぎようがない、てことなんでしょうか
とりあえずはJavaScriptが無効になっているブラウザには表示させないようにして、スクリプトそのものはJavaScriptスレで聞いてみます
ありがとうございます
0469nobodyさん2005/12/11(日) 18:44:39ID:???
>>468
ブラウザで表示されている→HTMLをダウンロードしているということだから。
0470nobodyさん2005/12/11(日) 18:59:25ID:???
表示できるhtmlなら100%ソースを見ることができる。
0471nobodyさん2005/12/11(日) 19:51:04ID:???
>>469-470
そうなんですよね・・・
ソースを暗号化してくれるソフトなんてのもあるようですが、動的に作成されたページまでは暗号化してくれないようで。
動的に暗号化してくれるようなソフトがあればいいんですが。


ただいまJavaScriptとservlet+FLUSHを使ってどうにかできないか模索中です
0472nobodyさん2005/12/11(日) 20:34:45ID:???
無駄な模索。
ソースを保存させたくないと考えさせるような駄目な仕様だとなぜ気づかん。
0473nobodyさん2005/12/11(日) 21:42:03ID:???
>>472
表示させたくないのはソースというか、表示されたページの数字なんです
社内のイントラネット内で帳票をweb化して見られるようにと考えているんですが、
印刷も保存もさせないように、社外にデータを持っていくのが困難なように作る必要がありまして、
ブラウザで保存をやられると簡単にデータとして大量に安易に社外に持ち出すことが簡単になるのでそこを防げたらと思いまして。
0474nobodyさん2005/12/11(日) 21:47:33ID:???
>>473
そもそもそういう意図があるものを、暗号化や署名の仕組みがないHTMLでやるのが間違い。
しっかりしたソリューションを使うのを勧める。
Javaであれば、Java Web Start使って通常のアプリにするとか。
0475nobodyさん2005/12/11(日) 21:50:24ID:???
仮にソースの表示を禁じられるとしても、
PCで画面表示している限り、イメージキャプチャなどの手段で
いくらでもデータを持ち出す方法などありそうだが。
たとえばWindowsならPrintScreenキーで現在のデスクトップ表示を丸ごと画像化できる。
0476nobodyさん2005/12/11(日) 22:07:00ID:???
プライバシーマーク関連か。
だとしたら、今考えているシステムができたところで却下だぞ。
■ このスレッドは過去ログ倉庫に格納されています