[マジ初心者]JSP/servlet[助けて!!]
VB,ASP系を主に学んできた新社会人です。
今、JAVAの物件がまいこんできました;;
ほんと。。わかりません、、
仕組みは大体理解できたかなくらいなんですが、
DABってなんなんでしょう。。。
データを格納してるものらしいのですが、、
そのDABをオペレーションモデルのソースでいじくって、、
結果VIEWクラスで表示と、
聞いたままそのままです、、、(汁
神の手を;;
その物件を5年くらい寝かせておく。
>>1 あんたの会社にはDAB知ってる人いないの?
知ってる人に聞けばいいかと。
オレの予測。
1はもうでてこない
尾頭付きフライドチキンを顧客に渡せ!!
そうすれば全て丸く収まるぞ!!
トサカ付きチキン野郎と顧客に言い放て!!
そうすれば全て丸く収まるぞ!!
VBをやってきた香具師にいきなりJavaはまず出来ない。
100%失敗する。
プラットフォームがUNIX系だと、200%失敗する。
出来ません、で逃げた方が良い。
さて予想通りアンチVB厨が出てきたところで終わりにするかな。
経験者は語るというやつだろう。
自分がVBやってていきなりJavaやって出来なかったからって
他人も同じと考えるなよ。
>>9 VB6.0以前からだとまず無理だって。
特にWindowsべったりだったりすると致命的。
おそらくプラットフォームはUNIX系であろう。
こういうのにいきなり放り込まれて廃人となったVB屋を知っている。
別にVBは関係ないって事。
新人やスキルの低い奴はどの言語をやっていても同じ。
あんたの周りのVB使いはスキルが低いのですね(w
>>11 いや、関係あるんだよ。
Javaはオブジェクト指向なので、これを理解しながら
かつUNIXの勉強もしながらでは、どんなに出来る香具師でも
簡単にアボーン出来るのだ。
しかもJSPとServletだけで済めばまだいいが
EJBとか絡むと完全に破滅しる。
えーと、なんですか、
>>1 は
・Javaが分からない
・DABが分からない
・オペレーションモデルが分からない
・ソースが分からない
・結果VIEWクラスが分からない
という事でよろしいか?
オレは、こんなスレをたてた
>>1の真意が分からない
14 :
デフォルトの名無しさん:03/07/25 08:56
>>1が言わんとしていることは良く分からんが
察するにただデータベースの中身を表示しようとしているだけのようだ。
なぜJSP/Servletと
>>1のカキコが関係してくるかまではわからんが
JDBCを使えば一発で解決する話ではないかな。またその方が一般的ではないかな。
15 :
デフォルトの名無しさん:03/07/25 09:04
でえたあくせすびいんなんて、いまどきようちえんじでもちゅくれまちゅよ?
ただ じぇいでぃーびーしーどらいばけいゆでえすきゅーえるをじっこうして けっかをかくのうして
あくせさをていきょうするだけのびーんじゃないでちゅか。かんたんでちゅ。
16 :
デフォルトの名無しさん:03/07/25 09:07
こんなこともわからないなんて じんせいのこうはいとして はずかしいでちゅ。
ぬるまゆみたいなぶいびーにつかって のうみそがふやけているに ちがいないでちゅ。
17 :
デフォルトの名無しさん:03/07/25 09:11
いまよみかえしまちた。いちのまぬけっぷりのへんりんをあじわったでちゅ。
じぶんのくににかえってくだちゃい。
18 :
デフォルトの名無しさん:03/07/25 09:14
まぁ教訓としては
Windows系の人間はJavaなどに手を出さずに
(Javaは現在のところサーバサイドなので大抵UNIXベースとなる)
VBやらASPで押した方が身のためだということだな。
これが住み分けってものではないかな。
20 :
デフォルトの名無しさん:03/07/25 09:18
いちはあきらかにそれとわかるほどむのうなんでちゅ。それをじかくしてどりょくすることがたいせつだとおもいまちゅ。
そのあんけんはことわってとにかくきそからじゃばをまなびはじめてくだちゃい。
でもそのたびにすれなんかたてたらいけませんでちゅよ。めっでちゅ。
他の言語と比べてJavaの何がそんなに難しいのか
自分の知恵が足りないだけじゃないのかと
22 :
デフォルトの名無しさん:03/07/25 09:29
VBからJavaに乗り換えると逆に楽だと感じるところもある。
例えば、DLL地獄とか継承出来ないとか。
VBしかやった事が無い人がJavaやると何処が問題になるの?
23 :
デフォルトの名無しさん:03/07/25 09:34
>>22 はぁ、大抵Java使いというのは、
10年位前にUNIX/C辺りから入ってきたやつらなんです。
(俺はFortranの比重が大きかったけど)
Sunが出しているというのが理由です。
そのため、UNIX MagazineにJavaの記事があったりするのです。
そんな連中だから、サーバサイドに逃げ込んでいるわけなのです。
そういう背景があるので、純粋なWindows/VB屋とは異文化なわけです。
まずはその辺の微妙なとこを理解してくれんとね。
24 :
デフォルトの名無しさん:03/07/25 09:41
ゆにっくすのじいさまたちがれきしやでんとうのはなしをもちだすときは ききながすのがさいじょうのさくでちゅ。
26 :
デフォルトの名無しさん:03/07/25 09:47
なもんで、本来のJava使いというのは10年以上の蓄積があるものです。
いきなり新入社員にJ2EEをやらせるのは無能な上司だと見て取れます。
>>1がJavaで生き延びる方法は、とりあえずJSPだけに絞ることでしょう。
これならUNIXのオペレーションを学びつつ仕事みたいなことができます。
27 :
デフォルトの名無しさん:03/07/25 09:51
でもじぶんもしーげんごからのりゅうにゅうぐみでちゅ。
ともだちのかずくんにへたれといわれようと じゃばをつかうでちゅ。
28 :
デフォルトの名無しさん:03/07/25 10:01
しょしんしゃがかいたじぇいえすぴーは はきけがするほどまがまがしいすぱげてぃになりまちゅ。
いっときはよくても のちのちじごくえずてきなしゅらばになりまちゅ。
おすすめできまちぇん。
(^^)
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
age
32 :
デフォルトの名無しさん:03/08/24 20:34
VBからJavaにすんなり移行できたものです。今となってはJavaもそんなむずくはないね
VBから移行できないやつはIDEのせいってのもあるとおもうね。Cから移行した人とやると
必ずエディターでけでやってるから萎えるんだよ。
33 :
デフォルトの名無しさん:03/08/24 20:41
訂正
必ずエディターだけってことはないね。すいませんでした。あと俺はVBも定数以外は
basは使わないようにしてクラス使ってましたね。これだと結構嫌がる人いるんだけど
(おっさんとか新人とか)多分そういう人がOOりかいできないんじゃろうな
34 :
デフォルトの名無しさん:03/09/01 10:44
Servlet/JSPのフレームワークを語るスレで先ほど書き込みした者ですが
ブラウザはサーバが実行する前の生のJSPファイルを受け取ります。
ってどういうことですか?
なぜ自分のHPにFTTPでアップロードしてみると何も字が表示され
ないのですか?
>>34 JSPの仕組みを考えればいい
君のHPのサーバーにJavaコンパイラやTomcatなどがインストールされていますか?
インストールされていなければ、JSPファイルはコンパイルされることはないので
そのまま生のJSPを書いたテキストファイルを受け取るだけ
ということはTomactなどがインストールされているサーバーを探せば
字が表示されるってことですか?
>>37 そういうことです
有料のものしか見たこと無いけど・・・
あーありがとうございます
無料のを気合で探してみたいとおもいます
>>39 え〜無いだろ?あったら俺だって借りたいよ
>>39 ツーか自分のPC内にTomcat入れてオナニーでも十分楽しめると思うが・・・
>>41 サーバを他のマシンにせず自分自身をクライアント兼サーバにすることを
オナニーにたとえていたのか。その喩えを初めて理解できた。
Cから入ってきたやつらのJavaのコード酷すぎ。
VB厨のほうがぜんぜんマシ。
44 :
デフォルトの名無しさん:03/09/04 12:11
JSPの初心者なのですがJSPの分かりやすい解説があるHPを
知ってたら教えてくれませんか?
45 :
デフォルトの名無しさん:03/09/04 12:46
正直、EJBと聞いただけで吐き気を催すのだが。
うまくいってるとこってあんの?
47 :
デフォルトの名無しさん:03/09/06 12:17
Tomcat4.1(LE) + JDK1.4.1でWebAppつくってます。
クライアントがWebAppにログイン後、サーバーでTomcat再起動かけても
セッションが切れてないような気がするんですが・・・(-_-)アリエネェ
具体的にいえばSession.isNew()でfalseが帰ってくる・・
同じような現象に出くわした方、情報をお持ちの方
教えてくださいませ。お願いします。
オブジェクトシリアライぜーション
49 :
デフォルトの名無しさん:03/09/06 13:34
>>47 >・・・(-_-)アリエネェ ・・・
ありえます。
セッションは切れません。
Tomcat4.1.xはサーバ停止時にセッションオブジェクトをシリアライズし、
ファイル化してディスクに保存します。で、起動時にはそれが復元される。
>>48-49 3.3.1aから切り替えたところどうも挙動がおかしい
ので頭抱えてました。
とりあえず対策を考えて見ます。
ありがとうございました。
51 :
デフォルトの名無しさん :03/09/06 17:05
今、Tomcat3.1を使っているのですが、いい加減アップデート
しようと思っています。ところが稼働中のサーバのため作業
時間は6時間くらいしかとれません。
できれば4.1にしたいのですが、互換性の問題でトラブるで
しょうか? 3.3.1の方が無難でしょうか?
52 :
デフォルトの名無しさん:03/09/06 17:36
>>51 >ところが稼働中のサーバのため
いきなり本番機をアップデートするつもりか?正気か?
普通はテスト環境作らないか?
>>52 もちろん事前にテスト環境を作って検証しますが、100%同じ環境は準備できない
ので「テスト環境ではうまくいったが本番環境ではトラブった」ということになる
可能性はあります。
不具合さえなければそのままがええんでは?
56 :
デフォルトの名無しさん:03/09/08 00:13
Session=Thread見たいな感じ?
>>56 ゼンゼンチガウ!
1クライアントごとに割り当てる、状態保存用オブジェクト。
58 :
デフォルトの名無しさん:03/09/08 00:36
マルチスレッドってインスタンス変数は固有のスレッドで管理してるんじゃないんですか?
ServletだとスレッドがひとつのServletのインスタンスを共有してるってことは
Servletのインスタンス変数、メソッドは結局Staticってことなんですか?
>>58 >マルチスレッドってインスタンス変数は固有のスレッドで管理してるんじゃないんですか?
イロイロまちがっている。勉強しなおせ。
>>58 >マルチスレッドってインスタンス変数は固有のスレッドで管理してるんじゃないんですか?
その理解でも7割程度の状況で困ることはないと思うが間違いです。
レジスタとスタック領域(ローカル変数の置き場所)が独立しているだけで、
ヒープ領域(オブジェクトの格納場所)は一緒です。
(ってJavaVMでもスタックとかヒープとか言うんだったかな)
>Servletのインスタンス変数、メソッドは結局Staticってことなんですか?
staticではないが、staticな変数やメソッドに近い振る舞いをすることになります。
表面的な振る舞いだけ見て理解した感じですね。
61 :
デフォルトの名無しさん:03/09/08 00:47
>>59 まじっすか!どうやらマルチスレッドの基本から間違ってるみたいですね
教えてくれてありがとう。
ところでマルチスレッドについて説明してあるサイトでイイとこないですかね?
>>61 トリアエズそのバカの一つ覚えみたいな"マルチ"を外せ。
Javaのスレッド周りの勉強がしたいならJVM仕様読むのが速いだろな。
それ以前に、「プログラミングの基礎の基礎として」プロセスがどう
やってコンテキストを処理していくのかの勉強が先かもな。
>>60 58です
結局はインスタンス変数はスレッド単位で別なんですよね?
\ │ /
/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< マルチマルチ
\_/ \_________
/ │ \
∩ ∧ ∧∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\ ∩∧ ∧∩\( ゚∀゚) <マルチマルチ 〜〜〜〜
マルチ〜〜〜〜? >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」
 ̄ / /
 ̄
>>63 ローカル変数と、ローカル変数が参照するオブジェクトの
インスタンス変数を混同しないように。
別々のスレッドで確保された別々のローカル変数が、
同じオブジェクトを参照することは当然あり得えます。
Servletじゃ実際そうなってます。
ここで質問する前に、一度自分でスレッドについて勉強した方がいいですよ。
ここは「初心者がスレッドを一から学ぶスレ」じゃないので。
生憎いいサイトは知りませんが、googleで見つかったサイトや本を見ると
役に立つんじゃないですか?
JavaでスレッドといえばDoug Leaが基本だな。
67 :
デフォルトの名無しさん:03/09/08 23:24
JavaBeansのクラスでsetProperty(HttpSession sess, String val)といったメソッドを定義して、
セッションを書き込むというのはありですか?
Hoge h = new Hoge();
h.setProperty(sess, str);
>>67 どういう風にプログラミング使用と自由です
ただ、HttpSessionオブジェクトをBeanに引っ張っていくのは
僕はなんとなく気持ち悪いです
サーブレット内だけででHttpSessionオブジェクトを扱って
サーブレット以外ではそれを切り離したいからです
僕がやるとしたら
HttpSessionの中のプロパティをBean内で使いたいのなら(たとえば属性など)
それを、取り出してBeanにセットします
Hoge h = new Hoge();
OneObject obj=(OneObject)sess.getAttribute("one");
h.setProperty(obj, str);
69 :
デフォルトの名無しさん:03/09/08 23:56
ひとつ質問です。
ファイルを読み込むBeanを作るのは可能ですか?
JSPではできるのですがBeanで作ろうとするとうまく
いかなくて。。
>>69 普通にできるよ
データの受け渡しがうまく出来ていないんじゃないの?
JSPのソースでもいいのでうpしてくれれば
それをBeanに直してあげるよ
71 :
デフォルトの名無しさん:03/09/09 00:24
>>70 おおっ!!ありがとうございます。
今はソースがないので明日、10時前にはあぷします。
よろしくです。
ていうか、処理の流れでも教えてくれればテンプレ書いてもいいよ
今暇だし
73 :
デフォルトの名無しさん:03/09/09 23:17
>>72 会社でこのスレッドを見つける事ができなかったので
ほかのスレッドで聞きました。
答えてもらいありがとうございました。
74 :
デフォルトの名無しさん:03/09/10 19:41
TomcatをインストールしてTomcat Administrationを使おうとおもって
ユーザー名/パスワードを入力してログインを押しても下のエラーメッセージが
出てしまいます。なにがおかしいのでしょうか?
The requested resource (/admin/j_security_check) is not available.
初心者質問でスマソ。
皆さん、JSP + Servlet + JavaBeans + DB でWebアプリケーションを組むときに
SQLはどのように管理していますか?
以前に組んだときはJavaBeanにSQL文を書いていたのですが、読みにくいソースが
出来上がってしまいました。
そこで、直接SQLを記述しなくてもDBを操作できるライブラリがあると便利だと思ったのですが
何か便利なものありませんかね?
ちょっと探したところEJB QLが良さそうでした・・・が、EJBが使えない環境の場合
どうするのだろうとか思ったりして。
ROGUE WAVEのDBTools(現SourcePro C++)みたいなものがあると便利なのですが。
無い場合はこれを真似て作って見たいと思ってます。
ROGUE WAVE
ttp://www.roguewave.com/
78 :
デフォルトの名無しさん:03/09/11 08:51
>>43 おれはCやってからJavaやったが
ソースコードをきれいにコーディングする努力は
怠っていないぞ。Javaの習得やプログラミングだけに
かなりの時間を費やしたからな。
ASPのGlobal.asaの代わりになるのってないんですか
80 :
デフォルトの名無しさん:03/09/17 23:10
インクルードしまくりじゃだめか?いまのIDEならJSPのテンプレートぐらい設定できるっしょ
81 :
デフォルトの名無しさん:03/09/18 06:53
一部のアプリケーションサーバ(確かJRun)はglobal.jsaとかいう名前で似たような機能を実装していたような気が。
82 :
デフォルトの名無しさん:03/09/21 13:33
おはつです。
今簡単なカナ変換処理(全角→半角)を作成しているのですが
変換処理をし終わった後にJSPで表示させる時、
カナ半角の偶数文字(カナの数が2,4,6つ・・・)のみ文字化けしてしまいます。
エンコードはWindows-32Jでやってます。(web-xmlのフィルターも同様に設定)
ただ、Shift-JISでは成功するんですがどうしてもWindows-32Jでやりたいんです。
82続き
変換処理時におかしくなるという原因はつきとめました。
処理は 値(カナ)を引数として受け取り
↓
(ループ)
いったん値を一文字づつに分解
↓
分解したものをあらかじめ用意した文字列(全角のすべてのカナ文字)と一個
づつ比較
↓
全角カナと一致していたらあらかじめ用意した文字列(半角のすべてのカナ文字)
の全角で調べた現在の位置とおなじ位置の半角カナ文字を、用意した配列にいれる。
↓
取得した値が半角のままならその文字をそのまま配列に
(終ループ)
↓
その配列をString型文字列に変換
↓
Beansに渡す
この1文字づつに分解した時点で表示字におかしくなるというのは
つかんだんですが、その理由がわかりません。
長々すいません。どなたかご教授お願いします。
>>82 書き間違いか知らんがWindows-31Jな。
87 :
デフォルトの名無しさん:03/09/22 01:17
サーブレットとjspってJ2EEとちゃうの?
>>87 Java ServletとJSPページはJ2EE仕様に含まれている。
でもまあJ2EEっつーとEJBのこと指してますよ
サーブレットとかはコンテナについてくるからJ2EE無くても動くからね
>>89 はぁ?「J2EE無くても」って?
「J2EE」はServlet APIや、JSP pages仕様、EJB仕様、JTA/JCA仕様等々を含む仕様のことだが?
J2EE Reference Implementation のこと言ってるの?
そこらへんはどうでもいい
サーブレット/jspだけで作った奴をj2ee開発と言って良いわけ?
> サーブレットとかはコンテナについてくるからJ2EE無くても動くからね
こいつなにもわかってないな
94 :
デフォルトの名無しさん:03/09/22 23:29
JavaBeansでServletCotnextを呼び出したいんだけど、
HttpServletを継承してもnullが返ってきます。
どうすれば、Contextを使えるのでしょうか。
>>94 その発想がそもそも間違い。
JavaBeansにサーブレットAPI依存のコードを書いてはいかん。
サーブレットがServletContextから値を取得して、その値を
JavaBeansにセットするようにすべし。
ちなみに、GenericServlet#getServletContext()は、
そのサーブレットのGenericServlet#init(ServletContext)を
サーブレットコンテナに呼び出してもらって初めてオブジェクトを
返すようになります。
96 :
デフォルトの名無しさん:03/09/23 15:05
>>95 >JavaBeansにサーブレットAPI依存のコードを書いてはいかん。
ワロタ。
97 :
デフォルトの名無しさん:03/09/25 00:29
JavaBeansって呼ぶたんびにインスタンス作るんですよね?
98 :
デフォルトの名無しさん:03/09/25 00:37
>>97 引数ナシコンストラクタ呼んでインスタンス作るのが、標準的な
使い方だからなあ。でも、setter/getterと引き数なしコンストラクタ
の制約以外は、単なる普通のクラスですから、何でも出来ます。
staticメソッド宣言したって何の問題も無いさ。
99 :
デフォルトの名無しさん:03/09/25 01:47
htmlでformを用意し、テキストエリアをつくりました。
このテキストエリアに日本語を入力させて、送信ボタンを押すとjspにテキストエリアの
内容を表示させるやつ書いたんですが、文字化けしやす。
日本語変換メソッドがあればどなたかご存知ないですか?うーん・・、。
100 :
デフォルトの名無しさん:03/09/25 01:52
>>99 HTMLViewのキャラセットとUnicodeとを変換する
エンコード設定ちゃんとやってますか?
101 :
デフォルトの名無しさん:03/09/25 02:07
>100
??どないなコードでしょう・・。
103 :
デフォルトの名無しさん:03/09/25 15:34
<jsp:include>を使ってtest1.jspから生成した2次元配列をtest2.jspに渡し
配列の内容を表示させたいのですがうまく出来ません。
---------test1.jsp---------
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%
String[][] a = new String[2][2];
for(int i = 0; i < a.length; i++){
for(int j = 0; j < a[i].length; j++){
a[i][j] = "a";
}
}
%>
<jsp:include page="test2.jsp" flush="true">
<jsp:param name="data" value="<%= a %>" />
</jsp:include>
------------end------------
---------test2.jsp---------
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%
String[][] a = requset.getParameterValues("data");
for(int i = 0; i < a.length; i++){
for(int j = 0; j < a[i].length; j++){
out.println(a[i][j]);
}
out.println("<br>");
}
%>
------------end------------
ソースはこんな感じです
test2.jspの3行目が悪いのだと思うのですが、
どのように変更したら良いのでしょうか?
servletでファイル読み込みするにはどうすればいいんだ????
106 :
デフォルトの名無しさん:03/09/25 23:28
>>105 BufferedReader br = new BufferedReader(new FileReader("ファイル名"));
これの事?
>>103 やりたいことはわかったがその方法ではできない。
試しにincludeしないで<%= a %>をそのままHTMLとして出力すると
何をしているか分かる、はず。
そういうときはこうかな。
--test1.jspのjsp:includeの直前から--
<% request.setAttribute("data", a); %>
<jsp:include page="test2.jsp" flush="true"/>
--end--
--test2.jspのスクリプトレットから--
<%
String[][] a = (String[][])request.getAttribute("data");
>>107 >試しにincludeしないで<%= a %>をそのままHTMLとして出力すると
>何をしているか分かる、はず。
ごめん、わかんない。
配列を要素番号付けずに表示しようとすると表示が変になるのは当然なんだけど・・・
オイオイ
その、「表示が変になった」文字列を受け渡しても意味ないって話だろ。
>>108 jsp:paramは文字列をそのまま渡す訳?
参照アドレスを渡したりすると思ってたよ
と言う事はパラメータに&を含ませてしまっても誤作動してしまうのか・・・
使えない
108じゃなくて109でした
>>111 そーじゃなくて、out.print()メソッドの中に入れた時点で
toString()メソッドが動いてるって話でしょ。
115 :
デフォルトの名無しさん:03/09/30 23:45
入門書を読み終えて実際小規模アプリのプログラムしたいので
サーブレットの基本を実装するアプリケーションの仕様を私にください
116 :
デフォルトの名無しさん:03/10/01 00:35
117 :
デフォルトの名無しさん:03/10/01 01:40
カタログ検索
google検索のように、大量データを検索し10件ずつ検索結果表示する。
作れたらソースください。
||||||||||||
( ・∀・)∩
120 :
デフォルトの名無しさん:03/10/02 00:59
>>117 オラが作ってやる。オラまだ2ヶ月しかJava触ったこと無いけど
どうすればいい?
googleのURL見れば大体解ると思うんだけど
カタログ検索ってなによ
大量データってDBにあるの?
123 :
デフォルトの名無しさん:03/10/05 01:29
DBにあるのです。
124 :
デフォルトの名無しさん:03/10/05 10:38
すみません。まったくの初心者です。教えてください。
javaの入門書を見ながらjdk(1.4.2)とjsdk2.1をインストールしたのですが
プロンプトでstartserverとコマンドしてもサーブレットが起動しません。
バージョンがあってないのでしょうか?それともパスが通っていないとか?
よくわからなくて…。ちなみに入門書ではjdk1.3を前提に書かれています。
125 :
デフォルトの名無しさん:03/10/05 12:52
>>124 まず、エラー表示内容だけでも書こうよ、、、
126 :
soesoe:03/10/05 12:59
始めまして。2週間ほど前からjavaを始めたものですが、
先日より上記の方のように入門書片手にJSP/サーブレットに手を出そうとしています。
しかし、TOMCATがうまく起動してくれません。
色々自分なりに調べては見たのですがチンプンカンプンです。
j2sdk(1.4.2)をいれ、Tomcatをインストールしてスタートすると
何故かエラーが起きて自動的に終了してしまいます。
パスは全て通っていると思います。
自宅以外の環境では普通にインストールできたのですが、
自宅PCだと色々試したのですが何故かうまくできずに悩んでいます。
ご助言よろしくお願いいたします。
Tomcat4.1だと表示から終了までが早すぎて読めず、ログもできません。
以下Tomcat5.0(β)を試したときにできたエラーログです。
http://www.geocities.jp/ccb37210/test.txt
>>126 俺もあんまり詳しくないんだけどさ・・・。
>Address already in use: JVM_Bind:8080
これが原因でないかい?
ポート8080が既に使われているっぽいんだけど。
違ったら誰か突っ込みおね。
128 :
デフォルトの名無しさん:03/10/05 13:33
XPで環境変数をclasspathをC:\usr\local\Tomcat4.1\common\lib\servlet.jar
に設定したんですが、サーブレットのソースコードをコンパイルできません。
何でこういうことがおきるんでしょうか?
どうか玄人の皆様ご教授をお願いします。
>>128 どのようにコンパイルしようとしたかを書いてくれないと返答が出来ない。
もしIDE(統合開発環境)を使っているなら、その製品名も書いてくれると
教えやすいんだが。
130 :
デフォルトの名無しさん:03/10/05 13:47
>>129 javac ソースファイル名でコマンド打ったら、サンプルコードでエラー。
ちなみにRedhat9同じコードでやったらコンパイルできた。
131 :
デフォルトの名無しさん:03/10/05 13:56
IDEは使ってないです。
例えば、j2sdkでコンパイルするときと、サーブレット(Tomcat)でコンパイルするときって
どうやらちがうようです。
Linuxでエラーが出たときはexport ClASSPATH=/usr/local/Tomcat4.1/common/lib/servlet.jar
と打ち直した後もういっかいjavac〜で打ち直したらコンパイルできた。
>>130 バージョンが違うのかな?
一応ソースを教えてくれる?
133 :
デフォルトの名無しさん:03/10/05 14:09
ちなみにエラー内容
Sample4.java:3: パッケージ javax.servlet は存在しません。
import javax.servlet.*;
Sample4.java:4: パッケージ javax.servlet.http は存在しません。
import javax.servlet.http.*;
Sample4.java:6: シンボルを解決できません。
シンボル: クラス HttpServlet
場所 : Sample4 の クラス
public class Sample4 extends HttpServlet
Sample4.java:8: シンボルを解決できません。
シンボル: クラス HttpServletRequest
場所 : Sample4 の クラス
public void doGet(HttpServletRequest request,
Sample4.java:9: シンボルを解決できません。
シンボル: クラス HttpServletResponse
場所 : Sample4 の クラス
HttpServletResponse response)
Sample4.java:10: シンボルを解決できません。
シンボル: クラス ServletException
場所 : Sample4 の クラス
throws ServletException
Sample4.java:14: シンボルを解決できません。
シンボル: クラス HttpSession
場所 : Sample4 の クラス
HttpSession hs = request.getSession(true);
エラー 7 個
134 :
デフォルトの名無しさん:03/10/05 14:15
コード
import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Sample007 extends HttpServlet
{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
try{
//セッションの取得
HttpSession hs = request.getSession(true);
Integer cn = (Integer) hs.getAttribute("count");
Date dt = (Date) hs.getAttribute("date");
String str1, str2;
135 :
デフォルトの名無しさん:03/10/05 14:15
//回数の設定
if(cn == null){
cn = new Integer(1);
dt = new Date();
str1 = "はじめてのおこしですね。";
str2 = "";
}
else{
cn = new Integer(cn.intValue() + 1);
dt = new Date();
str1 = cn + "回目のおこしですね。";
str2 = "(前回:" + dt + ")";
}
//セッションの設定
hs.setAttribute("count", cn);
hs.setAttribute("date", dt);
//コンテンツタイプの設定
response.setContentType("text/html; charset=Shift_JIS");
136 :
デフォルトの名無しさん:03/10/05 14:16
//HTML文書の書き出し
PrintWriter pw = response.getWriter();
pw.println("<html>\n" +
"<head><title>サンプル</title></head>\n" +
"<body><center>\n" +
"<h2>ようこそ</h2>" +
"<hr />\n" +
str1 + "<br />\n" +
str2 + "<br />\n" +
"お選びください。<br />\n" +
"<br />\n" +
"<a href=\"../car1.html\">乗用車</a><br />\n" +
"<a href=\"../car2.html\">トラック</a><br />\n" +
"<a href=\"../car3.html\">オープンカー</a><br />\n" +
"</center></body>\n" +
"</html>\n");
}
catch(Exception e){
e.printStackTrace();
}
}
}
137 :
デフォルトの名無しさん:03/10/05 14:18
ご教授お願いします。
>>128 CLASSPATHの指定が間違っているよ。
Tomcatをインストールしたフォルダを正確に書き込んでやればおk。
139 :
デフォルトの名無しさん:03/10/05 14:25
>>138 やってみます。ありがとうございました。
>>127 >Address already in use: JVM_Bind:8080
>これが原因でないかい?
>ポート8080が既に使われているっぽいんだけど。
とのご指摘ですが、具体的にどのように確認・変更をすればよいのでしょう?
よろしくお願いいたします。
>>140 とりあえずタスクマネージャからそれらしいプログラムを全部切れ。
オンラインアップデートするプログラムとか、ファイル共有ソフトとか全部だ。
>>126 Tomcatが既に起動しているっていう落ちでは
サーブレット起動したあとにそのクラスのコードを修正してコンパイルして
そのサーブレットを呼び出そうとするとエラーになっちゃうけど、
ひょっとしてコード修正する度にサーバー再起動させる以外に方法なし?
144 :
デフォルトの名無しさん:03/10/05 18:54
エラー表示ですが
コマンドプロンプト上にはなにも表示されません。
↓
-------------------------------
C:\jsdk2.1>startserver
C:\jsdk2.1>
-------------------------------
でも不思議なことにC:\WINDOWS\JAVAのフォルダが開くのです。
OSはwin98です。
>>143
まあ、それよりもだ
細かくチョコチョコ作っては確認のために動かしていたのでは効率が悪いんだよ
ある程度まとまったもの作ってから動かせよ
ロジック的なクラスだったらわざわざサーバ動かさなくてもテストできるし
>>145 なんか似たような話がいっぱいあるので迷うが
>>124は124と145だけですか?
俺前から気になってるんだけど「jsdk2.1」ってなに?
>>144 レスサンクス。
それ、ちゃんと記述してあるんだけどダメなんだよね・・・(´・ω・`)
Tomcat 4.1でつ。
>>146 なるほど、それもそうだな。
アドバイスサンクス。
>>148 リロードするタイミングは時間かかるときもあるよ
修正した後、Tomcatのプロンプトをじっくり見ていよう
ログレベルにもよるが、ずらずらと表示されればリロード完了
>>148 4.1.27だったらパッチ当てなきゃダメだよ
>>147 >
>>124は124と145だけですか?
はい、そうです。
Java Servlet Development Kitの略だそうです。
サーブレット開発に必要なAPIや
動作確認用の簡易webサーバが入っているらしいです。
パッチ当てたら、リロードできるようになりますた。
みなさまお騒がせしますた。
>>152 >サーバーが起動途中で以下のメッセージにて落ちる場合があります。
>「Can't set up server admin java.rmi.AccessException: Registry.bind: unknown host」
>この場合は、c:\windows\hostsファイルを以下のように変更してください。
> 127.0.0.1 localhost xxxxxxxxxx
>ここでxxxxxxxxxはWindowsのホスト名です。
>Windowsのスタートメニューより「設定」−「コントロールパネル」−「ネットワーク」を実行して、
>「ユーザー情報」ページの「コンピューター名」がこれにあたります。
>>154 ありがとうございます。
エラーの現象は違いますが、同じ起動手順です。
>>155 ありがとうございます。
試してみます。
現象は変わりませんでした…。
startserver.batの中味は「set CLASSPATH〜」という記述ばかりですので
パスに原因があるような気はするのですが…
C:\WINDOWS\JAVAのフォルダが開くので
簡易webサーバ起動プログラムを読みこむ以前の問題見込んで調査してみます。
ありがとうございました。
>141
>とりあえずタスクマネージャからそれらしいプログラムを全部切れ。
ご意見のとおり全て順番に切っていったら、フレッツADSLの接続ソフトの
フレッツマネージャーが原因だったようです。
まさかネット接続が原因だとは夢にも思っていませんでした。
おかげさまで無事Tomcatも動き、JSPの勉強が始められそうです。
ネットに繋ぎながらできないのは少々辛いですが・・・
ご親切にご助言いただいた皆様ありがとうございました。
>>159 別にそんなコトしなくても
Tomcatを8080以外で起動させればいいんでないの?
いちばん簡単な方法はGUIインストールの場合
とりあえず、インストールしなおしてその中で
ポート番号指定するダイアログが出てくるはずだから
その番号を8080以外にすればよい
他のやり方はserver.xmlファイルの8080の文字を他の数字に置換すればいい
JavaBeansの結果をセットするとき本にはSessionスコープに格納と書いてあるのですが
Requestスコープだと問題あるときってどんなときですかね?
>>161 リクエストをまたいで保存したいとき。またがないなら好きにすれば。
JSPのページスコープでもええよ。
どうしてもTomcat上でサーブレットが動かず悶絶しております。
色々調べて試してきたのですが全く動く気配がなく、お力をお借りしたいです。
jspなどは普通に動きます。
以下私の調べからの作業です。
OSはwindows2000にてファイル構成は
C:\Program Files\Apache Group\Tomcat 4.1\webapps\soesoe\WEB-INF\classes
クラスパスも同じ物を通してあります。
\Tomcat4.1\conf\web.xmlを書き換えてコメントアウトを外しました
<!-- ←消す
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<!-- ←消す
そして「intro.class」サーブレットファイルを
\Tomcat 4.1\webapps\soesoe\WEB-INF\classes\intro.class
に置いた状態で
http://localhost:8080/soesoe/servlet/intro にアクセスしますが・・・見つかりませんと出ます。
ご助言よろしくお願いしたします。
>>163 > クラスパスも同じ物を通してあります。
これは不要。
Servletのクラスのパッケージは?
>>164 >> クラスパスも同じ物を通してあります。
>これは不要。
早速削除しておきました
>Servletのクラスのパッケージは?
パッケージ?・・・
本当に始めたばかりでして、知らないばかりで申し訳ありません。
パッケージとは何をさすものでしょう?
> >これは不要。
>早速削除しておきました
まあ、あっても無意味。無視されるというだけだけどね。
> パッケージ?・・・
ソースの先頭に
package aaa.bbb;
とか書かなかったの?
ServletやるまえにJavaの基礎からやった方がいいみたいだね。
パッケージはServletに限った話じゃない。基本中の基本。
>>167 Tomcatのindex.jspとかは見られるの?
動くならそれを変更するとかすればとりあえず動くモノはできるでしょ。
ああ・・jspは普通に動くって書いてあるね。
漏れの直感だと100%マッピングのミスだ。
web.xmlとにらめっこしてれば直るよ。
>161
リクエストはバケツリレー。
セッションは水道の蛇口をひねりゃ良い。
(サーブレットコンテキストだろって突っ込まないでね。)
イメージ湧いた?
初めまして、最近JSP始めたものですが、サンプルが良く分からず、
困ってまつ。初心者でも、作れるJSPのプログラムで
これ、作れよってのありませんか?
176 :
デフォルトの名無しさん:03/10/16 23:44
<servlet-mapping>と、<srvlet>は固めて記述しないとだめだよ。
順序も重要。
OK
<servlet>~~~</servlet>
<servlet>~~~~~</servlet>
<servlet-mapping>~~~</servlet-mapping>
<servlet-mapping>~~~~~~</servlet-mapping>
NG1
<servlet-mapping>~~~</servlet-mapping>
<servlet-mapping>~~~~~~</servlet-mapping>
<servlet>~~~</servlet>
<servlet>~~~~~</servlet>
NG2
<servlet>~~~</servlet>
<servlet-mapping>~~~</servlet-mapping>
<servlet>~~~</servlet>
<servlet-mapping>~~~</servlet-mapping>
177 :
ツ?ツ?ツ?ツ?:03/10/19 15:18
サーブレットを用いてファイルをダウンロードさせようとしていますが、問題が2つあって困っています。
1つは、ファイル名に'.'(ドット)が2つ以上含まれる場合にIEでダウンロードを行うとファイル名がリネームされてしまうことです。
例:サーブレットで指定したファイル名:test.xls.zip
IEのダウンロードダイアログに設定されたファイル名:test[1].xls.zip
もう一つは、ダウンロードダイアログで「開く」を押下すると、同じダウンロー
ドダイアログが表示されてしまいます。でも、拡張子が".xls"等だったら表示されないんです。
「その原因はこれや。そんなんも知らんの?」とか「IEの仕様だろ? このURLを
見ろ!」というお答え、期待してます。よろしく><
178 :
デフォルトの名無しさん:03/10/19 15:27
>でも、拡張子が".xls"等だったら表示されないんです。
これは個々のIEの設定だからどうしようもない
たとえ自分のPCでOKにしても
他の人のPCではそうなるとは限らない
179 :
デフォルトの名無しさん:03/10/19 15:28
IEっていうか、どのファイルをどのアプリで開くかの設定か
すみません。もういっちょ、web.xmlのエラーです
データソースの記述を増やしたんですが、それからエラーがでます。<servlet>と<servlet-mapping>を削ると出なくなります
エラーは以下のとおりです。
2003/10/19 14:58:23 org.apache.commons.digester.Digester error
致命的: Parse Error at line 21 column 11: The content of element type "web-app"
must match "(icon?,display-name?,description?,distributable?,context-param*,filt
er*,filter-mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-map
ping*,welcome-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,sec
urity-constraint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref
*)".
org.xml.sax.SAXParseException: The content of element type "web-app" must match
"(icon?,display-name?,description?,distributable?,context-param*,filter*,filter-
mapping*,listener*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welco
me-file-list?,error-page*,taglib*,resource-env-ref*,resource-ref*,security-const
raint*,login-config?,security-role*,env-entry*,ejb-ref*,ejb-local-ref*)".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Un
ちなみに、web.xmlは以下のとおりです
<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "
http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>testservlet</servlet-name>
<servlet-class>testservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>testservlet</servlet-name>
<url-pattern>/testservlet</url-pattern>
</servlet-mapping>
<!-- JDBC DataSource -->
<description>MySQL Test App</description>
<resource-ref>
<description>MySQL DB Connection (using DBCP)</description>
<res-ref-name>jdbc/MySQL</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
182 :
デフォルトの名無しさん:03/10/19 16:01
<description>MySQL Test App</description> を消せ
183 :
デフォルトの名無しさん:03/10/19 16:14
携帯向けアプリを作ってるんですが、POSTされた情報をJSPで受け取る時、
次のコードを使うとauの携帯でのみ文字化けを起こします。
new String(request.getParameter("comment").getBytes("iso-8859-1"), "Windows-31J");
contentTypeにはWindows-31Jを指定してるんですが、何が原因なんでしょうか。
>>182
おおー、あなたは天才ですか?できました。ありがとうございます。!!!
<description>は解説だからどこに書いてもいいと勝手に解釈してました。
やはり、駄目みたいですね。それとも順序かな?
とにもかくにも良かったです。データソース関連で3時間くらい悩んでいたもんで
本とうれしいです。どうもありがとう
>178さん
「IEの設定」とは、具体的にはどういうことでしょうか?
>179さん
質問文が不明瞭でごめんなさい。
アプリの関連付けとは関係なく、2回ダイアログが表示されてしまいます。(IEがWindowsの設定とは別に".xls"等だけを関連付けて".txt"を関連付けしていないのなら別なのですが…)
186 :
デフォルトの名無しさん:03/10/19 16:25
>>183 文字化けって全部の文字が化けるのですか?
>new String(request.getParameter("comment").getBytes("iso-8859-1"), "Windows-31J");
フィルタつくったほうがいいんでないの?
で、ユーザーエージェント調べてそれぞれの指定文字コード振り分けるとか・・・
フィルタ使えるのはサーブレットのバージョンにもよるが・・・
てか、携帯って全部Shift_JISでないの?
188 :
デフォルトの名無しさん:03/10/20 01:01
プログラミングC言語を授業で習っているんですが、
具体的に何の役に立つんですか?
ハゲしくすれ違い基地外
191 :
デフォルトの名無しさん:03/10/26 02:18
質問です。
Appletのコンボボックスで設定した値をHTMLフォームの値のように
Servletで受け取る方法って何かありますか?
Httpリクエストの発行(Servlet呼出)はAppletではなく、
FormのAction属性から行います。
JavaScript等を使うのは問題ありません。
どなたかよろしくお願いします。
>>191 Live Connect
アプレットに getter 付けておいて FORM の Submit が押されたとき
に JavaScript で値を取得、HIDDEN に設定して Submit 続行。
193 :
デフォルトの名無しさん:03/10/26 22:10
>>192 どうもです。助かりました。
試してみます。
194 :
デフォルトの名無しさん:03/11/24 09:10
質問です
異なるuser-agentに対して
<%@ page contentType="text/html; charset=Shift_JIS" %>
の行を変えたものを出力したいのですが、ifで振り分けても
contentTypeは複数指定できませんというエラーが出ます。
どうしたらよいか教えてください。
>>194 JSPじゃなくてエージェント情報をServletにわたして、
HttpServletResponseクラスのres.setContentTypeメソッドで振り分けるのは
だめかい??
>>194 普通に
<% respons.setContentType("text/html"); %>
じゃだめなの?
197 :
デフォルトの名無しさん:03/11/25 21:59
web.xmlでエラーページを指定してるのですが、うまくいきません。
エラーになっても画面遷移しなくて、真っ白になります。
どこを確認したらいいのか、おまいら調べろ。
>>197 ・パスの指定が違う
・ファイル名が違う
・デプロイした場所が違うか。
その情報量だとこれぐらいしか答えられんな。
>>197 住所とクレジットカード番号を教えてください。
調べに行ってあげます。
>>197 そのweb.xmlのエラーのとこ見ないとわからないよ。
<web-app>
|
<error-page>
|
<error-code | exceptin-type>
|
<location>
まさか大文字と小文字を間違えてるとか?
どうしても無理ならこれ↓使ってとりあえずそのシステムを完成させて全部
終わったあとに処理するとか?RequestDispatcher のfoward(String url)で
任意のページも使えるよ。
sendError(int code)
setStatus(int code)
201 :
デフォルトの名無しさん:03/11/26 04:04
初心者質問ですいません。
プログラムの中でJDBCドライバをロードする際、パスを通してあるのに
ClassNotFoundExceptionのエラーが出てしまいます。
ちなみにドライバはMySQL Connector/Jで、プログラムの中で
Class.forName("com.mysql.jdbc.Driver");
と宣言しています。他に原因があるのでしょうか…
エラー内容はこんな感じです。
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:272)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at JavaDataAccess01.main(JavaDataAccess01.java:25)
Exception in thread "main"
>>201 えっと、それはservletなんでしょうか?
jspですね。
>>204 マジなんですが…
結局サーブレットに変換されるので「はい」と答えるべきだった
んでしょうか。すいません。
>>201 ドライバの入ったJARファイルを
アプリ/WEB-INF/lib
に入れる。
>>201 > at JavaDataAccess01.main(JavaDataAccess01.java:25)
mainメソッドが呼ばれるJSPですか?
まぁ、こたえは
>>206だが、TomcatでJSP&サーブレットやってるならDataSourceを使えと。
その場合はCATALINA_HOME/common/libだな。
「パスを通してあるのに」と言っている時点で大間違いなわけだな。
210 :
デフォルトの名無しさん:03/11/26 18:20
>>209 201のようなエラーが出ているということは
パスが通っていないからです
「パスを通してある」って言うのなら
実際にパスを通すためにやったことを述べて欲しい
211 :
デフォルトの名無しさん:03/11/26 18:33
「パスは通したつもりなのに」
と言えばいいわけね?
そういうことね。
とおすものが間違っている
>>207 DataSourceって何かな?
簡単にぐぐったらJDBCのDataSourceがヒットしたけど、違うよね。
common/libって事は禅アプリケーション共有で使うjarファイル設置場所?
>>214 これだ!と思わないで違うよね?と思っている時点でry
JSP以前にJDBC勉強し直せや
>>214 CATALINA_HOMEの出てくるパスと、このスレタイ(Servlet/JSP)から考えて、
JDBCは関係ないのかな、と思ったけど、
207がレスしている質問をみてみるとデータベースの話だったんだね。
思い込みスマソ。ちなみにJDBCについてはまったく知りませんでした。
217 :
デフォルトの名無しさん:03/11/27 01:47
DBが絡むとマジ複雑になる。しっかりDBの勉強汁。
排他、論理構成、物理構成..........etc.......
>>217 でもそういうのって、実際にDBを触れる業務に関わっていないと経験つめないよね。
勉強だけじゃ知識しか得られないからなぁ
219 :
デフォルトの名無しさん:03/11/27 02:17
勉強する時にフリーのDBでも使えばいいじゃんよ
べつにOracle用意する必要はない
DBどういうものかわかるだけでいい
しかもJavaならほとんどどれ使ってもソース自体そんなに変わらないぜ
ちょっと他でベンキョしておけばいきなりOracleでも本読みながらでも操作できる
ぎゃくにいきなりOracleから勉強はじめる方がきついんじゃないか?
>>219 自前のDB程度で>217の「マジに複雑になる」を体感できるのか。
ならポスグレでも入れて、掲示板でも作るかな(笑
夜遅くまでサンクス
221 :
デフォルトの名無しさん:03/11/27 02:30
>>219 おいおい。例えば検索1発にしても考慮することはいろいろとある。
SQLの書き方は初歩として、オプティマイザーの理解、インデックスの検討、etc....................
そこまで含めてJ2EE開発だろ。まあ、DB関係は要件レベルに依存するけどな。
222 :
デフォルトの名無しさん:03/11/27 02:38
漏れが複雑だと感じた1つに、OSのワークロード(プロセス優先順位・リソース割当て)
によってレスポンスが違う現象がある。
したがって、パフォーマンスを保証することがいかに難しいかということが言える。
223 :
デフォルトの名無しさん:03/11/27 02:38
>>221 >SQLの書き方は初歩として、オプティマイザーの理解、インデックスの検討、etc....................
>そこまで含めてJ2EE開発だろ。
いきなりそこまで出来ないでしょ?ってことをいってるのです。
だからね、俺の言ってるのは
いきなりOracle入れて勉強しようとすると絶対つまづくということ。
Oracle自体のそういったこと覚えないといけないから、
何がどうなってるのかわからなくなる。
あきらかに218のいう机上の勉強よりも役に立つ
開発者でありOracle使用が最終目標なら順を追って勉強すべき
DBの管理者ならOracleいきなりで構わないと思うけど
224 :
デフォルトの名無しさん:03/11/27 02:47
特にServletのようなマルチスレッドなシステムの場合、
トランザクション数に比例して、低レベルなリソースの競合が起こることは避けられない。
したがって、これはJavaのコード云々の話ではなくなる。
225 :
デフォルトの名無しさん:03/11/27 02:54
>>223 いきなり無理でしょっていうのは、あなたが言う通りです。
しかし、Oracleが教材として適してないというのは誤認ですよ。
大規模向けRDBMS>>>>>>>>>>>>MySQL>>>...etc.....
という位置づけだとしたら、MySQLで実現可能なことはOracleで出来るのです。
いきなりクラスター云々を学べと言ってるわけじゃないんで、最初からOracleで大丈夫でしょう。
226 :
デフォルトの名無しさん:03/11/27 02:59
結局何を言いたいのかというと、Java開発者だからJavaだけという認識はダメってことです。
Java開発者が書いたSQLで会社が倒産した事例があるくらい責任問われることもあります。
要は、意識の問題なのです。
227 :
デフォルトの名無しさん:03/11/27 13:03
AGE
228 :
デフォルトの名無しさん:03/11/27 18:39
要は、意識の問題なのです。
229 :
デフォルトの名無しさん:03/11/27 19:19
>228
共感してるのか?
230 :
デフォルトの名無しさん:03/11/27 19:58
薬師丸浩子「・・共 ・・・感 ・・・」
231 :
デフォルトの名無しさん:03/11/27 20:01
初歩的な質問なんだが、Servletのクラスをthisproject/WEB-INF/classesに
入れることはわかったんだけど、サーブレットが使うクラス(非サーブレット)や
サーブレットが開くテキストファイルはjspファイルなんかと一緒にthisprojectに
置くのが普通?
232 :
デフォルトの名無しさん:03/11/27 20:05
>>231 要はclassなんだからclassesフォルダの中にパッケージ構成のまま入れればいいのです
要は
>>231 テキストファイルもWEB-INF/classesの下に置いて、
getClass().getResourceAsStream()でとってくればいいよ。
234 :
デフォルトの名無しさん:03/11/27 22:20
ありがとうございました・・・
んが、サーブレットファイルを追加し、web.xmlにもそれまでの
クラスと同じように追加したのに404が出てしまふ・・・(;´Д`)
>>234 状況よくわからんが、web.xml の servlet-name は
ユニークになってるかい??
236 :
デフォルトの名無しさん:03/11/28 00:15
JSPから自作クラスの静的メソッドにアクセスしようと
したらシンボルを解決できませんと表示されたんですが
どうしたらいいのでしょうか?
237 :
風呂釜洗剤はJAVA:03/11/28 21:02
教えください。
p3pがらみでCookieを出したくないのだけれど、sessionの Cookie
HTTPヘッダでいうと "Set-Cookie: JSESSIONID=xxxx" を出さなくする方法っ
てありますか?
JSPサーバは TOMCATです。
Tell me the Truth.
あたし学生なんですけど、卒業研究発表の時にJAVAサーバーサイドプログラミング
で発表したいんスよ。
んで、ワケあって「TOMCAT」ONLYで発表したいんです。
普通はApache + Tomcatじゃないですか、
でも…諸事情によりTomcatオンリーで発表したいんですよね。
ですので、TOMの安定度が氏むほど心配なんです、なんか卒研発表時に
サーバーがダウンしたらどーしーよ〜って悩むんです。
卒研発表時はLAN環境で発表します、PC2台を繋げてそれでブラウザで
システムを見るだけなんですよ、ちなみに商品情報検索システムなんですけどね…。
P Cが2台くらいならTomcatは鯖落ちしないよね???
たいした過負荷じゃないしさ…ファイルなんてJSPファイルが40個だけですぜ、
教えて、偉い人。
>>236 importしてやってください
>>237 p3pってのがよくわからんが、
クッキーを使わなければHTTPヘッダにクッキーは出ないよ。
クッキーはHTTPのヘッダ経由でサーバとクライアントの間をやりとりする規格だから、
クッキーを使う以上ヘッダに出てくるのは避けられない。
>>238 氏ね
ちなみに諸事情とは、
まず第一にApacheのポートが80なのでIISとぶつかるということ。
第二に、他のチームに不安を与えるかもしれないため。
卒研発表時には、共用パソコンで発表をするのですが他の卒研発表チームが
とにかくアホなのでサーバー関係の知識がまったくないために、ほんの少しでも
「サービス」あたりをいじくると突然パニックを起こして不安を招く危険性があるということ、です。
ただ単に、IISを停止してその間にアパッチとトムを起動させるだけなんですけどね…。
あと、
Apacheのデフォルトポートを設定ファイルをいじくって「80」番から別の
ポートにすればわざわざサービスあたりをいじくる必要もないのですが、
設定ファイル(web.xmlあたりかな?)をいじくっていると、みんな神経質なモン
だからパニックを起こしそうなのね…「うわああああ!!先生以外は設定ファイルをいじ
くるなぁ!なにか悪い影響がでたらどうすんだよぉ」ってなカンジで…
うまく説明ができませんが、俺が何を言いたいか伝わりましたでしょうか?
なんで共用パソコンで発表しなきゃならんのかわかりませんがね、まったく…
教師があまりにも無能なもので大変なんですよ、生徒も。
241 :
デフォルトの名無しさん:03/11/28 22:16
んでは、PCが5台くらいのLAN環境だったとしたら、
5台が同時に一つのファイルにアクセスしたとしたら
雄猫は落ちたりしませんかねぇ…?
それとメモリ関係の質問なんですが、
雄猫使用後は、OSを再起動したほうがいいのでしょうか?
メモリが完全に開放されて再使用可能になるのでしょうか?
あたすのチームの次のグループがメモリ落ちで鯖落ちなんてしたらいい気味だからさ。
あだすの次のグループが使用するのはIISのASPなんですけどね…。
>それとメモリ関係の質問なんですが、
>雄猫使用後は、OSを再起動したほうがいいのでしょうか?
>メモリが完全に開放されて再使用可能になるのでしょうか?
ホラ、よく雄猫はかなりのメモリを食うって言うから気になりましてね。
まーいまのところ、IISを切ってそれでアパチを起動するかな〜と思っとりますが、
なんとか周囲の人間を説得しませんと…バカや無知はすぐにパニックを起こすから
まるで幼稚園生を諭すかのようで大変ですよ…。
雄猫のWEBサーバー能力ってどのくらいなんでしょうねぇ…?
30人くらいに同時アクセスされたら落ちるくらいに貧弱なんですかね?
アパチと連携させると1万人くらいのアクセスに耐え得るが、トムキャット単体では
50人くらいの同時アクセスでもう鯖落ちなのかな?せめて100人ぐらいは
持たないのかね、雄猫さんは…だからねずみ如きに舐められんだよ。
dakara sineyo
もっと俺を罵ってくれ!
ローカルあぼーんシマスタ。
248 :
デフォルトの名無しさん:03/11/29 04:26
つうか、サーブレットの方が普通のHTMLより占める割合がはるかに多いサイトにとって
Apache+Tomcatって意味あるのか?と思う
>>243 バカや無知はすぐにパニックを起こすから
俺にはおまいがそう見えて仕方ないんですが、なにか?
251 :
風呂釜洗剤はJAVA:03/11/29 10:21
>>239 237です。
p3pとは、「Webプライバシー保護仕様」のことだが、それは置いといて、
出てゆくCookieは、こちらが出しているCookieではなくて、javax.servlet.httpの
HTTPSession の Cookie っす。もちろんこちらから SetCookieしてないです。
HTTPヘッダでいうと "Set-Cookie: JSESSIONID=xxxx" です。
これを出さなくする方法なのですが、session管理は不要だから Cookieをださなく
する方法ってあるのでしょうか?web.xmlあたりに記述するのかしらん?
セッションを使わないなら、セッションのクッキーなんて出ないと思ったけど…
HttpServletRequest#getSession(false)してnullが帰ってくる?
server.xmlをいじれ。
<Context cookies="false">
Set to true if you want cookies to be used for session
identifier communication if supported by the client
(this is the default). Set to false if you want to disable
the use of cookies for session identifier communication,
and rely only on URL rewriting by the application.
ドキュメント読めよ。
もう片方のjspスレに書いてあったけど、
<%include ...%>をサーブレットのAPI使って実現することって出来るの?
255 :
風呂釜洗剤はJAVA :03/12/01 19:42
>>253 神様へ。南無ぅーー。
おかげ様でセッションクッキーをブロックできました。
神様のお告げを守りこれからは頑張ってドキュメントを読みまつ。
XMLDA.CNFの読み込みが上手くできません。UTF-16変換するだけじゃダメなの?
上記ファイル読み込みに失敗して、DBアクセス不可で終わっちゃう・・・・。
257 :
通りすがりの者:03/12/06 14:44
色々、調べていてこの掲示板に引っ掛かりましたが
ここは非常にガラが悪いですね。
(初心者の人向けではないと思います)
>>257 聞いてねえよ、回線切って電話線で首吊って氏ね
2chにガラのよさを期待してはいけない。
ガラの悪さとノイズを無視できるようでなければ、
2chでは生きていけないわな。
この板はかなりガラのいい板だと思うけど。
自分で調べた形跡の無い質問厨には容赦ないけどな
ところでこのスレ的にJSP/Servletの推薦図書ってある?
コア/モアサーブレット&JSP。
アメリカでは、Servlet2.4&JSP2.0対応の改訂版が出るとか出たとか。
263 :
デフォルトの名無しさん:03/12/06 20:37
クライアントが持っているファイルを読み込んでその内容をブラウザに出力しないと
いけないのですが、クライアントのファイルを直接読み込んで
ブラウザに表示させるという動作はアプレットで実現できると
言われたのですがそれがよくわからなかったので
multipart/form-dataを使ってサーブレットにファイルアップロードさせて
サーバ上にアップロードしたファイルを使ってその内容を
ブラウザに表示させようとした所、アップロードのメソッドを呼び出す
部分でアクセス拒否というjsエラーが出てサーブレットに
リクエストを送ることすら出来ませんでした。
サーバ上にあるファイルをダウンロードさせる機能は出来たので、
それと同じようにしてアップロードを呼び出そうとしたのですが
やはりアップロードの場合アクセスに関して制限があるのでしょうか?
>>263 クライアントのOutlook Expressのアドレス帳をこっそりサーバに
アップロードするようなアプレットがあったら嫌だろ?
プロフェッショナルJSPは良かったが。凄くというほどではなかったけど。
何が不満だったっけな…
>>262 コア/モアサーブレット&JSP って、上下巻ですか?
それとも改訂版、どちらでしょうか?
>>267 改訂版と続編の中間。
htmlの基本とかがわかってるならモアだけ買って当面問題なし。
質問です。
DBサーバに対してSQL文を投げ、三桁ごとにカンマをつけた形で返す
Jspを作っていたらつまずきました。サーバエラーになってしまい、困っています。
エスケープ文字を作るべきだと思うのですが、アドバイスをいただけたらうれしいです。
うまくいかない部分
String jouken = "SELECT TO_CHAR(列名,'9,999') FROM 表名";
>>269 ほんとにその文字列代入がうまくいってないのかと。
サーバーエラーになってるのに、なんでそのエラーを示さないのかと。
ちなみに「500 ナントカ」っていうエラーメッセージはいらない。
列5桁以上あったら殴るけどね。
JSPでSQL文を作ることには突っ込まなくてもいいのかなぁ?
274 :
デフォルトの名無しさん:03/12/21 11:06
<jsp:useBean id="bean" class="TestBean">
のclassの部分のパスはどこから見てなんでしょうか?
色々試したのですが、以下のようになってしまいます。
HTTP Status 500 -
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
JSPファイル: /test2.jsp の中の行: 1でエラーが発生しました
生成されたサーブレットのエラーです:
[javac] Compiling 1 source file
/usr/local/jakarta-tomcat-4.1.27-LE-jdk14/work/Standalone/localhost/sample/test2_jsp.java:42: シンボルを解決できません。
シンボル: クラス TestBean
場所 : org.apache.jsp.test2_jsp の クラス
TestBean bean = null;
>>274 Beanをデフォルトパッケージではなくて、どこかのパッケージ配下にしろ。
で、/WEB-INF/classes の下にパッケージ階層とおなじ構成のディレクトリ構成を
作って、そこにコンパイル済みクラスファイルを配置する。
276 :
デフォルトの名無しさん:03/12/21 11:42
277 :
デフォルトの名無しさん:04/01/02 02:23
ファイルアップロードを作っています。
ファイルサイズをアップする前にチェックしたいのですが、何か良い方法ないでしょうか?
アップしてからは簡単にできたのですが、それだと大きなファイルだと時間がかかります。
278 :
デフォルトの名無しさん:04/01/02 17:45
Tomcat 4.1.27を使っています。
<jsp:useBean id="myobject" class="Myclass" scope="request" />
<jsp:getProperty name="myobject" property="myvalue" />
のようにしたところClassNotFoundExceptionが発生しました。
ためしに、myobjectオブジェクトのgetMyvalue()をスクリプトレットから呼び出してみたら
ちゃんと呼び出せましたし、jsp:setPropertyの方もちゃんと動作するんですが
間違っているとしたらどのあたりでしょうか?
JavaBeansはデフォルトパッケージじゃなくて、どこかのパッケージ配下にすれ
>>279 説明不足でごめんなさい、パッケージに
してあって、importもしてあります(´Д`;)
>>280 userBeanタグのclass=""をパッケージ名を含めた完全修飾名で記述して
>>281 上手くいきますた(・∀・)
サンクス!
284 :
デフォルトの名無しさん:04/01/06 17:35
inputtypeを、"file"と"text"両方一変に送信したく、
enctype="multipart/form-data"にとしてsubmitすると
getParameterしてもtextがnulで返ってきてしまいます。
どうしたらよいでしょうか?
>>284 どうやってファイルを受け取ってるのかによるな。
EclipseでTomcatを動かしているんですが、
InsertTag.class の doStartTag()を呼ぶ時点でSource Unknownとなるんです。
サーブレットファイルを見ると、
InsertTag.classをnewしてるところや
このクラスの他のメソッドを使っている部分はエラーなし。
で、それらのあとに、
「インスタンス.doStartTag();」という記述があるのですが、
そこでNullPointerExceptionで落ちます。
新しいjarファイルを上書きしても、
Classファイル格納フォルダを全て削除して再ビルドをかけても、
Eclipseを再インストールし直しても
一向に認識してくれません。
それまで正常に動いていたのですが、
何故か急にエラーになってしまいました。
今は会社で3台のマシンを使っているのですが、
そのうち2台で同じ現象がおきています。
3台全部ならサーバーに問題があるんでしょうけれど。
解決方法が何かありませんでしょうか?
上の補足ですが、
InsertTag.classはjarファイルに入っているもので、
共通系の部品として受け取ったものです。
そのため、自分では作っていません。
そのjarファイルは他の人たちも使っているため、
そこにはエラーはないと思われます。
>何故か急にエラーになってしまいました。
今まで動いていたのに、なぜか急にエラーになってしまうことなんて、
ハードが死ぬとか、時間に依存する処理があったとかでもない限り無い。
何かを操作したからそうなった以外の何者でもない。
解決できました。お手数かけました。
>>289 解決できたのに、どうやって解決できたのか書かないと、ほんとにただ手間かけさせただけになるな。
291 :
デフォルトの名無しさん:04/01/13 22:48
>291
古くない?
293 :
デフォルトの名無しさん:04/01/14 01:55
sax2でxmlをパースした結果をxmlのエレメントに対応したJavaBeanに格納して
sessionが切れるまで保持しておく。
↑
といった感じの事って出来ますか?
サンプルソースってどこかにありますか?
サンプル見るほどのものか?
う〜ん、初心者向けかどうか、というよりも
あなた自身が
「 sax2でxmlをパースした結果をxmlのエレメントに対応したJavaBeanに格納して
sessionが切れるまで保持しておく。 」
と、やりたいことをどうやればいいのか自分で説明できるにもかかわらず
なぜサンプルを欲しがるのかがちょっと理解できない。
自分で説明したとおりに実装すればよいのでは?
297 :
デフォルトの名無しさん:04/01/14 15:35
簡単に言うとメンドクサイんだと。
やれば出来るかもしれないけど出来ないかもしれない。
ま、
失礼します。
Win2000のTomcat4にてDllをsystem.loadLibraryにて
ロードして使用しているのですが、クラスファイルを
更新したあと(reloadable=true)、自動的にアプリケーションのリロードがかかると
already loaded in another classloader
という例外がでてloadLibraryに失敗してしまいます。
Tomcatを再起動しないかぎり、もう一度loadできなくなるのですが、
なにかいい回避方法はないでしょうか?
Tomcat 4.1.29
j2sdk 1.4.2.20 です。
301 :
デフォルトの名無しさん:04/01/15 15:37
linuxでtomcatを使っています。
webapp/WEB-INF/classes配下にservletで使用するクラスファイルを置いているのですが、
tomcatを再起動しないとこのクラスファイルの更新を認識してくれません。
これは仕様なのでしょうか?
touch web.xml
303 :
デフォルトの名無しさん:04/01/15 19:22
関数and/orポインタを使ってユニークなプログラムを作成せよ。
(例)アナログ時計で任意の時刻において長針と短針のなす角ををもとめるプログラム。
この問題をお願いします。
最近のtomcatは再起動しなくても
クラスファイルを更新できることができたような。
WASだったかな??
reloadable="true"
306 :
デフォルトの名無しさん:04/01/15 23:23
Eclipse + Tomcat Launcher で reloadable=true でやってるけど
ちょくちょくリロードに失敗しました、うんたらと表示されるので
いちいち再起動してんだけどそんなもんなのか?
>>306 Tomcatのバージョンが4.1.27なのにパッチ当ててないとか
308 :
デフォルトの名無しさん:04/01/15 23:48
>>307 うほ! 4.1.27 だよ。 ありがd!
309 :
デフォルトの名無しさん:04/01/16 02:35
Error: 500
場所: /ServletRenshuu/hello.jsp
内部のサーブレットのエラー:
org.apache.jasper.JasperException: Unable to compile
at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898)
at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733)
at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506)
at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968)
at org.apache.tomcat.facade.RequestDispatcherImpl.doForward(RequestDispatcherImpl.java:259)
at org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:174)
at servletTest.HelloServlet.doGet(HelloServlet.java:15)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Unknown Source)
JSPを表示させようとしたら上記のエラーが出ます
何が原因なのでしょうか?原因と対策を教えてください
>at servletTest.HelloServlet.doGet(HelloServlet.java:15)
これ読めないならうんこ喰って芯でください
読めるけど調べる気も起きずここに書き込んだ場合はうんこを一時間に込んだものを喰って芯でください
>>302 ありがとうございます。
でも、ファイルの更新日付が変わらないぐらいの短時間の場合は
更新を認識してくれないんですね。
>>311 前やってた時はがんがん認識してたけが。
WinXP, JDK1.4.2, 最近のTomcat4.xxで。
君のは何かぶっ壊れてるんじゃ?
>>311 ファイルの更新日付が変わらないぐらいの短時間って、1ミリ秒以内ってことか?
>>312 LinuxのJDK1.3,Tomcat4.XXです。
javaが古いのが問題でしょうか?
>>313 ファイルの日付の単位って1分単位じゃ・・?
>>310はスタックトレースの読み方も知らないバカ。
org.apache.jasper.JasperException: Unable to compile
↑
こっちだろ
>>314 > ファイルの日付の単位って1分単位じゃ・・?
GUIやコンソール上の表示だけはね。
WinもLinuxも内部ではミリ秒単位で管理してる
>>317 心配いらん。漏れは1ミリ秒以内でマウス連打できるからな。
ケンシロウ!
>>309 それはブラウザに表示されているメッセージ? だとすると、Tomcatのログにもっと
詳しい情報(コンパイルエラーのメッセージとか)が出力されていませんか?
321 :
デフォルトの名無しさん:04/01/17 17:37
>>320 2004-01-17 17:34:16 - Ctx(/ServletRenshuu) : Exception in R( /ServletRenshuu + /hello.jsp + null) - org.apache.jasper.JasperException: Unable to compile
at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898)
at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733)
at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506)
at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:875)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Unknown Source)
が出ます
コンパイルできないのはわかるのですが
なぜコンパイルできないのかがわかりません
以前eclipse2.0から2.1に変える以前は表示されてました
servlet.xmlやweb.xmlも確認済みです
>>321 servlet.xml→server.xml
コマンドラインからjspcでコンパイルしてみろ。
マルチウザ
Program FilesとかDocuments and Settingsみたいな所に
インストールしてたら、とりあえず殴るけどね。
>>317 >GUIやコンソール上の表示だけはね。
>WinもLinuxも内部ではミリ秒単位で管理してる
そうなんですか。
知りませんでした。
じゃあ、更新を認識していなかった時はなんだったのでしょうか・・
>>326 単に、Tomcatのファイルの更新監視処理が1分(?)間隔で動いているだけかと思ってたが。
1つのサーブレットでどのリンクが押されたか判別する方法はないでしょうか?
呼び出し元はHTMLで書かれていて、サーブレットを経由して、それぞれのJSPへ
飛ばしたいのですが。
ちなみにURLの後に ?パラメータ=値 以外でにしたいのですが。
2chの先生方お願いします。
>>328 form method="POST"
ボタンでなくリンクのクリックで画面遷移したいなら
<a onclick="hogehoge()" ...>
とかやってJavaScriptで解決。
クリックで飛ぶとは限らないワナ。
パラメータ読まれたくないならなにか値とリンク先のテーブルを持つしかなくない?
fuuという名前のservletを作って、結果をSSIで呼びたいのですが
<servlet code=fuu >
</servlet>
shtmlファイルに、こんなタグ入れても、そのままソースに出るだけでservletを実行してくれません。
何か特別な設定がありますか?
<SERVLET>タグが受け付けられていない気がするんですが・・・。
ちなみに、このservletにhttpからリクエストすれば、ちゃんと表示されます。
日付や時間を表示する他のSSIは使用できます。
わかる方、よろしくお願いします!
受けられていないと言うか、コンパイルされるわけじゃないんだから、
そのままソースに出るのは当たり前じゃないか?
>>331 なかなかおもしろいこと考えるな・・・・
servletタグはweb.xmlの中だけで使えるんだが。
>>333 web.xml をブラウザで表示させてみましたが、やっぱり実行してくれません。
どうしたらいいんですか?
>>334 とりあえず、せんせいあのね あたりからやり直さないと駄目だと思う。
337 :
デフォルトの名無しさん:04/01/28 22:04
>>334 なかなかネタのセンスがあるな。
IE 限定だがインナーフレームにその Servlet の URL 指定したら?
338 :
デフォルトの名無しさん:04/02/03 17:04
Sessionが切れたときにサーバ側のクラスって呼べるんですか?
また、ブラウザを開いている間はセッション切りたくないんですが
どんな具合に処理すればいいでしょうか?リロード無しで・・・
>>338 > Sessionが切れたときにサーバ側のクラスって呼べるんですか?
リスナを使う
>リロード無しで・・・
むりぽ
>>339 どうもです。
リロード無しの件ですが、アプレットもしくはFlash内でセッションを
更新することは出来るのでしょうか?
341 :
デフォルトの名無しさん:04/02/03 17:56
>>338 前どこかのサイト(確か米国のべりサイン)で見たのが
ブラウザのJavaScriptがサーバがセッションタイムアウトするのと
同じ時にセットされてるタイマが動いてて、
タイムアウトする数分前にもうセッション切れちゃうからね、のような
表示がでて、何もしないとセッション切れと同時にログアウトされるのが
あった。
もしイントラなどならスクリプトでIFrameリロードさせたりする応用は
簡単かと。
>>341 どうもです。
IEの場合、リロードかけると「カチッ」と音がするので、
どうしてもこれを避けたいんです・・・
HTMLに埋め込んだアプレットで通信させるとか。
ところで、アプレットはブラウザと同じセッションを使えたっけ?
別のサーバからは別セッションとして扱われる?
>>342 「カチっ」って藻前、神経質なやっちゃな。客の要望でもないんだろ。
Javascipt で img src (サイズ1とか背景と同じとか)に指定した
何も処理しない servlet を更新してみるのはどうだ。やったことないけど。
>>342 >IEの場合、リロードかけると「カチッ」と音がするので、
そんなもん設定次第だろ、下痢
>>345 どうやって設定すんのか教えてくれ。サーバ側で。
クライアントに設定してもらうとかアホなこと言うなよ。
クライアントに設定してもらう
クライアントに設定してもらう
アプリケーションサーバからはブラウザの設定かえれないってことでしょ。
クライアントが設定、で十分正解と思われ。
気にならないやつはその設定変えないし、気になるやつは変える。
>>349 「リロードかけると「カチッ」と音がする」>342
↓
「鳴るかどうかはクライアントの設定次第」>345
↓
「いちいち使用者一人一人に直せとも言えないから
サーバ側で直せる物なら直してみろ」>346
かな?
>>345の言ってることは間違ってないと思うけどね。
どちらにしろ
>>346のキレ具合が謎
出遅れた
たしかに客の要望では無いんですが、
約1分に一回カチッと音がするのは何となく客がいやそうなんで。
クライアントに設定させるのはちょっと無理があるし・・・
アプレットはJVMが無いとダメなんで、採用は不可かも。
Flash内から出来ないかな?
普通にセッションタイムアウトまでの時間を長くすればいいように思われ。
君は何か努力の方向が間違ってるような気がしてならない。
タイムアウトは最小?の1分じゃないとまずいんです。
ここはどうしても譲れないところなんで・・・
>クライアントに設定させるのはちょっと無理があるし・・・
んなこと言ってたってしゃーねーだろーがよー
聞くのに条件を小出しにするな、自分で考えてやったら?
>ブラウザを開いている間はセッション切りたくないんですが
>タイムアウトは最小?の1分じゃないとまずいんです。
意 味 が わ か り ま せ ん
「カチッ」が嫌ならセッションぶち切るしか無いと思うけど・・・
クッキー使えば多少はマシになるだろ。
┌─────────┐
│ 基地外警報!!! |
│ 基地外警報!! |
└―――──――――┘
ヽ(´ー`)ノ
( へ)
く
|\
┌──────────┘- \
│ 気の触れた方が \
│ /
└──────────┐- /
ヽ(´ー`).ノ |/
( へ)
く
- = ≡三 |\
- = ≡三 ┌──────────┘- \
_ = ≡三 │ \
 ̄ = ≡三 │ いらっしゃいます /
- = ≡三 └──────────┐- /
(´ー`) - = ≡三 |/
( ヽ ヽ)
/ >
今日日、今日日なんて言葉使ってる奴久しぶりに見た。
IEなんて使ってるからだろ。
クラサバかMozillaにしろ。
つーか、もし仕事場で使ってるシステムなら音切ってるだろ。
はじめまして、最近JAVAでサーブレットの仕事を始めたものです。
ふと疑問にあがったことがありまして・・・
ここのスレでは場違いかもしれませんが、、
HTTPのヘッダに表示言語の指定があると思います。
それと同じように、HTML内で<META>で同じようなことを指定することが
できると思います。
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
なぜ、同じような指定をすることが2箇所もあるのでしょうか?
この表示言語以外にも同じような意味のものがダブるものもあるかと
思います。
その住み分けはどうなっているのでしょうか?
>なぜ、同じような指定をすることが2箇所もあるのでしょうか?
HTTPヘッダはサーバが解釈するもの。
HTMLはクライアントが解釈するもの。
htmlファイルを書く人=httpサーバの管理者(httpヘッダーの出力変えられる人)とは
限らないから。
htmlの<head></html>の中にhttpヘッダと同等のものを書けるようになってる。
例えばプロバイダのサーバにhtml置く時にコードセット変えたいと
思うかもしれないでしょ?
× <head></html>
〇 <head></head>
まずは、ありがとうございます。
>>366 >HTTPヘッダはサーバが解釈するもの。
>HTMLはクライアントが解釈するもの。
今回の文字コードの話HTMLはクライアントが解釈する(解釈しないといけない)”意味”はわかるのですが、
サーバが解釈する意味ってどういうことなのでしょうか?
サーバが解釈するといいことあるのでしょうか?
>>367 > htmlファイルを書く人=httpサーバの管理者(httpヘッダーの出力変えられる人)とは
> 限らないから。
なるほど、、、
370 :
デフォルトの名無しさん:04/02/19 18:48
質問です。
Tomcatを使っているんですが、 '〜' の文字が '?' に文字化けします。
JSPで
<jsp:getProperty name="aaa" property="name" />
で取り出すとそうなるのですが、どの辺をいじればいいのでしょうか?
全UTF-8にするとならないんですが、Shift_JISでやりたいです。
あまりに今更すぎる質問
御先輩方ご教授ください。
現在サーブレットでシステムを開発しているのですが、
それをMVC形式で作成したいと思っています。(今回この形式で作成するのは初めてです)
通常は、クライアントからの要求を受けるのが(コントローラとして)サーブレットで
クライントにその要求の結果を返すのがJSPということらしいのですが(その間beansでデータは受け渡しますが)
今回、クライアントが、ブライザではなく、Cのプログラムなので、Cのプログラムの受けはサーブレットで、
その後、処理した結果(DBへのアクセスの結果はBeanで受け渡しますが)をCのクラインアトに
返す、それ専用のサーブレットで2段階でいこうと思っています。
そこで質問なのですが、最初のコントローラ的なサーブレットから、結果を返すサーブレットに
どうやって、Beanの情報とか、もしくは、最初のコントローラ的なサーブレットで作成したオブジェクトの情報を
渡せばいいのでしょうか? セッション変数で渡せばいいのでしょうか? というかそもそも、セッション変数も
渡せるものでしょうか??
長文失礼しました。
>373
HttpServletRequestの中に突っ込んでおいて(request.setAttribute)、
forward先で取り出すのが「普通」。
セッションに入れなくていいものまでセッションに突っ込んではいけない。
> >373
ありがとうございます。
> HttpServletRequestの中に突っ込んでおいて(request.setAttribute)、
> forward先で取り出すのが「普通」。
上記のことは、request.setAttributeでは、普通のオブジェクト
(たとえば、自作のクラスのインスタンス)も渡せるのでしょうか?
> セッションに入れなくていいものまでセッションに突っ込んではいけない。
それは、セッションを無駄にしないためという側面からでしょうか?
>>375 setAttributeはオブジェクトなら何でも渡せる。
ただし、基本型(intとか)はそのままじゃ渡せず、ラッパークラス(Integerとか)でくるむ必要がある。
セッションに何でもかんでも入れるなと言うのは、メモリ節約のため。
セッションに巨大なデータ入れとくと、サーブレットコンテナはセッションタイムアウトまでそのデータをメモリ上に保持するわけだ。
激しく同時接続されても逝きにくいシステムにするために、あんまりでかいのは入れるなと言うこと。
>>369 サーバが解釈するってのは一部間違っている。
両方ともクライアントが解釈するもの。W3Cではクライアントは
HTTPヘッダ -> METAタグ の優先順位で文字セットを判定すると
規定されている。これに従えばヘッダに文字セットが設定されて
いればMETAタグは不要となる。
が、現実はMACのネスケ、WindowsのIEの一部バージョンでこれに
従っていないものがある。よって両方指定するのが一番安全。
で、JSPの場合、pageディレクティブのcontentTypeは、レスポンス
ヘッダに文字セットを設定するが、JSPファイルそのものを読み込む際の
エンコーディングにも使用される。これが曲者で別々の文字セットを
指定することが出来なかった。しかし JSP1.2から pageディレクティブに
pageEncoding属性が指定可能になった。
えーと。なげーよ。
>>377 ありがとうございます。
この件について、わかったことを書きます。
当方、JAVA+TOMCATで開発しているのですが、
HTTPのヘッダに表示言語の指定(CONTENTS TYPE)の指定は
どうも、TOMCATを通ったときに、その文字コードに変換されるみたいです。
というのも、JAVAでそのままレスポンスで書き込むと
クライアントのほうで、UNICODEのままわたってしまっていました。
実際は、クライントでレスポンスでわたってきたものをファイルに書き出したものを
VIで表示してみたのですが。。。ちなみに、クライアントは、LINUX。
で、CONTENTS TYPEをEUCに設定してら、ちゃんとVIでも見えました。
>>379 ちがうとは?
378のことが変ですか?
381 :
デフォルトの名無しさん:04/02/26 13:23
ボタンを押したときに登録処理を実行するとして、
何回も連射されたとき同じデータが何件も登録されるのを防止するのって
どうやるのでしょう?javascriptでボタン一度押したら押せなくするとかは
できると思うのですが、サーバー側では対処できませんか?
>>381 サーバ側で対処してないWebアプリなんて使いたくない。
>>381のシステムは、きっと外部からpostし放題な予感
すいません。
具体的にどのように対処するのでしょう?
簡単におしえていただけませんでしょうか?
いいかげんバージョン:
例えばフォームの中に
hiddenなフィールドを入れて適当な数値か何かを入れておく。
サーバ側で最近受け付けた数値を覚えておく、
その数値に同じものがあるときは連打と判断して処理しない。
これだとDosに弱いから、セッション使える時は
セッションとフォームidの組み合わせかな、単純なのは。
セッションの中にフォームをはいた時のidを覚えておくとか。
>>383 J2EE Pattern の Synchronizer token が基本だな。
>383 じゃなくて
>>384 の間違い。すまん。
388 :
デフォルトの名無しさん:04/02/28 22:44
すいません教えてください
webアプリケーションのURLっていうかコンテキストルートの名前を
そのアプリケーション内のサーブレットやJSPから取得したいのですが
どうすればいいのでしょうか?
こういう文字列が取得したいのです→「
http://mydomein:8080/myapp/」
>388
APIくらい調べろよ。
>>388 eclipse使ってれば、「session.」とかうてば、それらしいメソッドが表示される。
御先輩方、ご教授お願いします。
サーブレットの中から、Cで作成したプログラムを動かしたいと思っています。
で、サーブレット側では、動かした、Cのプログラムの終了を待って、処理を続行したいと
思っています。つまり、サーブレットとCのプログラムは、同期をとって動きたいと思っています。
その場合、サーブレット側では、Cのプログラムのリターンコード(処理結果)も得たいと
思っています。さらに、Cのプログラムが途中でハングアップしてサーブレット側に
制御が戻らない場合のことも考えて、処理を実装したいと思っています。
#いろいろ自分なりに調べてみたのですが。。。。
投稿が長文なので、次のレスに続きは投稿します。
すいません。。
(続く・・・)
(続き・・・)すいません。
上記の投稿の続きです。
//Cのプログラムを動かす
errcnt = 0;
process = Runtime.getRuntime().exec(Cプログラム名);
while(true){
try{
int ret =process .exitValue();
//処理終了
break;
}catch(IllegalThreadStateException e){
errcnt++;
//ハングアップしているかの判断
if (errcnt >= 100000){
//err回数が、多い(ハングアップしていると思われる)
process.destroy();
break;
}
continue;
}catch(.......){
//err 処理
process.destroy();
}
}
//Cのプログラムが終わった後の処理
(retが処理結果)
すいませんまた下に続きます・・・
(続き)
このような感じでよろしいのでしょうか?このようなコードは一般的なのでしょうか?
また、この方法でJAVAから呼び出されるCのプログラムは特に上記の方法でJAVAから
呼び出させるとか特に意識しないでよろしいのでしょうか?
また、ハングアップしているかの判断は、これでは甘いでしょうか?
できれば、sleep等とで処理を数秒止めてからループを実行したいのですが、
sleep等のうまい方法が見つけれれませんでした。一般的にはどんな方法で
ハングアップの判断を行っているのでしょうか?
質問ばかりですいません。
環境:Linux(RedHat)+JAVA 1.4+TOMCAT+APACHE
以上、よろしくお願いします。
一般的ですか?一般的ですか?ってさ、
一般的なら本屋で立ち読みすればそのくらい書いてあるから。
本屋で立ち読みって一般的ですか?
>>391 Thread.sleep( 1000);
とかでstaticに呼び出せるでしょ?
これをexitValueの前か後で行えば良いと思われ。
あるプロセスがハングしてるかどうかの
検出は難しいと思われ。できるのか、そんなこと?
Javaならロックが循環していることを検出できるらしいが。
>>396 ありがとうございます。
Thread.sleep( 1000); ってそのままでよかったんですね。
いやなんか、Threadって言う名前なので、Thread別に作ったものの
中で使うものかなとか思っていました。
そもそも、JAVAのプログラムってその単位は、Threadなのでしょうか?
自分は今まで、作成したJAVAのプログラムが、Threadとか意識してなかったのですが。。。
>Javaならロックが循環していることを検出できるらしいが。
ロックが循環とは、どういう意味なのでしょうか?
以上、よろしくお願いします。
>388
そのものずばりというAPIは用意されていない。
ホスト名を取り出すメソッド、ポート番号を取り出すメソッド、
コンテキストを取り出すメソッドなどがあるので、
それを組み合わせるしかない。
それでもschemaを取り出すメソッドはないから、
http なのか https なのかはポートから判定するか、
リクエストから取り出すしかない。
>398
scheme は getScheme で取り出せる。
ご教授ください。
現在、Linuxで、パーミッション777のディレクトリに
サーブレットで、ログファイルを作成して、1レコードログ情報を書き込みます。
その後、そのサーブレットの中から、java.lang.Runtime.exec()で起動したCのプログラム
の中で、また同じログファイルに1レコードログ情報を追記するようにしています。
その後、またサーブレットのほうで、また同じログファイルに1レコードログ情報を追記するようにしています。
#それぞれの書き込み時には、OPEN−CLOSEをその単位で実行しています。
しかし、サーブレットで、ログファイルを作成して、1レコードログ情報書き込んだ時点で
そのログファイルが、作成者以外、書き込み禁止のパーミッションになってしまっています。
それが、原因で、Cのプログラムでログファイルに情報が書き込めません。
ファイルのパーミションを変更する方法はどのようにすればよろしいのでしょうか???
#それを疑問なのですが、サーブレット実行のユーザーとCの実行ユーザーは異なる人に
なるのでしょうか??
よろしくお願いいたします。
401 :
デフォルトの名無しさん:04/03/02 20:33
フォームメールを作っているのですが、
添付ファイルを送信しようとするとサーブレット側でgetParameterでファイルを取得できません。
何か良い方法は無いでしょうか。
403 :
デフォルトの名無しさん:04/03/02 21:39
> Pascalはブロックの最後に限り、セミコロン無しでも良かったはず。
そもそもこれがわかってない証拠。それを「やれやれ」だなんて名前でかいてくる
ぐらいだから「しったか君」であることは確実。
そもそもあのPascal風にするやつってのは、beginとかendとか書きたいからやる
わけではない、Cみたいに最後の文に余分なセミコロンをつけなきゃいけないのが
いやだからやるわけだ。つまり、そっちが主、beginとendにするのは従なわけ。
そんなことは20年前から常識!
404 :
デフォルトの名無しさん:04/03/02 21:46
>402
ありがとうございます。
fileuploadですか。。
難しそうですね。。頑張ってみます。
405 :
デフォルトの名無しさん:04/04/03 22:11
Java好き(飲み物の方)オヤジなんですが、
JSPレンタルサーバではどこがいいのですか?
昔Akiraとか聞いたことあるけど、今はどうなんですか?
通な人、おせえてください。
strutsのアクションフォームって、
URLパラメータの値も
そのアクションフォーム同じ名前なら
勝手にフォームにセットしてくれるの?
>>406 セットされる。
その前に get と post について理解しる。
おしてください。EUCコード<−−>UNICODE変換が
うまくいきません。
詳細は以下です。
現在、java sdk 1.4でサーブレットを作成してるのですが、
リクエストで、バイナリと、テキスト情報(EUCコード)を読み込んで処理しています。
(ちなみにクライアントはブライザではなく、Cのプログラムです)
リクエストが、バイナリと、テキスト混在なので、1バイトずつ読み込んで処理しています。
1バイト読み込んだものは、ByteArrayOutputStreamに保存しておき、
処理が終わった後、ByteArrayOutputStreamのtoString("EUC-JP")
を使って、String型に変換して、そのあとの処理はString型の変数を使って
処理しています。
(もちろん、ByteArrayOutputStreamのtoStringで変換するデータは、
変換処理を施す前に、テキスト情報(EUC)のみが判別されています)
ただ、ここで問題なのが、EUCコードで"〜"(全角の波文字?)と"−"(全角のハイフン)が
半角の"?"文字とかに化けてしまっています。
多分、EUCコードとUNICODE変換でおかしくなっているみたいです。
こういうことは、起こるものなのでしょうか?
もし起こるのでればその回避方法はあるのでしょうか?
また、この逆でも同様の現象がでます。
String XXX;
XXX = "−" + "〜";
XXX.getbyte("EUC-JP"); <--- ここでもうまく変換できないようです。
情報ありましたら、おしえてください。
>>408 Unicodeだと同一または似ている文字が何個かあります。
全角〜−はそのうちの一部でJavaだとUnicodeと各文字コードの対応がうまく取れてないことがあります。
Unicodeでは
〜は、0x301c、0xff5eにあり、
−は、0x2212、0xff0dにあります。
で、Java1.4.2_04ではEUC-JPに変換するとそれぞれ
0x301c -> 0xa1c1
0xff5e -> 0x8fa2b7
0x2212 -> 0xa1dd
0xff0d -> 0x2129
となります。
410 :
デフォルトの名無しさん:04/04/12 19:52
ありがとうございます。
> 〜は、0x301c、0xff5eにあり、
> −は、0x2212、0xff0dにあります。
> で、Java1.4.2_04ではEUC-JPに変換するとそれぞれ
> 0x301c -> 0xa1c1
> 0xff5e -> 0x8fa2b7
0x8fa2b7 ですか?なんか1バイト多いようなのですが・・・
> 0x2212 -> 0xa1dd
> 0xff0d -> 0x2129
ということは、euc->unicode変換した時に
”−”の場合、0xa1c1 -> 0x301c と変換しないといけないのに、
0xa1c1 -> 0xff5eに変換されてしまうわけですか・・・
逆に、”−”をunicode->eucにした場合、
0x301c -> 0xa1c1 と変換しないといけないのに、
0x301c -> 0x8fa2b7(1バイト多いですが。。)に変換されてしまうわけですか・・・
ということは,euc -> unicode した後、0xff5eを 0x301cに変換してしまえばいいということでしょうか?
また、, unicode -> euc した場合は、0x8fa2b7を 0xa1c1に変換してしまえばいいということでしょうか?
以上よろしくお願いします。
EUC-JPは3バイトもあるよ
(漏れもこないだ知った。)
413 :
デフォルトの名無しさん:04/04/20 16:50
すいません。教えてください。
ユーザー側でJSPのプログラムをWEB上使うとき、タブを移動させたら止まってしまいます。
他のPCでは普通に動作するのですが、そのPCでは何回やっても途中で止まってしまいます。
ユーザー側に特別になにかのPGを入れとかないといけないものとかあるのでしょうか?
それとも他の原因なのでしょうか?
どなたか教えてください、
>>413 私も同じ問題で悩んだことがあります。
そのときの結論ではどうにもならないだろうということでした。
幸い、お客様のご理解が得られたため、ASPでやり直すことが出来ました。
良い解決策が見つかるといいですね。
別にJSPだろうとASPだろうと、吐き出すHTMLが同じなら、同じ動作になる。
リクエスト時の障害はあるだろうが、読み込み後のタブの移動は全く関係ない。
特定のクライアントが壊れているだけなのに、サーバサイドの記述言語を
変えるとはアホ…いやいや恐れ入った。
馬鹿が一人紛れ込んでいるな。
言うまでもなく2ch初心者であろう
>>415のことだが
>>416はベテラン気取りの厨房か?
初心者云々言い出す奴って、脱ビギナーを果たした瞬間の奴だったりすることが多い。
実は
>>415は「改心のレス!爆釣!」と思って何回も何回もリロードするも
構って貰えなかったので自分にレスしちゃった
>>414
javascriptでcookieを消したいのです。
で、一般的な方法として、cookieの寿命を現在時間より前に設定しています。
でも、この方法だとブラウザを閉じるまではcookieが有効です。
ブラウザを閉じなくても、COOKIEを削除する方法はないでしょうか?
よろしくお願いします。javascriptで、できますか?
ばいば〜い
>>421 俺は意味わかったけど。
無理してわかろうとする必要はないんじゃないの。
必死に誰かをけなしたい奴が一人混ざってるな…
427 :
デフォルトの名無しさん:04/04/24 08:58
参考書片手に、tomcatをインストールしました。
起動してみると、環境変数の領域が足りませんとでます。
あとは、本どうりなんですけど。どうしたらいいですか?
428 :
デフォルトの名無しさん:04/04/24 09:31
Tomcatって、インストールしたら、自分のパソコンがサーバになるの?
すみません、初心者なんで
429 :
デフォルトの名無しさん:04/04/24 09:52
430 :
デフォルトの名無しさん:04/04/24 09:56
下×舌○
432 :
デフォルトの名無しさん:04/04/26 23:57
初心者なもので、頓珍漢なしつもんをしていたらごめんなさい
JSPやサーブレットって、WebサービスはApacheでないとダメなんですか
IISではJSPやサーブレットを動かすことは出来ないのでしょうか?
IISの設定をなにかいじくれば、IISでもJSPやサーブレットを動かすことは出来るのでしょうか?
ご教示を
IIS+Tomcatで動くよ
>>432 マルチすんなよ。
Servlet/JSPコンテナが必要。動作させるだけならHTTPサーバは別途用意する必要はない
>WebサービスはApacheでないとダメなんですか
WebサービスがApacheだとむしろ駄目では。
なんだマルチだったのか。レスして損した。
437 :
デフォルトの名無しさん:04/04/27 10:00
TomcatでDBコネクションプールをする場合、
ドライバにパス通してserver.xmlに設定記述するだけでいいの?
438は、ちゃんとURL示すイイやつ。
440 :
デフォルトの名無しさん:04/04/30 10:09
JSTLのfmtタグ使うと関係ないタグで出力してる「〜」とかが文字化けするんだが、誰か対応策知らない?
441 :
デフォルトの名無しさん:04/05/01 01:10
よし。おまいら。
ImageオブジェクトをByte型変数してくだせぇ。
環境変数JAVA_HOMEをチェック汁
JAVA_HOMEはj2sdk1.4.2_04を設定しています
じゃあ、わからん。
ただ「なぜでしょうか」と聞かれてわかる奴がいるとも思えんよ。
質問の仕方を少しは考えろ
すみません。
色々考えていただきありがとうございました。
>>442 JSPファイルがないから。
もしくはJSPファイルが表示されるところにないから。
もしくはJSPファイルが表示される設定になってないから。
>>447 JSPファイルが表示される設定になってないから
とはどういうことでしょうか?
450 :
デフォルトの名無しさん:04/05/04 00:01
tomcat5ではウェブアプリの配置はどの方法でやるのがおすすめ?
managerアプリでやっても問題ナッシング?
453 :
デフォルトの名無しさん:04/05/04 15:42
>>450 とりあえず、一回、自分が分かる方法でやってみれ。
体位はどれがおすすめ?
フライング騎上位でやっても問題ナッシング?
SEXの仕方もいちいち人に聞くのかおまえらは
自分で考えて好きなようにやればいい。
455 :
デフォルトの名無しさん:04/05/04 23:42
質問です。
eclipseで実行→実行からtomcatを起動する場合と、tomcatプラグインの猫ボタン
を押してtomcat起動する場合で、起動方法に差異があります。
猫ボタンから起動する場合は普通に起動できるんですが、起動→起動の場合は
なぜか
C:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps\conf\tomcat-users.xml.new
を見に行って、結局このパスがないといってjava.io.FileNotFoundExceptionを
投げます。ちなみにwebapps以下にconfを作るとうまく動きます。
あたかもCATALINA_HOMEがC:\Program Files\Apache Software Foundation\Tomcat 5.0\webapps
であるような挙動ですが、webappsをCATALINA_HOMEに設定した覚えがありません。
これはどこの設定などが災いに起因しているかわからないでしょうか?
間違いました。
>猫ボタンから起動する場合は普通に起動できるんですが、起動→起動の場合は
×起動→起動
○実行→実行
ちなみにプラットフォームはwindowsXP、tomは5.xです。eclipseは2.1で
lombozプラグインもいれとります。
何を「実行」してんのか知らないのにどうしろっていうんだろうね、ジジ
ニャー
しまった!
tomcatのウェブアプリのプロジェクトです。
実行クラスが
org.apache.catalina.startup.Bootstrap
になってるやつです。
質問させてください。
hoge.jsp内で宣言したクラスhogeをtest1.jsp内でnewして(test.jspはhoge.jspをincludeしてる)、そのオブジェクトをsessionにつめます。
forward先のtest2.jsp(同じくhoge.jspをinclude)でsessionから先のオブジェクトを取り出そうとするとclasscast例外が発生します。
setAtribute側はtest1_jsp$hoge、getAtribute側はtest2_jsp$hogeを見てるからだとは思うんですけど、なんかうまい方法はないものでしょうか。
servletやbeanは使えない(jspのみで実現する)という条件で。
無理だろ。
だいたいJSPだけでってのが設計から間違ってるとしか言えねぇ。
461 :
デフォルトの名無しさん:04/05/19 20:06
>>459 できそうに思えるけどなぁ・・・(有効性は捨て置く
javaの基本間違えてるんじゃ?
>>459 できるだろ。お前がどこか間違えてるんじゃないの?
464 :
デフォルトの名無しさん:04/06/01 14:10
foo.jspでisThreadedSafe="false"と指定して、
hoge.jspの内部でfoo.jspを<jsp:include>で読み込んだ場合
hoge.jspもisThreadedSafe="false"になりますか?
>>464 なりません。
仕組みをよく考えればわかるはず
>>466 465はムシですかっΣΣ(゚д゚lll)
げげっ、アンカーミスってた orz
>>465さんThx!!
469 :
デフォルトの名無しさん:04/06/02 17:00
すみません、教えてください。
JSPよりPostgresqlを使用するため下記のようなコードを書きました。
<%@ page import="java.sql.*, java.util.*, java.io.*" contentType="text/html; charset=Shift_JIS" %>
<%
・
・
try {
Class.forName(drv);
} catch (Exception e) {
out.println("<P>JDBC ドライバロードエラー<BR>" + e.toString() + "</P>");
}
try {
cn = DriverManager.getConnection(url, usr, pwd);
} catch (Exception e) {
out.println("<P>JDBC 接続エラー<BR>" + e.toString() + "</P>");
}
try {
st = cn.createStatement();
} catch (Exception e) {
out.println("<P>JDBC 問い合わせ SQL 作成エラー<BR>" + e.toString() + "</P>");
}
String sql = "select * from title ";
try {
rs = st.executeQuery(sql);
} catch (Exception e) {
out.println("<P>JDBC レコードセットオープンエラー<BR>" + e.toString() + "</P>");
}
・
・
%>
上記のものを実行すると
JDBC ドライバロードエラー
java.lang.ClassNotFoundException: org.postgresql.Driver
JDBC 接続エラー
java.sql.SQLException: No suitable driver
JDBC 問い合わせ SQL 作成エラー
java.lang.NullPointerException
JDBC レコードセットオープンエラー
java.lang.NullPointerException
というエラーが出てしまいます。
以前別のサーバで正常動作していたものを新環境で実行すると
上記のようなエラーが発生するようになってしまいました。
Postgresの設定ミスかもと思うのですが、どこがどうミスしているのかが
わかりません。わかる方がいましたらよろしくお願いいたします!
>>470 PostgreSQLのJDBCドライバーがないからでぃす。
あと、もしWindowsでプログラムかいてるなら、Shift_JISにするな。Windows-31Jにしろ。
getConnectionで例外がでてるのに、続きの処理するな。
Exceptionつかまえるな。
472 :
デフォルトの名無しさん:04/06/02 20:58
JSPでスクリプトの宣言から
JSPファイルのある場所を指定する方法を知りませんか?
スクリプトレットの中からならできたんですが
宣言の中だとできません
分かる方いますか?
>>472 質問の意味がわからん。
できたなら、できたコードを。
できなかったなら、できなかったコードと、どういう現象のことをできなかったといっているのかを。
474 :
デフォルトの名無しさん:04/06/02 21:35
tomCatオナニーにあきてきた俺は、どこにいけばいいですか?
>>471 ていうかそもそも今どきJSPだけで全部こなそうとするなんて
477 :
デフォルトの名無しさん:04/06/02 21:41
>>473 <%@ page contentType="text/html; charset=shift_jis" %>
<%! //宣言の中
private static String fileName;
/*
static {
String thisName = request.getServletPath();
fileName = application.getRealPath(
thisName.substring(0,thisName.lastIndexOf("/")))+"/test.txt";
}
*/
%>
<% //スクリプトレットの中
String thisName = request.getServletPath();
fileName = application.getRealPath(
thisName.substring(0,thisName.lastIndexOf("/")))+"/test.txt";
%>
カレントディレクトリのファイル <%= fileName %>
↑の通りです
static initializer のコメントはずすとできません
できない理由はわかりますが
他の方法を探しています
分かりますか?
>>477 っていうか、できない、っていうのが、どういう現象のことかいえって。
479 :
デフォルトの名無しさん:04/06/02 22:20
>>478 分かると思いますがコンパイルエラーです
applicationやrequestが見つかりませんっていうやつです
>>478 勝手にうんちが出て困っています。
うんちっちっちっちっち
>>479 とりあえず、JSPが変換されたあとのサーブレットのコードみてみたら?
コンパイルエラーが出てるのに、エラーメッセージかかないヤツはクソ。
482 :
デフォルトの名無しさん:04/06/02 22:30
エラーの理由はわかってるんですが
他の方法がないかどうかを知りたくて・・・
>>482 分かると思うので、JSPが変換されたあとのサーブレット見てみてください。
484 :
デフォルトの名無しさん:04/06/02 22:47
>>483 だからエラーの理由はわかるんです
他の方法を聞いてるんです
分かるならお願いします
>>484 おまえか、うんこが止まらないと言う奴は
>>484 とりあえずstaticブロック削除すれば?
488 :
デフォルトの名無しさん:04/06/05 16:08
WEBプログラミングで不便なのがセッション!
セッションが10分で切れるって何よ?
10分じゃなくても30分でもいいんだけどさ。
切らないとセキュリティに問題ありますって、なんじゃそりゃー
IDとパスワードで認証出来ないんかい!
あー、不便だWEBプログラミング
491 :
デフォルトの名無しさん:04/06/05 17:06
∋oノハヽo∈
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
ヽ( ´∀`)ノ <ぬるぽぬるぽ
(へ ) ぬるぽ
nurupoぬるぽ
nurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽ
nurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽ
nurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽ
nurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽ
nurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽnurupoぬるぽ
>>488 HTTPはステートレスなプロトコルなので、ステートフルな処理をやりたければ、セッション
のような仕組みが必要。ただし元々がステートレスなので、クライアントが勝手に終了して
も、サーバ側でそれを検知する術がない。そのための対抗手段として、セッションを
タイムアウトさせる処理が必要になる。
494 :
デフォルトの名無しさん:04/06/12 22:56
新入社員のグループワークでHTMLにJSPを組み込めってのやってるけど、さっぱりわからない・・。
何をどうしたらいいのか・・・(鬱
明日までにやってかなきゃいけないんだけど、さっぱりわからん。。。誰か助けて・・・。
>>494 tomcatインストールして、jspで書くだけ。
>>494 拡張子のhtmlをjspに換えるだけだろ
(旧ソース)
<p>最終更新日:5月10日</p>
(新ソース)
<p>最終更新日:<%= 5 %>月<%= 10 %>日</p>
498 :
494 死に体・・・。:04/06/12 23:54
えっと、受注システムみたいなの作ってて、明細を表示する画面の担当なんですが、
具体的にどうして良いのか・・・。皆さんの力を貸してほしいです・・・。
はっきり言って無理だから、金払って誰かに作ってもらえ。
500 :
494 死に体・・・。:04/06/13 00:06
>>499 金はらって何とかなるならそうしたいけど、明日までなんです・・・。
グループの人に迷惑かけてばっかで何とか仕上げたいんですけど、どうにもならない・・・。
こっちだってそれっぽっちの情報で力を貸してほしいと言われたってどうにもならんわ。
>>498 仕事は他人に丸投げ
で報酬は自分の懐へ
死ねばいいと思うけど?
おまえみたいのがいるからJavaプルグラマは皆素人とか言われるんだよ
なぜに前日の夜に突然やる気だすのだw
もちょっとはやく言えよ。
>>498 >>495、
>>496、
>>497、すべて
>>494の「HTMLにJSPを組み込め」ってのを満たしてるだろ。
お前の書いた事に対する答えは出ているのに何が不満なんだよ。
もし不満点があるんなら、それが俺らに伝わるように質問を書けよ。
そんなことすらわからんからダメなんじゃねえのか?
こうしてここで叩かれ、明日またグループのメンバーに叩かれる
>>498っていったい・・・
ただの素人でしょ
ただの素人童貞でしょ
やっぱ牛乳でしょ
よっ、生乳!
今までは、1画面つくるのに、Java1本、JSP1本つくれば良かった。
root/abc010.java
root/jsp/abc010.jsp
でもいまの職場では、XML4本、Java20本、JSP一本つくらなければならない。
root/Project_A/front/HttpReqEditor/abc010InitHttpReqEditor.java
root/Project_A/front/HttpReqBean/abc010InitHttpReqBean.java
root/Project_A/front/EJBReqEditor/abc010InitEJBReqEditor.java
root/XML/APLI005001AppInput.xml
root/AppInputOutput/Project_A/front/APLI005001ApplicationInput.java
root/appli/Project_A/front/Command0901/Command/KokyakuInfoSyutokuCommand.java
root/appli/Project_A/front/Command0901/CommandDat/KokyakuInfoSyutokuCommandDat.java
root/appli/Project_A/front/Command0901/Task/KokyakuGet.java
root/appli/Project_A/front/Command0901/TaskDat/KokyakuGetDat.java
root/DB/XML/KokyakuTableAccessor.xml
root/DB/TableAccessor/KokyakuTableAccessor.java
root/DB/TableAccessor/KokyakuTablePKey.java
root/DB/TableAccessor/KokyakuTableRecord.java
root/DB/TableAccessor/KokyakuTableInfo.java
root/DB/XML/KokyakuTableQuerry.xml
root/DB/TableAccessor/KokyakuTableQuerry.java
root/DB/TableAccessor/KokyakuTableQuerryPKey.java
root/DB/TableAccessor/KokyakuTableQuerryRecord.java
root/XML/APLI005001AppOutput.xml
root/AppInputOutput/Project_A/front/APLI005001ApplicationOutput.java
root/Project_A/front/EJBReqEditor/EJBReplyEditor/abc020ResultEJBReplyEditor.java
root/Project_A/front/EJBReqEditor/EJBReplyEditBean/abc020ResultEJBReplyEditBean.java
root/Project_A/front/EJBReqEditor/DispEditor/abc020ResultDispEditor.java
root/Project_A/front/EJBReqEditor/DispPresenBean/abc020ResultDispPresenBean.java
root/Project_A/front/JSP/abc020.jsp
なぜなんでしょうか???
わからないなら、やめちまえ。
512 :
デフォルトの名無しさん:04/06/30 18:26
MVCモデルを参考にしてページを作ってるのですが
特定文字列をファイルにし、それをテンプレートにして読み込みたい処理をBeanに入れようと
思ったところBeanの中じゃ暗黙オブジェクトapplication呼べないのを思い出し、RealPathの取得方法に悩んでます。
テンプレート文字列をソースに埋め込んでおくという手もあるんですがハードコーディングは気持ち悪くて・・・。
Beanの中だけで処理は完結させたいしなにか良い方法はありませんでしょうか。
>>512 java.util.ResourceBundleとか使えば?
514 :
デフォルトの名無しさん:04/06/30 18:55
>>513 文字列といっても数行に渡るもので日本語も部分的に含む可能性もあるので
変換の手間などがかかるpropertiesファイルは避けたいかなと思ってます・・・すいません。
>>514 IDEが勝手にやってくれない?
いまどきはそんなことで悩まないよ。
>>514 「変換に手間のかかる」のを何とかしろよ。
Antなり、Eclipseなり、NetBeans使いこなしていれば
それほど手間のかかる作業ではないと思うのだが。
軽くググったらpropertiesに複数行書かれてる例が無いので使えないかなと判断してしまいました。
また文字列はHTMLなのでプログラマ以外が書き換える可能性もあり、変換はマズイかと思ったのです。
コンパイルに手間がかかるからサーブレット使わずにJSPでやる、とか言い出しかねないな。
>>517 もう、おまえ程度ならincludeでもいいんだろ?そうしとけよ、もう。
>>519 出力前に部分的に置換もしたいのでStringに取れるようにしたかったんです。
とりあえず考えるのも調べるのも疲れたのでソースにべた書きしときました。
レス下さった皆様ありがとやんした。
>>520 相対パスだけ定数か何かで記述して、そのファイルに色々書いておけば済む話じゃないの?
絶対パス = getServletContext().getRealPath(相対パスを表す定数);
で絶対パス取れるのは確かにBeanの中ではないけど、
絶対パス受け取ってファイルの中読んで置換無りなんなりするメソッドを呼び出せば済む話じゃないの?
>>520 InputStream is = getClass().getResourceAsStream("/filename");
jarにつっこんでも良いし、WEB-INF/classesにそのまま置いておいても良いし。
JSPとJavaScriptの組み合わせで
<head>
<script language="JavaScript">
function Hoge(){
<% for(int i ; i < arrA.size() ; i++){ %>
Array arrjsA = new Array();
arrjsA[<%=i%> = <%=arrA[i]%>
<% } %>
・
・
みたいのって反則でつか?
>>523 HTMLとSQLとvelocityも織り交ぜて5言語のコラボレーションを目指してみ。
怒りを通り越して感動を呼ぶと思う。
>>523 意図したとおりに動かないだろうから、反則っていうか失格だな。
実ソースは手元にないんで慌てて打ち込んで今見直したら間違ってますね。
動くのは動いてるんですが、やっぱよくないみたいですね・・・(´・ω・`)
529 :
デフォルトの名無しさん:04/07/07 16:08
JSPについて質問です。
カスタムタグを使って、DBにアクセスする場合、
<%@ taglib prefix="sql" uri="
http://java.sun.com/jstl/sql" %>
と、標準のものを使った場合、
<sql:setDataSource driver="oracle.jdbc.driver.OracleDriver"
と書かなくてはいけないので、それがいやで、jakartaから、taglibsを落としてきて入れて
<%@ page contentType="text/html; charset=Shift_JIS" pageEncoding="Shift_JIS" %>
<%@ taglib prefix="c" uri="
http://java.sun.com/jstl/core" %>
<%@ taglib prefix="sql" uri="./WEB-INF/tlds/sql-1_0-rt.tld" %>
<%@ page session="true" import = "*******.DMProject.InitFile" %> ←初期化用クラス
<% *******.DMProject.InitFile in = new *******.DMProject.InitFile(); %>
<sql:setDataSource driver="<%= in.getInitData("DRIVER")%>" ←これでドライバーなど取得
url = "<%= in.getInitData("DB_URL")%>"
user= "<%= in.getInitData("DB_USER")%>"
password = "<%= in.getInitData("DB_PASS")%>"
var ="dataSrc" />
<sql:query var="member" dataSource="${dataSrc}">select * from empinfo</sql:query>
<html>
<head><title>社員情報</title><style>th{color:white;background:#9370db;}td{border:solid;background:#e6e6fa;}</style></head>
<body><h2>社員情報</sh2>割愛</body>
</html>
のようなJSPを作成したのですが、プログラムを動かすと、java.sql.SQLException: No suitable driver エラーが発生します。
使用DBはOracleです。 Tomcat の common/lib に ドライバーはきちんと入っていて、 in.getInitData("DRIVER")できちんと取れてきています。
同じInitFileクラスを使った別プログラムでは正常に動くので、JSP特有の問題だと思うのですが
原因と解決方法がありましたらお教えください。
>>529 taglibの中で<% %>は使えんぞ
>>529 <% %>を使うために、sql-1_0-rt.tldを使ってるんです。
sql-1_0-rt.tldは
<rtexprvalue>true</rtexprvalue>
となっているので、<% %>を使える・・・はず。
ですが、SQL Queryでエラーが出てしまう状態なんです
ですが、ドライバーが見つからないという状況です。
>>530 ちなみに、
<sql:setDataSource driver="oracle.jdbc.driver.OracleDriver"
というように生のデータを使った場合
<%@ taglib prefix="sql" uri="
http://java.sun.com/jstl/sql" %>
を使った場合、正常に動くのですが
<%@ taglib prefix="sql" uri="./WEB-INF/tlds/sql-1_0-rt.tld" %>
と、jakartaから落としてきたtagでは、SQLExceptionが出てしまいます。
534 :
デフォルトの名無しさん:04/07/08 01:19
>>526 亀な上にスレ違いだけど、今の案件で VB + PL/SQL + COBOL + UNIX やっている。
しかも命名規約もくそもない現行ソースの回収つき。
いやあ、HTML + Java ( Servlet / Struts / JSP ) + SQL って案外楽だったんだわと
しみじみだよ。。。
535 :
デフォルトの名無しさん:04/07/14 18:10
会社でJSPをやることになりましてtomcatを入れたのですが問題が起きてしまいます。
問題点は「サンプルは普通に動くのに自分で作成したフォルダ、またはテスト環境が入っているフォルダの中のJSPなりサーブレットが動かない」という所です。
コンテキストパスの設定の仕方がいけないのかな・・・
<Context path="Ax_pl" docBase="Ax_pl" debug="0"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_Ax_pl_log." suffix=".txt"timestamp="true"/>
という風に書いたのですが。(Ax_plが起動させたいjspが入っているフォルダ名です。)
OS98 tomcat4.1.30です。
よろしくお願いします
コンテキストパスは"/"(スラッシュ)から始まる文字列で指定すること。
537 :
デフォルトの名無しさん:04/07/16 09:06
Tomcat5.0.27リリースage
これからjspをやろうと思いますが、まずはjavaを一通り使えるようになることが先決ですか?
なんちゅう質問だ・・・
541 :
デフォルトの名無しさん:04/07/20 15:41
教えてください。
Internal error.
java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません
というエラーが出ます。servletが悪いのでしょうか、JSPが悪いのでしょうか。
皆目見当がつかず困っております。
JSPもservletに変換されるわけで、それだけじゃどっちが悪いなんてわからん
545 :
デフォルトの名無しさん:04/07/20 16:11
>>543 googleで調べたのですが、よく解らなかったのです。すみません。
あ、ちなみにstrutsをつかっています。
ですから、一つ目の候補に実例も解決方法も載ってますよ。
頑張って、よく読んでください。
あなたの述べてる乏しい情報からではこれ以上のアドバイスはまず無理です。
ちなみに、類推が出来ない人に、プログラミングは不可能です。
サンプルを含む他人のソース、仕様書、記事の説明などから「類推」するのが、
この世に無いプログラムを作り出すための最初のステップですから。
さっさとやめちまったほうがよろしいかと存じます。
> レスポンスをコミットした後でフォワードできません
を読めばすぐわかるだろ。
JSPかServletの終わりの方でforwardしようとしてるところが悪いんだよ。
HttpServletResponseからもらったWriter、OutputStreamいずれかをcloseするとcomittedになる。
その後はforwardできない仕様。
548 :
デフォルトの名無しさん:04/07/20 18:12
>>547 ありがとうございます。
どうもJavascriptが関係しているみたいで、
一部のjavascriptを書き換えるとエラーが出なくなります…。
論点がおかしい。ほんとに JSP厨はみんな示し合わせたように同じだね。
javascript 自身が何してるかにらんでも無意味だぞ。
クライアントに渡る前に起こってる問題だからな。javascript はただのコメントタグに過ぎない。
とにかく JSP について基本をきっちり抑えれ。どういう仕組みなのか。
そもそも forward の意味が分かってないから理解できないんだからな。
その上で「forward する前に HTML を書き出」してるところを見つければお終い。
勉強する気がなくて問題解決を全部人任せにしたいなら、全部のソースうpれって。
ソースうpりたくなければ勉強せい。
>>549 お前にはきいてねえよぼけ
もう解決したんだからいいでしょう。
Javascriptを消したら動きました
>>550 「解決」・・?
ちょっとおまいさんがうらやましくなったよ
よくわからないが動けば「解決」なのか・・・・
オメデタイなぁ
鎌倉級の夏厨が増えてきたね。。。
>>551 僕見たく自分で解決できるようにならないとね。
Javaだけでなくてjavascriptも知ってないと生き残れませんよ。
>>551 別に学生だから無責任なコードでいいんだよ。
541です、550の書き込みは私ではありません。
549のおっしゃること解るのですが、
では、javaScriptを一部書き換えたらエラーが出なくなるのが
謎なのです。
「forwardする前に」とありますが、
どこをもってして「forwardした」とみなすのでしょうか?
たびたび申し訳ありません。
Struts使ってるなら、ActionでActionForwardをリターンしたとき
おまえさんは、情報提供が不十分なので、もらえる答えも不十分な物になるのですよ。
> Struts使ってるなら
あんたもかなりずれてるな。例えるにしてもいきなり狭くしすぎ。
> おまえさんは、情報提供が不十分なので、もらえる答えも不十分な物になるのですよ。
これには禿道だけどね
>>560 で、あなたの引用先にあった
これは
<@ page buffer="おっきなサイズ" /> しても
解決しない類の問題なんでしょうか。
は試したの?
試してから聞いてる?
で、JSPのソースを晒す気はないわけね
564 :
デフォルトの名無しさん:04/07/21 12:06
<%@ page buffer="32KB" %>
と設定しましたら、解決いたしました。ありがとうございました。
しかし、正直何故解決したのかわかっておりません。
JSPかservletの書き方が悪かったのかと思ったのですが、
そうではないということなのでしょうか。
>JSPかservletの書き方が悪かったのかと思ったのですが、
>そうではないということなのでしょうか。
書き方が悪いんだよ。
オレはほとんど JSP の素人で struts がなんたるかも知らんのだが、
>>564 でなぜ解決したかはここまでの流れで分かる。
お前さんが struts 任せにしてある部分で、"forward" 処理がされてる。
forward というのは、今処理している JSP ではなく、別の JSP の内容をクライアントへ出力する処理だ。
だから処理中の JSP からは、何か出力してもまったく意味がない。
しかし JSP がタグの中にコードを埋め込んでいくというものである以上、
サーブレットに変換されたあとのソースは、文字列の出力と出力の間に処理を行う、という内容になる。
つまり君が、何らかの文字列を出力するよりはやく forward されるようにしないかぎり(君の書き方が悪いというゆえん)、
forward 前に「出力」はされてしまうのだ。
さてここでいう出力とは、サーブレットから外への出力だが、
出力した文字列はある一定のバッファにたまっていて、バッファの容量が許すかぎり、
「送信」そのものは行われない。
おそらくはじめての送信時をコミットというのであろう。
一旦送信開始されてしまえば、そのあと forward したらそらまずいわな。
中途半端なページが、正しいページの前にクライアントに送信される形になるなど、不具合が出る。
おそらく javascript 部分が長すぎるため、バッファがたまり送信が始まってしまっていたが、
改行を削ったことでバッファに収まり、送信開始される前に forward にこぎつけ、
不要となった JSP コードは破棄されたのであろう。
だから javascript がどうとか関係ない。その部分が単なるコメントであれ他のタグであれ表示される文字列であれ、
ただ単に長すぎるから失敗したのであり、それよりもそもそも、
forward されることで出力する必要がなくなる(かもしれない)文字列を、
forward 部分より前に書くべきではないということであろう。
>>565 では、バッファを大きくしたのは一時しのぎ的な回避ということでしょうか?
根本的な解決にはなってないんですね。
forward 部分より前に書くべきでないという概念はわかるのですが、いかんせん
それが実際どの部分を指しているのかはまだわからないので、調べてみます。
ありがとうございます。
配列のデータを画面上に<INPUT type="hidden" name="a"・・・> で退避させておいて、
それを再取得するのは無理でしょうか?
>>568 それは、どんな風にやればいいんでしょうか?
そのままだと、[Ljava.lang.String;@f ←こんな感じになってしまうのですが。
>>569 ループで回せばいい
で、その中で
<input type="hidden" name="array<%= i %>" value="<%= array[i] %>">
みたいな感じでやれば。
>>570 その場合、帰ってくるデータはarray1,array2,・・・といった感じでくるんで、
受け取った側で一個ずつ配列に入れてやらないとダメですよね?
>>571 その通り。
Sessionに入れた方が楽だが、できない理由とかあるの?
ここに居たか。
どうしても Session を使いたくないなら、その方法しかないな。
むしろ奇特さんのやることだけどな。
・・・ひょっとして配列に戻すときに "array1" → 1 変換をどうすればいいか思いつかないとか?
まさかな。まぁ regex でも substring でも、好きなの使え。
>>572 セッションに入れといたデータが、タイムアウトで破棄されるんで、復帰に必要な
データだけでも、画面に入れとこうと思ったら、[99]の配列を10個ほど退避しない
といけなくなったもんで。
>>574 おいおい、セッション切れを無効にするのかよ。
危険なことは止めておけ。
>>575 え?なんかマズイんですか?
使う人がタイムアウトした事に気付かないように作れって言われたんで、
とりあえずタイムアウトしたら、画面上のデータを基にセッションに入れてた情報を
再現して、もう一回入れなおそうとしてるんですが。
>>576 そのデータが編集されてもいいようなデータなら別にいいけどな。
ダメならDBに入れておいて、ブラウザの方はそれのキーだけ持たせるとかだが、これも他の人にそのキーを知られたら見られちゃうわけだし。
タイムアウトに気づかせないってのは、設計がアレな感じもするが。
>>577 そうですか、まぁそういう設計になってる以上やらないといけないですし、
諦めて画面に持たせておきます。
色々とすいませんでした。
セッションCookieの寿命を
ブラウザの起動セッションのみ(expiresを省略)
にすればいいんでは?
580 :
デフォルトの名無しさん:04/07/27 16:25
すみません、教えてください。
JSPからMySQL 3.23.54にアクセスしたいのですが、次レスのようにすると、
Apache Tomcat/4.0.3 - HTTP Status 500 - Internal Server Error
exception javax.servlet.ServletException: Invalid authorization specification: Access denied for user: '
[email protected]' (Using password: YES)
が返ってきます。
サーバに用意されているphpMyAdmin 2.2.0でアクセスしてみると、
ユーザ名 = "user";パスワード = "pass";
でログインすることが出来ますし、
サーバ名 = "data.net";データベース名 = "data_net";
はphpMyAdmin 2.2.0で確認したものです。
サーバでのMySQLのユーザー設定が問題なのかと考えてはみたのですが、
どのあたりに間違いがあるのか行き詰まってしまいました。
お願いします。力を貸してください。
<%@ page contentType="text/html; charset=EUC_JP"
import="java.sql.*" %>
<html>
<head>
<title>dispdata</title>
</head>
<body>
<%
//データベース設定
String sv = "data.net"; //サーバ名
String db = "data_net"; //データベース名
String user = "user"; //ユーザ名
String pass = "pass"; //パスワード
String encode = "EUC_JP"; //文字コード
//データベースに接続する
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://" + sv + "/" + db
+ "?user=" + user
+ "&password=" + pass
+ "&useUnicode=true&characterEncoding=" + encode;
Connection conn = DriverManager.getConnection(url);
out.println(url);
//データベース接続を閉じる
conn.close();
%>
</body>
</html>
すみませんsage忘れてました。
JSPはMySQLが動いてるのと同じサーバ上で動かそうとしてるの?
>>584 設定を見直すとは、どの辺りのことでしょうか?
telnetが使えないので、SQLコマンドのgrantが使えません。
サーバ管理者に問い合わせたところ、
phpMyAdminが動いているので、同じサーバにあるJSPが動かないのは、
こちらのコードが悪いのだ、のような感じで三ヶ月ほど放置されております。
もう何処をどう修正していいのか分かりません。
ばかか
>>580 ぱっと見で、ユーザ名に@が入ってるのが気になるな。
MySQLのJDBCのURL文字列はURLEncodeとかしないでも正しく渡ってるのかな。
あととりあえずデフォルトのユーザ(rootとかsaみたいの)で入ってみることはできないの?
>>585 phpMyAdminが使えてるなら、そういうことになるね。
[email protected] ってなってるってことは la101.6821.com にサーブレットコンテナがいるんじゃないの。
つまりどう見ても違うサーバのように思うんだが。
>同じサーバ上だと思います。
思いますってのはなんだい。しっかり確認せぇよ。
>>589 管理会社の問題なんですが、
サーバ管理人に色々と問い合わせはしているんですが、返答が無いんです。
どうやらプログラム関係の質問には一切答えないという方針のようです。
一応、違うサーバ上にあるのかどうか新たに問い合わせましたが、
三ヶ月返答がない状態なのでこちらも返答は期待していません。
>>588 ということですので、こちらのコードの何処がどう悪いのか、
何をどうすれば確認できるのか教えて頂ければと。
↑別人ですのでヨロ
とりあえずサーバの確認が取れたら書き込みます。
ありがとうございました。
それにしても>587はとてつもなくいい加減なこと言ってるな
>どうやらプログラム関係の質問には一切答えないという方針のようです。
そりゃ普通当たり前だろう。貸し鯖ってのは質問しなくても自分で調べられるような人が使うんだから。
別に管理者から返答が無くたって、
自アドレスを表示するようなサーブレットをつくればいいでしょう。
そもそも war か何か送るときにどこのサーバに送ってるか把握してないわけ?
>どうやらプログラム関係の質問には一切答えないという方針のようです。
これをわかってない人には敷居が高すぎる、まだ早いと言わざるを得ないな。
>>594 調べてはみたのですが、どうにも分からなくて。それで自分で何とか調べる延長上で質問した訳なんです。
サーブレットでサーブレットが何処で動いているのか調べる命令があるみたいなので、すぐ調べてやってみます。
それでMySQLが何処のサーバで動いているか調べる方法もあるということですよね。
telnetが使えないので、MySQLのシステム変数しか調べる方法を知りませんが、
ベースディレクトリが/usr/になっている事が分かるくらいです。
どうすればMySQLが動いているサーバのアドレスが分かるのでしょうか?
ベースディレクトリが/usr/
いや、だからよ・・・
確認て言うのは、自分がやってる設定やテストが間違ってないかの確認ということなんだが。
phpMyAdmin は使えてる。しかしこれが使えるだけじゃしょうがないだろ。
なんらかのプログラムから接続できなきゃ DB の意味がない。プログラム運用の補助のためのadminツールなんだから。
だから、サーバアドレスは、いちいち管理者にきかずとも既に提示されてるんじゃないの?
phpMyAdmin のおいてある wwwサーバと同一だと考えるのがスジだが、それはどこなのよ。
んで
>>580 に data.net てのを出してるけど、それはなんなのよ。
JSP も、配置する、ブラウザでアクセスしに行く、
このときにはすでにどのサーバだか分かってるんじゃないの?
それぞれどこなのよ。それが
>>580 の la101.6821.com じゃないの? 違うの?
data.net, la101.6821.com が cname になってるならまだしも、
手許から dns に聞く限りてんで違うサーバだというのはすぐわかる。(互いの関係について調べる気力はないが)
しかし君は
>>583 >>585 時点で同じだと(思うと)言ってる。その根拠はそもそもなんなのよ。
借りてるんだか何だかしらないけど、
使える状態にあるのがどれとどれなのか把握してないってのはプログラミング以前の問題でっせ。
598 :
デフォルトの名無しさん:04/08/02 02:29
初歩的な質問で恐縮なんですが・・・
JSPとJavaBeans書くだけでプログラムって動かしててどんな不都合があるんでしょーか?
勉強始めたばっかりなんですが、JSP作って実行したらサーブレットが生成されることは
確認できました。処理は全部Beanに任せました
でその過程に自分で一切サーブレットに触ってないんですが・・・
なんか根本的なとこがわかってない気がするので
うまく教えてもらえませんでしょうか?お長居します
>>598 ひとりで小さいサンプルプログラムやる分には、あんまり不都合ないね。
デザイナとの分業を想像すればわかるんじゃない?
600 :
デフォルトの名無しさん:04/08/02 02:42
>>599 レスありがとーざいます
WEBデザイナがJSP担当する(?)としてその場合プログラマは
サーブレットやBeanの担当になるってことでしょーか?
一応参考書のサンプルからサーブレットだけで動かしてみたりしているんですが
コードの意味がわからない部分が大半なんで内容がよく把握できていません
世間のプログラマの人はサーブレットで書いてるんですか?
質問ばっかりですいません
>>600 仕事だと、サーブレットの中にタグは書かないし、JSPにはJavaのコードは含めない。
>>600 Beanはただの入れ物でしょ。なんで中にロジック書くのさ。
あとデザイナとの分業って滅多にやらないけどね・・。
>>602 > Beanはただの入れ物でしょ。なんで中にロジック書くのさ。
別にただの入れ物としてしか使っちゃいけないということはない。
ロジックを書いてはいけないということはない。
むしろ、そのデータにまつわるロジックはそこに書くほうがいい場合もある。
> あとデザイナとの分業って滅多にやらないけどね
デザイナという肩書きじゃないにしても、担当が違うことはよくある。
>600
MVCフレームワークだと、サーブレットは自分で書かないな。
Beanにデータとロジック、設定ファイルに画面遷移等の定義書くだけ。
皆さんいろいろありがとーございます
自分の作ったJSP見てるとJSP内にデータベース接続と
結果のループ処理のロジックだけ
書いてるんですがこーいうのもBeanに任せるべきなんですねー
JSPはなるべく無駄なものを含まないように意識します
なかなかJavaと違うとこがあって面白いです
ゆくゆくはサーブレットのコードが読めるようがんばります
>>606 はい。でもtaglibが何かわかんないんで勉強します
>>602 > あとデザイナとの分業って滅多にやらないけどね・・。
あんたの経験がそうなだけ。プロジェクトによる。
業務系はデザインに凝る必要はないが。
通常のプログラマはデザイン工学を知らない。
>>608 直接JSPなんか書かせない、って意味じゃねーの?
普通デザイン会社が作るのはhtmlだろ
Dream WeaverはJSP変更出来るけど、俺もデザイナに
JSPを直接編集してもらったことないな。
HTMLをもらって、それをJSPに変更する
新しいHTMLが来たら、その変更をさらにJSPに反映
結局、HTMLタグのように書けて簡単!という触れ込みのJSPが存在してても
デザイナがJSPを覚えて書くわけじゃないんだよな。
>>607 taglibじゃ検索ひっかからないから、JSTLで。
Class.forNameで接続してそうで怖い
Class.forNameで接続すると思ってるやつがいそうで怖い。
Servletで作るWebアプリってクライアントの要求スペックって通信環境とブラウザ以外にも
CPUとかメモリとか関係あるんですか?
サーバサイドでJAVAが動いてるからVMとかどうでもいいっすよね?
そのとおりだけど、そういう疑問がでるいきさつが逆にしりたい。
まあありがちな混乱ということで。
だけど、理解しての混乱のようなので、いいんじゃないかと。
618 :
デフォルトの名無しさん:04/08/05 03:45
>>612 わざわざすいません
taglib使えるようになりました。便利なものですね
BeanのClassforNameで接続してます
dbtagっていうの使うっぽいですね、名前からして・・・。
なんか楽しくなってきたんで勉強します
>>616-617 レスありがとうございます。
いきさつなんですが、PMのSEがしきりにクライアントの要求スペックが
低いマシンが対象だから、気を付けてコーディングして下さいと自信満々に言われたんで
私の記憶違いかと思いまして・・・
JavaScriptとかもほとんど入らないんで、そんなにクライアントのスペック気にするなら
サーバのスペック気にした方がいいんでないかなぁとコソーリ思っていました。
所詮 SE だから大目に見てやれ。
まともに相手してたらきりが無い。
クライアント=サーバを持ってる客、ってことじゃないだろうね?
>>621 クライアントPCの事で間違いないはずです
Win98とかもいるって言う話でした。
Win系のサーバOSで考えても98はないんでクライアント≠客でつ
ここでいいのかわからんが、
tomcat-apache連携でJSPやサーブレットの勉強したいのだが、
肝心のコネクタ(mod_jk2)がみつからん。
http://jakarta.apache.orgから、
jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip
を見つけてきたのだが、中に必要なdllがないんだが、
どこにあるのかわかる人教えて欲しい。
ごめん。ageさせて。
>>623 インスコはアーカイブの中のドキュメントみてやってる?
個人サイトとかの古い情報を参考にしてない?
国語力なさそうだな
>>625 すまんです。書込みした直後にまた検索したら、
出てきたよ。英語苦手だから、個人サイトメインで探してた。
mod_jk2.soで良かったんだね。ご迷惑かけてスマソ。
やっぱ努力してドキュメント読まなきゃダメだね。反省。
>>623 さらに、JSPやサーブレットの勉強をするのに、tomcat-apache連携する必要は、まったくない。
tomcat-apache連携の勉強するときにtomcat-apache連携すればいい。
629 :
デフォルトの名無しさん:04/08/11 12:28
JSPからサーブレットにデータを渡す方法で困ってます。
fileupload.jsp内でその前のページから持ってきたデータには
Applicant app = request.getAttribute("applicant");
でアクセスできるのに、次のサーブレットではこのAttributeをゲットできません。
fileupload.jspのソースのは
<form action="/WebAppTest/fileuploadservlet"
method="post" enctype="multipart/form-data" name="form1">
File Name:
<input type="text" name="name">
<br>
Directory:
<input type="file" name="file1">
<br>
<br>
<input type="submit" name="Submit" value="Upload Resume">
<input type="reset" name="submit" value="Reset">
</form>
631 :
デフォルトの名無しさん:04/08/11 12:31
で、次のサーブレット、FileUploadServletで
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html; charset=Shift_JIS");
PrintWriter out = response.getWriter();
FileUploadRequest upReq = null;
Applicant app = (Applicant)request.getAttribute("applicant");
if(app == null){
System.err.println("NULL");
return;
}
String userroot = (String)app.getData("userroot");
}
を実行すると、(app==null)==true になってしまい、appにアクセス
出来ません。
何方かアドバイスお願いできますでしょうか?
"applicant"はどこでsetAttributeしとるんだ
633 :
デフォルトの名無しさん:04/08/11 13:49
>>632 applicantは、fileupload.jspのページの一つ前のページ、loginServletで
//reaching here means login successed!
//applicantはこの上のコードで動的にinstanciateされている
sc = this.getServletContext();
request.setAttribute("applicant",app);
rd = sc.getRequestDispatcher("/fileupload.jsp");
rd.forward(request,response);
と言うようになってます。
loginServletからfileupload.jspにはapplicantが渡されているのに、
何故fileupload.jspからFileUploadServletにはapplicantが渡されないのか
が私の悩みの種です。
何が違いがあるのでしょうか?
setAttributeしたものは次のServletにしか渡されないぞ。
知っての通りJSPもコンパイルされてServletになるので、そこも考慮しろ。
解決法としては、
JSPでもう一回setAttribute
セッションを使う
のどちらかだな。
635 :
デフォルトの名無しさん:04/08/11 16:31
Login成功した後、
HttpSession session = request.getSession(true);
session.setAttribute("applicant",app);
によって新しいSessionを作り、その中に他に受け渡したいDataを入れておく
ということは分かりました。有難うございました。
このセッションはどのようにフォワード先のページに受け渡されるのでしょうか?
フォワード先で(p2)
request.getSession(false);
とするだけで、p2ではp1で設定したアトリビュートをとってこられるのでしょうか?
>>635 結論を言えばその通りなんだが、
かなーり勉強し直した方がいいな・・・
>>635 「どのように受け渡されるか」しりたいならサーブレットのソース見たほうがいいんでない?
>>628 >さらに、JSPやサーブレットの勉強をするのに、tomcat-apache連携する必要は、まったくない。
遅レス気味だけど・・・。
そーなの?スタンドアロンでJSPを動かしたりって出来るものなんでせうか?
一応ド素人だから、本にある通りにやっているんだが。
将来的にサーバ上げてみたいってのもあるから、これでいいかな?とは思いつつも
とりあえずの勉強だから、スタンドアロンで出来るなら方法知りたい。
教えて君ですまないが、初めてここで知った事実だから教えて欲しいっす。
うは。ごめんなさいsage
>スタンドアロンで出来るなら方法知りたい。
何もする必要なし。そのまま動作する。
>>639 あえて言えばデフォルトだと8080ポートなので
そこを指定するか80ポートに変更する
tomcatはサーバとしても使えるよ、て話じゃないの?
>>642 べつにそんなことしなくても、8080ポートにアクセスすればいいだけ。
>そこを指定するか
アハハハハハ
650 :
デフォルトの名無しさん:04/08/20 22:29
JSPでCookieを記録したいのですが
response.addCookie(cookie)をJSPファイルの先頭に書くとうまく
いくんですけど、何か文字を出力した後に書くとうまくいきません。
何か解決方法はありますか?
651 :
デフォルトの名無しさん:04/08/20 22:33
オラオラ!速く答えろや!
>>650 HTTPレベルで考えてごらん。
ヘッダを出力するまで本文の出力を保留というかバッファリングしないとダメ。
というか設計が悪い。
なるほど。とりあえず構造を見直してみます。
654 :
デフォルトの名無しさん:04/08/25 02:38
HttpServletRequestの
getHeader
で文字列を取得するのですが、
同一tomcat上の
アプリケーション1では
ちゃんとわたってくる(200文字程度)のに、
アプリケーション2では
100文字程度に切り取られてわたってきます。
リクエストヘッダの長さがどっかで指定されているのでしょうか?
655 :
デフォルトの名無しさん:04/08/25 03:10
>>652 >というか設計が悪い
設計が悪いっていうか、設計なんてされてないでしょ・・・。
大体、設計にCookieはコンテンツ出力前に書き出すなんて表記しないし。
設計以前の問題であって、設計うんちゃらの問題じゃないです。
JSPの変数宣言で質問があります。
session"TEST"には、ユーザ別にユニークな値が入って入る時、
jspファイルで、以下のように記述してます。
<%! String test; %>
<% test = session.getAttribute("TEST"); %>
この場合、複数ユーザが接続状態にある時、
同時にリロードなどを何度も繰り返していると、
5回に1回程度、他ユーザのsessionの値が入ってしまっています。
その際のsession.getAttribute("TEST")自体には期待する値が
入っているのですが、testに値が渡されていません。
TOMCATのVer.4.1.27、4.1.30、5.0.25で、全て同現象がおこりました。
<%! %>内に変数を宣言しなければ起こらないようなのですが、
その理由がが理解出来ません。ただ変数の初期化を行っている
だけだと思っていたのですが・・・。何か勘違いしてるのでしょうか?
>>656 訂正
test = session.getAttribute("TEST");
test = (String)session.getAttribute("TEST");
です。
>>656 <%! 〜 %> の間で宣言された変数はインスタンス変数だ。
Servlet(JSP)のライフサイクルを理解していればインスタンス変数が
複数のリクエスト・セッションで共有されていることがわかるはず。
ローカル変数として宣言したければ<% 〜 %> で宣言しなさい。
ってか典型的な FAQ だなや。
>>658〜660
ありがとうございました。
自分の勉強不足が良くわかりました。
>>661 すみません、初歩的な質問してしまったようで・・・。
663 :
デフォルトの名無しさん:04/08/27 10:03
申し訳ないが似たような初心者質問させて下さい。
Modelから、ビジネスロジックを記述してる別のclassを利用しています。
この時、利用されてる側のclassのsetter/getterにsynchronizedを
つけるべきかどうかの判断がつきません。
どういう基準で考えればいいですか?
>>663 "インスタンス"が複数スレッドから参照されるかどうか
参照されるなら、競合が起きてもいいかどうか
>>664 明解な判断基準を戴きありがとうごぜぇます。
「"インスタンス"が」というキーワードで頭のモヤが晴れますた。
666 :
デフォルトの名無しさん:04/08/30 13:35
ファイルアップロード機能があるJSP+Servletってどこかにサンプルないでしょうか?
すいません、jspファイルはどこにあるんでしょうか。
>>668 いや、ライブラリなので、自分で作って・・・
ぐぐれば出てくると思うが
そうですかー、大変ですね。
掲示板CGIの配布みたいにあったら便利なんですけどねー。
まだそこまで普及してないってことですかね。
レンタルスペースでjsp使えるなんてとこ無いですからね。
ポカーン・・・・
>>670 Java は Perl みたいにお手軽な掲示板などに向かないからね。
JSP が使えるレンタルサーバもあるけど。
2ちゃん掲示板のJava実装とかどこかで動いてるのかな。
フレームワークはStrutsで、DBはもちOracle、とか。
もち か・・・
いくらするか知ってる?
>>674 Oracleである必然性が・・・
Strutsの必然性も・・・
しかし、そんな練習プログラムレベルのもの、どこで動いてても不思議ではないと思うのだが。
そういう場合のデータベースはServlet上で動くものがいい。
配布も設置も楽だし。
Cloudscape?
TOMCAT使っているのですが
違うコンテキストのクラスファイルを参照したいのですが、
どうすれば良いでしょう?
webapp/hoge
hogeからhogehogeにあるA.classをインスタンス化したい。
webapp/hogehoge
>>680 無理な理由は
違うコンテキストのクラスをインスタンスしようとした場合、
現在しようしているクラスローダーとは違う上層のクラスローダー
を使用するため、インスタンス化できても、
元のクラスローダーでインスタンス化された
クラスを参照できなくなるから?
で合ってますか?
あー、クラスパス通せば無理でもないな
684 :
デフォルトの名無しさん:04/09/06 11:05
どうしてマッピングパスはあるのですか。
はじめから、マッピングパスの名前でファイルを作ればいいと思います。
index.htmlでアクセスしたときにはどうするんだ?
拡張子がjspだったときにすべてそのサーブレットで処理したかったらどうするんだ?
あるサーブレットを継承する場合、継承元にもアクセスできるようになってしまわないか?
小文字で始まるサーブレットクラス名は気持ち悪くないか?
>>684 XDocletでおまえの要望は解決だ。
687 :
デフォルトの名無しさん:04/09/08 11:51
age
688 :
デフォルトの名無しさん:04/09/13 09:30:15
あげ
689 :
デフォルトの名無しさん:04/09/14 13:16:40
どうしてCGIじゃ駄目なんですか?
JSPを使う理由をわかりやすく教えてください。
>>689 ServletからCGIにオブジェクト渡したりするなんて面倒じゃない。
>>689 CGIだと、毎回JavaVMが起動するから、著しく重い。
凝った画面をCGIで作るのも大変、メンテも大変。
>>692 それは別問題。
CGIでも、Velocityとか使えばそこまで問題にはならない。
とりあえず、CGIというのはリクエストがあってプログラムを起動するための方法のことだから、プログラムの組み方には影響しない。
CGI + Java でもいけるからな。
どこかのレンタルサーバにあったよ。
意味ねー、と思ったけど。
CGIでJava使ってる強者とかどっかにいないかねぇ
>>697 サーブレットコンテナ不要。管理も不要。
いまのVMの実装じゃあメモリ食いすぎるよ。
それにServletがあるからCGI用の便利なライブラリもないだろうし。
>>699 いや、ちゃうがな。Servlet のほうが利点があるのは当たり前。
>697 意味ないことはないってのを言っただけ。
JSPでいいじゃん、って感じだな
そういう話はWebProg板にある対決スレにでも行ってやってほしいな
>>703 よく考えたらここはjsp/servletスレだしcgiはスレ違いか。
javaスレいったほうがいいのかもね。
705 :
デフォルトの名無しさん:04/09/21 06:14:18
「jspで実行中」のプロセスIDを取得して
それをjsp/servletプログラムからkillする方法ってないですか?
ぐぐってみてもプロセスIDの取得すらできないような感じですけど
>「jspで実行中」のプロセス
てのがよくわからんけど、Runtime.exec()で実行したプロセスのことなら
返り値のProcessをServletContextあたりに入れれば外部から制御はできそう。
707 :
デフォルトの名無しさん:04/09/21 07:03:13
>>706 jspからsocket接続してるんですけど、それを外からキャンセルしたいんです。
signal送ったりもできないっぽいのでなんか割り込む方法がないかと
思ってるんですけど・・・ないですよね・・・
709 :
705:04/09/21 07:36:05
>>708 705=707
です。707で具体的なつもりですけど、わかりにくいですかね・・・
>>705 実行中のプロセス=Servletコンテナが動作しているJVMだ。
もし、killできるとしたら、Servletコンテナをkillすることになる。
つまり、サーバ強制停止だな。
711 :
705:04/09/21 08:06:57
>>710 てことは、スレッド停止になりますよね
Threadにinterruptで割り込んで停止になるのかな
てかそんなことできないっぽいですね・・・
Servletコンテナが管理するスレッドをどうこうしようとするな。危険。
>>712 危険なのも邪道なのも一応分かってるつもりですけど
それを使わないことには実現できない変なものを
作ってるので・・・
>>713 > それを使わないことには実現できない変なものを
> 作ってるので・・・
JSPだけで済まそうとするからややこしくなる。
スレッドを制御したいなら自分でスレッドを作ればいいだけだが、
その変なものが謎なので、なんともいえない。
716 :
デフォルトの名無しさん:04/09/28 10:48:19
質問させてください。
プログラムを作成し、ブラウザで表示させようとしたところ、表示できません。
そこで、該当プログラムのWEB-INFにあるweb.xmlを古い奴に置き換えたところ、
とりあえずnullが返ってくるようにはなったのですが、web.xml内にデータを入れると、
全く動かなくなります。
プログラム名をSample1.jspとし、保存先はwebapps内に、プログラムを作成した日にちの
フォルダを作り、その中(フォルダ名0928Web)に保存してます。
ブラウザでは、「 The requested resource (/0928Web) is not available.」と表示されてますが、
フォルダ自身はwebappsの中に存在してます。何が原因なのでしょう?
どなたか教えていただければ幸いです。
717 :
716:04/09/28 10:50:08
●作成したSample1.jsp
<%@page contentType="text/html;charset=Shift_JIS"%>
<html>
<head><title>Sample1</title></head>
<body>
<h2>config暗黙オブジェクト</h2>
<hr>
<%
String version=config.getInitParameter("version");
String date=config.getInitParameter("date");
String version2 = application.getInitParameter("version");
String date2=application.getInitParameter("date");
%>
このWebアプリケーションのバージョンは<b><%= version %></b>です。<br>
このプログラムの作成日は<b><%= date %></b>です。<p>
このWebコンテンツのバージョンは<b><%= version2 %></b>です。<br>
このコンテンツの作成日は<b><%= date2 %></b>です。<p>
</body>
</html>
718 :
716:04/09/28 10:51:54
●編集したweb.xml
//冒頭略
<web-app>
<context-param>
<param-name>version</param-name>
<param-value>3.0.2-1</param-value>
</context-param>
<context-param>
<param-name>date</param-name>
<param-value>2004/09/27</param-value>
</context-param>
<servlet>
<servlet-name>Sample1</servlet-name>
<jsp-file>/Sample1.jsp</jsp-file>
<init-param>
<param-name>version</param-name>
<param-value>040913</param-value>
</init-param>
<init-param>
<param-name>date</param-name>
<param-value>2004/09/13</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Sample1.jsp</servlet-name>
<url-pattern>/Sample1.jsp</url-pattern>
</servlet-mapping>
//以下略
719 :
716:04/09/28 10:52:59
上の編集した部分を削除すると、正常動作します。
長々と大変失礼いたしました。どうかお願いいたします。
正常動作するんなら、編集した部分を削除したままにしておけばいいじゃない
web.xmlなんて特に必要なければデフォルトのままで
いいんだし、Wef-infにあるやつ消してしまえば?
すまん、プログラム読んでなかった。忘れてくれ
>>716 <servlet>と<servlet-mapping>のservlet-name属性の値が対応していないよ。
>>723 それが<servlet>のservlet-nameをそれぞれ040927、2004/09/27
にしても動かないんですよ。Tomcatを再起動しても動いてくれないです。
>>724 意味がわからんのだが。
<servlet>のservlet-name属性がSample1なら<servlet-mapping>のservlet-name属性も
Sample1でないと対応関係わからないじゃないですか。というか、それぞれのタグの意味
わかってますか?
JSPで 突然request暗黙オブジェクトがnullになっちゃうことがあります。
途中の行まではちゃんと 上から渡されたHttpServletRequestのオブジェクトが入ってるのに
いつの間にかnullになってるんです。
requestにnullを入れたりは勿論してません。生成されたjavaファイルを見て確認しました。
Orz
>>726 > requestにnullを入れたりは勿論してません。
どっかしらでしてそう。
nullになる前に違う変数に入れとくとどうなる?
ちがうものがnullになってる予感。
729 :
デフォルトの名無しさん:04/09/29 22:04:35
すんません。ロジックの穴がわからないアホなんですが、助けてください。
同じユーザIDの人がログインしたときに、後からログインした人を勝たせるというロジックを
作りたいんですが、同じIPからなら、そのままスルーするという条件があります。
自分は、サーバ側のクラスにstaticでIPとboolean型のフラグを持たせて、以下のように
組んでみたのですが、後の人が負けてしまうパターンが出たそうです……。
何をどうすれば、正しく後勝ちにできるのでしょうか?
lbっていうのが、サーバ側のクラスにstaticで持っているクラス(IPとフラグを持つ)です。
falseを返す場合が、その人が追い出されるパターンです。
if( lb != null ){
if( lb.getIpaddress().equals(request.getRemoteAddr()) ){
return true;
}else if( !lb.getFlg () ){
lb = new LoginUser();
lb.setIpaddress(request.getRemoteAddr());
lb.setFlg true );
return true;
}else{
lb.setFlg ( false );
return false;
}
} else {
lb = new LoginUser();
lb.setIpaddress(request.getRemoteAddr());
return true;
}
言い訳ですが、徹夜続きで脳みそ死んでます…。情報が足りなかったら、その旨教えてください。
よろしくお願いします。
う…
インデントが消えて読みにくい…
申し訳ありません。
仕事の質問をこんなところでするなスッタコ
情報漏洩だ莫迦
クビになれ
729に追加です。
このロジックは、ログイン時、および、画面遷移時に毎回読み込まれます。
損害賠償請求ニダ
ソースはどうせわからないから読まないけど
static 変数なんか使わないで
scope=application のbean かなんかに
HashMap 型のobjectひとつもたせて
IDとIPの組を保持させたほうがいいとおもうんだが・・・
>>734 レスありがとうございます。
言われて気づいたんですが、staticなのは、HashMap(TreeMap)ですね。
その中に、IDをキーにして、IPとフラグを持ったクラスをいれてます。
直接IPをValueにしないのは、他の情報も持ちたいから。
scope=application のbean にする方法は、ちょっと試してみますね。
staticよりそっちの方がよさげな気がする。
とはいえ、なんかロジックミスらしいんですよ…。どこが悪いのかわかんねぇ…。
つーか、そのミスがわからないんで、状況を再現できねぇ…。欝だ
こーいう機密保持の意識のかけらもない奴が情報漏洩を起こす
>>735 Servlet はスレッドセーフじゃないとだめだっていうのは
わかってる?
>>737 えっと、今回の場合、そのHashMapをprivateにして、
このロジックを含むメソッドをsynchronizedにしてるんだけど、それじゃダメですか?
>>739 了解。
忠告に従って、scope=application のbean にします。
遅くまで指導ありがとう。
742 :
デフォルトの名無しさん:04/09/30 06:11:34
JSPを用いてのWEBアプリケーションをインターネットを通じて、
他のPCからでも利用できる(見ることができる)ようにするには
自宅サーバをたてれば良いのでしょうか。
また、もしサーバーを構築すればできるとしたら、そのサーバーとなるPCで
tomcatとapacheを起動したままにすれば他のPCからもシステムにアクセス可能となる感じでしょうか。
tomcatとapacheで自分でlocalhost..として動作確認は理解できるのですが、どういった流れで構築した
システムをWEB上に公開できるのかが全く理解できません。
こんな質問で申し訳ないですが、どうかお願いします。
よくわからんが・・
>tomcatとapacheで自分でlocalhost..として動作確認は理解できる
ここを本質的に理解できているのなら、わからないことは無いはずだが
>>742 globalIPでアクセスすればいいよ
>>742 Apacheだけで運用する場合と同じ問題。
どちらかといえばスレ違い。
Tomcat5.0.19 + J2SE5.0でサーブレットの処理中に
String s = request.getServletPath() + "aaa";
と入れるとそのサーブレット使えなくなるんだけど、俺だけ?
doGet(...){
String s = request.getServletPath() + "aaa";
}
みたいな感じにするだけでVerifyErrorになる。
J2SE5付属ではないコンパイラでJ2SE5付属のライブラリを使ってコンパイルしたときの問題のようだ。
なんかややこしいことになってた。
J2SE5付属のコンパイラでコンパイルすれば問題なかった。
J2SE5使ってんのに、なんでTomcatは5.0.19なの?
5.5.x系出てるよね
特にバージョンあげる必要性感じなかったから。
J2SE5は、いろいろ楽しそうだけど。
>>751 いちいち最新版に入れ替えるのもめんどい。
753 :
デフォルトの名無しさん:04/10/01 10:46:00
たまにみかける拡張子.jspaってなんですか?
754 :
デフォルトの名無しさん:04/10/01 11:28:57
MySQLで、指定した範囲のみのデータを取り出したい場合
(10番目から20番目など)はどのようにすればいいのでしょうか。
rs.absolute(10);
for(i=0; i>10; i++) {
rs.next();
}
でできました。
ぽかぁぁぁーん・・・
758 :
デフォルトの名無しさん:04/10/01 13:50:25
質問です。お願いします。
ファイル検索できるランチャ作ろうと思うんですけど何で作るか、何が作りやすいか教えてください。
一応候補はVBNET−c++−c−JAVA−です。
VBNET−c++−c−JAVA−
って、聞いたこと無いけどずいぶん長い名前の言語だね
761 :
デフォルトの名無しさん:04/10/04 00:52:33
742です。おかげさまで無事サーバたてて公開できました。
ですが、データベース(MYSQL)とJSPが連携してくれません。
アパッチのルートディレクトリにWEBアプリのルートを指定して、
ttp://XXXX.XXX.XXX/sample.jsp とここまでは外部のPCからで確認できるのですが、データベースを認識していないらしく
おかしな表示になってしまいます。
localhostにした場合は連携できているのですが、これはどういった原因が考えられるのでしょうか…
762 :
デフォルトの名無しさん:04/10/07 01:25:39
HTMLベースでWebアプリ作るのもうやだ・・・。
仕様は腐ってるし出来ること少ないしブラウザごとに表示異なるし・・・第一無駄に工数かかるし。
Appletサイズ100%で表示してその中で全部やりたいよ、メニューバーも簡単に表示出来るし。
そもそも愚痴はマ板いけ
10分に一回とかの定期処理を行いたいんですが、スレッドはどこで立ち上げるのがいいですか?
スレッド起動用リスナーの登録?
Resinなら出来る。
>>765 listenerでいいんでない?やってみ
>>766 そのたびごとにVMが起動されるのがキモチ悪い・・・
SevletContextListenerでjava.util.Timer設定するのが一番楽かな。
servletでURLを指定してそのソースを取得したいんですが、
ソースのUnicodeへのエンコードが上手くいきません。
response.setContentType("text/html; charset=Shift_JIS");
で、シフトJISのページは表示されるのですが、EUC(Yahooニュースなど)とかは駄目
なんです。
取得したソースに
return new String(s.getBytes("ISO8859_1"), "JISAutoDetect");
を通しても駄目でした。JAVAアプリとして作った時はこれでうまくいったのですが。
どうすればいいかわかりますか?
それをナンにつけて食う
774 :
デフォルトの名無しさん:04/10/14 19:47:55
>>775 apacheでもtomcatでもなくIEの404ぽいです・・・
↓
HTTP 404 - ファイル未検出
Internet Explorer
ぽかーん・・・
おまえはIE使用禁止。
もしくはエラーを簡易表示するな。
で?どっちの404なんだ?
じゃあ、マッピング失敗。
cgi-binの*.cgiがTomcatに行くようにせよ。
Tomcatでcgi使えるのはいいが
それに一体どんなメリットがあるんだ
Apache入れてんだろ?
Tomcatのワークディレクトリを参照パスに追加しておくと
Eclipse上でスタックトレースからJSPの展開されたソースコードが表示できることに気づいた。
めちゃ便利 d(゜∀゜)
>>782 レスどうもです。やってみます。
>>783 いろいろやりたい年頃・・・
ってのとjspとperlを同時に使いたかったりするときとか
テスト環境作りが楽だったりとか
http://www.error.jp/ 適応するスレが見つからなかったんで
こちらに書かせてもらいますが
上記のような、jspのサイト
こんな形で、作れる人ていませんか?
って、聞き方がおかしいですが
こういうサイトが作れたらいいな〜と思ったんで
>>787 > 聞き方がおかしいですが
おかしいですね。
そうじゃなくて、JSPで出会い系サイト作ったので、アクセスして儲けさせてね、と。
そういいたいんでしょ。
作りたいなら、普通にWebサイトの作り方と出会い系サイトを勉強すれ。
(|||´Д`)
ちゃうちゃうww
管理人は、エセやもん 宣伝なんか、逆にしたないよ
結構、ここの管理人に、お金を取られたのに、不正な理由で削除(登録を)
されたりした人が数人いて、それで、同じようなサイトを・・・
って話が出たんで、書いたのです
まー、確かに 宣伝多いから、そう思われてもおかしくないけど
まじちゃうから〜〜 勘弁してけろ
>>789 勉強もなにも、知識すらないんで、作れる人にとって
簡単なものなのか、それとも、難しいものなのか
聞きたかったのですよね
というか、本業にしている人に、いくらくらいで、作れるのかを聞いたら
5〜6万って言うんですよ
え???と疑問に思ったもんで・・・
そんな安いコストで、ほんまに作れるなら、お金出すから、作ってもらおうと思ったわけです
ま、そゆことで
変に疑う人は、別に作れるかどうか、検討してくれなくて結構です
冷たい言い方でスマソ
>>790 そういうことだったら
http://jp.xoops.org/ みたいなポータルサイト構築パッケージをインストールしてみるのはどう?
無料だし。
------------
XOOPS(ズープスと読みます。小野さんの発音を聞きたい人はここ)とは、PHP言語を用いたコミュニティサイト構築用ソフトです。
PHP4およびMySQLが利用可能なサーバであれば、約 5 分でインストールでき、
直ちに当サイトのようなユーザ登録型コミュニティサイトを立ち上げることが可能です。
------------
>>790 5〜6万で作れるもんじゃないよ。
だって、2〜3日で作るってことでしょ。
トップページのデザインだけでもそのくらいかかるんじゃない?
ま、出会い系なんか、適当でいいから、どっかのサイトからパクって作ればいいって考えがなりたつのかもしれないしね。
信用なんか構築する必要が少ないし。
それより、サクラ集めたり、そのサクラの方向性決めたり、そういう運営のほうが難しいんじゃないの?
回答ありがとうございます! 友達に見せてみました
自分ではわかりそうにないので、参考にさせていただきます
jsp版があるといいですね。 本当参考になりました。有難うございます
>>792さん
そうですよね。なぜ、そんな低コストだと判断したのかわからないんです・・・htmlだけの部分だと勘違いしたのかもしれませんね
サクラはいらないですね って、サクラがおるんかw 出会い系を作るつもりではないんでダイジブです|д`)
個人的な交流サイトって事です。
貴重なレス有難うございました
>>793 オレはその「本業にしている人」がまともな仕事できてるのかどうかが心配になってきた。
ただのホームページやさんじゃないの?
795 :
Yoshi:04/10/20 14:07:56
すいません。
現在、Java実行中、OutOfMemoryが出力されてしまいます。
たしかにHeapのサイズをTomcatInstall後何もいじっていません。
よってInstall状態のままの設定です。
なので、この掲示板でHeapの設定方法などを知りましたが
どうもうまく設定できません。
ご教授お願いいただけますでしょうか?
●環境
Apache Tomcat 4.1
J2SDK1.4.2
OS:Windows2000 Server
質問1
Catalina.batにset CATALINA_OPTS="-Xms16M -Xmx512M"というふうに指定しました
これが正常に設定されているかどうかを確認する方法はありますか?
この設定を行っても、いまだにOutofMemoryが発生しております。
いちおう、自分なりに、メモリを取得する
Javaプログラム(Runtime.getRuntime().totalMemory()とfreeMemory())
を実行したところ変更前の取得値と変更後の取得値はかわりません。
正常に設定されていないようなのですが。。。
また、サービスに登録されているかもしれないので、レジストリにも上記値を設定
致しました。
すいませんが、宜しくお願い致します。
>>795 Ja-Jakarta掲示板とのマルチ乙。
あっちではWindowsの環境変数に設定したと書いているが両方試したってことか?
「メモリを取得するJavaプログラム」ってのが別VMで動作していたら意味がないのだが。。。
Windowsだったらタスクマネージャでメモり消費を見るって手もある。
あと、Tomcatの起動方法は?Tomcatに付属の起動スクリプトではなく、他の方法(Eclipseから、等)
だったらそっちで読み込める場所に設定しないとダメ。
797 :
Yoshi:04/10/20 14:31:22
>>796さん
即回答ありがとうございます。
いちおう両方ためしました。環境変数に設定する方法と、catalina.batに記述する方法。
>「メモリを取得するJavaプログラム」ってのが別VMで動作していたら意味がないのだが。。。
あ!そうなんですか。すいません勉強不足でした。
起動方法は、TomcatInstallしたときに、スタートメニューに追加される「Start Tomcat」で
起動しています。
初心者発言で大変申し訳ないのですが、「サービス」にも「ApachTomcat」っていうのがあって
状態が、停止している状態です。スタートアップの種類が、手動になっています。
これは、サービスでTomcatが起動しているということではないということですか?
>>797 > これは、サービスでTomcatが起動しているということではないということですか?
そうではないということではないということ。
799 :
デフォルトの名無しさん:04/10/20 14:47:43
Tomcat4.3
J2SE1.4
上記の環境でJSP,ServletのWebアプリを作る勉強をしている者です。
入力ページ等で送信ボタンを連打されると
その度にJava側の処理が動いてしまうのですが
どういった対策を取るのが一般的なのでしょうか?
一応、自分で考えた方法も書いておきます。
ご教授頂けます様、よろしくお願いします。
思いついた方法
1.JavaScriptを使用する(onclickのタイミングでボタンをdisableにする)
↑環境依存、JavaScriptに大事なことやらせていいのだろうか、という点で不安です
2.Java側にPOSTされた瞬間に処理中フラグをセッションにセットする。
>>799 StrutsのTransactionTokenという仕組みが参考になるのだが
ServletやJSPの学習を始めたばかりの人にはちょっと荷が重いかな。
>>801 > ユニークIDの生成ロジックを作成するのが難しそうですが
Strutsはオープンソースだよ?
ソースコードはダウンロードできるんだから、そこからパクればよい。
具体的には現在時(ミリ秒単位)とセッションIDから合成して生成している。
ちなみに、org.apache.struts.util.TokenProcessor クラスの generateToken() メソッドね。
こんなかんじ。
public String generateToken(HttpServletRequest request) {
HttpSession session = request.getSession();
try {
byte id[] = session.getId().getBytes();
byte now[] = new Long(System.currentTimeMillis()).toString().getBytes();
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(id);
md.update(now);
return this.toHex(md.digest());
} catch (IllegalStateException e) {
return null;
} catch (NoSuchAlgorithmException e) {
return null;
}
}
public String toHex(byte buffer[]) {
StringBuffer sb = new StringBuffer();
String s = null;
for (int i = 0; i < buffer.length; i++) {
s = Integer.toHexString((int) buffer[i] & 0xff);
if (s.length() < 2) {
sb.append('0');
}
sb.append(s);
}
return sb.toString();
}
>>802 そうですよね、全く気がつきませんでした・・・orz
ありがとうございます。早速ソース落としに行ってきます。
>>795 メモリ使用量はTomcat Manager ApplicationのServer Statusで見れるよ。
でも空き容量は十分でもOutOfMemoryがでるときがある。
806 :
デフォルトの名無しさん:04/10/20 21:47:50
意外とソース落ちてるもんだな
だれもTomcat4.3にはつっこまないのか?
勉強するならTomcat5使うべきだし。
その理屈もどうか。
勉強するのに古いバージョン使うのは有害。
その理屈もどうか。
勉強するなら、4.3の方がまだ情報が多い。
今からやるならJSP2.0がつかえるTomcat5.0でいいやん。
導入や設定は4.xとほとんど一緒だし。
ほとんど一緒だけど、
その他の一部でつまづくのが初心者かと。
>>811 え、4.3っていつの間に。
googleでも2件くらいしかみつからないけどw
>>813 しかし、式言語とか知らずに、JSPは<%=xxx%>と書かないといけないから${xxx}と書けるVelocityの方がいい、という古い認識になるのも、ねぇ。
JSP/Servletの勉強するなら、設定の必要がないNetBeans使え、と。
入門用には枯れたバージョンの方が情報が多くためになる場合がある。
たとえばeclipseは3.xベースの本なんてほとんど出てないし
各種解説サイトも2.xを使っている場合が多い。
最新技術追っかけるのは一通り基礎ができてからで充分。
Apache+TomcatでwinMEでJSPコンテナ構築しようとしたんだけどうまくいかず。
これってやっぱりwinなら2000で構築するほうがいいんですか
言葉、よく知らないで使ってるだろ?
結論から言うと、お前がヘタレなだけ
Win98だろうがXPだろうが動く
>>817 その前にまずTomcatだけで動かしてみること。
>>819 会社の2000ではうまくいったんですが。。
なぜ自宅のMEでうまくいかなかったのかよくわからず。。
もっかいTOMCATだけで勉強してやってみます。
98でもMeでもできたと思ったが
うまくいかないって言ってる内容がなんなのかわからんけどな
824 :
デフォルトの名無しさん:04/10/22 13:52:54
Tomcat3のInvoker・サーブレットマッピングがいまいち分かりません。
localhost/hoge/でサーブレットを起動したいのに
localhost/hoge/servletでないと起動してくれない。。。
マッピングの記述には問題がなく、これをアプリをごっそりTomcat4に
乗せるとlocalhost/hoge/でサーブレットが起動されます。
これは仕様なんでしょうか?Jakartaプロジェクトは一通り見てみたのですが・・・
ご存知の方いらっしゃいますか?
いまどきTomcat3かぁ。フィルターも使えないんだよね。
乙。
>>824 いくら枯れている方が情報が多いとはいえ、3.xはもう時代遅れの感が。
わざわざinvokerで動かす理由もないと思いますし。
827 :
デフォルトの名無しさん:04/10/22 17:02:19
自社にてIIS上で動いているイントラネット(認証情報をセッションで保持)
システムがあるのですが、勉強するのがメインで立てた別なサーバ
(JAVA Servlet)からIIS側で生成したセッション情報をもらったり、
渡したりしたいのですが可能なのでしょうか?
クッキーを使ってだと書き直すソースの量がたくさんなので、できれば
セッションのやりとりで解決したいです。
よろしくお願いします。
>>815 最近Velocity使ったプログラムの保守やったんだが、ソース見て気が狂うかと思った。
(使い手が糞だった可能性が濃厚なのだが・・)
あんなのが流行らなくてマジ良かった。
Port:80で稼働中のApacheからブラウザに送り込んだCookieを、
Port:8080で稼働中のServletから取得できますかね?
連携してて80でサーブレットにアクセスできるならね。
>>830 ありがとうございます。不勉強なもので、もう少々教えて頂けると助かります。
同じDNS設定がされているApacheとTomcat(物理的に2サーバ構成)の状態なんですが、
連携しているというのは、Apacheに80番でリクエストしたものが、modを経由してTomcatに
渡すことができれば、という意味でしょうか?
まずはクッキーについて調べれ
URL上Cookieはドメインとパスとセキュアかどうかしか保存してないから、
ポート違いでも同様に扱われる。有効なRFCはたぶん2109番。
> Port:80で稼働中のApacheからブラウザに送り込んだCookieを、
> Port:8080で稼働中のServletから取得できますかね?
つまりこれは可能。
CGI/PerlやJavaScriptででも試せばすぐわかりそうなもんだけど。
>>833 ありがとうございました。
おっしゃるとおり、試していませんでした。失礼しました。
これから試してみます。
質問です。
お知恵をお貸しください。
RedHat9上でサーブレットとJSPを表示させようとしてます。
Apache2.0.46 + tomcat4.1.24 + akarta-tomcat-connectors-jk2-2.0.1を
使ってます。
JSPは機嫌よく表示できるのですが、端末によってServletで出力してる画面の
日本語の部分が「????」で表示されてしまいます。
responseのエンコードにはEUC-JPを指定していて、ブラウザのエンコードも
EUCで返ってきています。
何か対策すべきことはあるでしょうか?
全部が全部「????」なら対策も色々とあるのでしょうが・・・
つたない説明で申し訳ありません。よろしくお願いします。
>>835 文字化けしてるだけだし正しく変換してやればOK
ソースの文字コードと出力文字コードが違うんじゃね?
文字化けは端末依存なの? 発生する端末としない端末ははっきりしてる?
JSP じゃ発生せずにサーブレットの時だけ発生するの?
文字化けすんのはページ全体? それとも一部だけ?
端末依存っていや Accept-Langage に ja を送ってこない椰子は
HttpServletRequest#getCharacterEncoding() が iso-8859-1 を返して
リクエストパラメータが軒並み化けたりする環境もあったけどな。それは
ちゃんと euc-jp で返ってきてんだよな。
PrintWriter経由じゃなくてServletOutputStream経由で出力してて、
自前でエンコードしてないだけな気がする。
そんなアホなことするなんてありえなくなーい?
ありえない挙動でひっかかっているときは、ありえないコーディングをしているものである
---ゲーテ
様々なご意見ありがとうございます。
>>836 一度やってみます。
「美乳」などのおまじないですよね?
>>837 ソースの文字コードはeuc-jpで保存しています。
HttpServletResponse#setContentType()に"text/html; charset=EUC-JP"を
指定しているのですが、これがまずかったのでしょうか?
>>838 発生する端末ははっきりしていません。今まで見れていた端末が、ある日突然
文字化けを起すようになるんです。OSもWindows98SE、WindowsXPで発生したのは
確認しました。ちなみに、ブラウザはIE6.0でした。
現在、ServletでHTMLを出力するという昔ながらの方法を採用していて、
文字化けしてるのはServletで出力している画面全体です。
ソースを表示しても「????」になっています。
>>839 もちろん、PrintWriter経由で出力しています。
というより、それ以外に出力する方法知らないので・・・
勉強不足ですいません。
ソースで既に?なら、それはJava側でうまくエンコーディングできていない。
JavaのソースにHTML書いてるなら、Javaのソースの文字コード、コンパイル時の指定文字コード、コンパイルするマシンの文字コード、サーバの文字コードを疑え
ソースをEUCで保存してるのに、Windowsで何も指定せずにコンパイルしてるだけとか。
>>842で私が書いた「ソース」とは
ブラウザから見える「ソース」のことです。
言葉足らずで申し訳ありません。
>>843 >>844 Javaのソースの文字コードはeucです。
コンパイルはRedHatが乗っかっているサーバで行っているので、eucと思っています。
コンパイル時には文字コード指定を省略していたので、デフォルトのeucで
コンパイルされるものだとばかり思っていたのですが、やはり指定を省略するのは
まずかったのでしょうか?
>>845 RedHatの設定でLANG=Cもしくは設定なしの可能性は全否定かー。
とりあえず見直せ。
>>846 確認していませんでした。
確認してからリコンパイルしてみます。
皆様、貴重なご意見ありがとうございました。
ソースファイルとは違う文字コードの環境でコンパイルしてたらそもそも
はっきりと再現すると思うが。それどころか「リテラルに不正なコードが〜」
とかでコンパイルできなくないか。
つか、俺も昔同じ状況に遭遇した覚えがあるのだが、自宅鯖だったのでどう
対処したか覚えてない。とりあえずリクエストパラメータ取得前に
request.setCharacterEncoding("euc-jp")、レスポンス送信前に
resonse.setContentType("text/html; charset=euc-jp") を確実にやっといて、
response.getCharacterEncoding() の結果をログに吐いて再現待ちかな。
(状況から見てレスポンス用のエンコーディングを明らかに誤認識してるし)
849 :
デフォルトの名無しさん:04/11/06 14:35:20
文字コード変換で質問なんですが、
sjisで受け取った文字列をunicodeに変換するには
どうしたらいいのでしょうか?
getbyteしても文字化けしてしまいます
request.setCharacterEncoding("Shift_JIS");
851 :
デフォルトの名無しさん:04/11/07 13:07:33
Eclipseとstrutsを使用しています。session管理をしているのですが、
このsessionとやらは、時間的にどの程度保持されるものなのでしょうか??
どこかに時間を指定するものなんでしょうかね。
教えてエロイ人!(tomcat4.1系だとサーバ再起動でも消えないので、もしかして
永久的に・・ってわけではないですよねぇ〜)
web.xmlの中のweb-app>session-config>session-timeout
853 :
デフォルトの名無しさん:04/11/07 13:38:26
>>852 強大に感謝いたします。MAXTHANKS!!!
Tomcat 5.0 , J2SE 1.4.1 の環境でJSP、Servletのアプリケーションを作っているのですが
その中で右クリックメニューの制御、チャット等のログ表示に使われているようなリアルタイム表示
と言うのがどのような仕組みになっているのかわかりません
色々と調べてみたのですが結局わからず
そう言う物に精通している方からすれば初心者的な質問になるかも知れませんが
どなたか参考になるような物があればお教え下さい
よろしくおねがいします
子供だましでいいならJavaScript、ちゃんとやるならFlashかな。
くわしくは該当スレへ
>>855 レスが遅くなってしまってすいません
参考にさせてもらいます
ありがとうございました
857 :
デフォルトの名無しさん:04/11/10 11:25:22
JSPで
<sql:query var="member" dataSource="${登録名簿_dts}">
select password from member where ID = '<%=id%>';
</sql:query>
・
・
・
<c:forEach var="row" items="${member.rows}">
<c:out value="${row.password}" />
</c:forEach>
上のようにするとSQL上のpasswordカラムの値を抜き出し表示させることが出来るのですが、
<c:out>を使って表示させるのではなく、他の方法でString変数に代入したいのですが式の書き方が分かりません。
例)String a = '<c:out value="${row.password}" />'←こんな式では全然入りません。
ご教授ください。
<c:set>使えばいいじゃない
859 :
857:04/11/10 11:56:39
<c:set>って…
<%
<c:forEach var="row" items="${member.rows}">
String strPass = <c:set value="${row.password}" />;
</c:forEach>
%>
↓
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
JSPファイル: null の中の行: -1でエラーが発生しました
生成されたサーブレットのエラーです:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] D:\app\eclipse\workspace\test_p\work\org\apache\jsp\login_jsp.java:121: 式の開始が不正です。
[javac]
[javac] ^
[javac] D:\app\eclipse\workspace\test_p\work\org\apache\jsp\login_jsp.java:123: 式の開始が不正です。
[javac]
[javac] ^
[javac] エラー 2 個
何か根本的に間違っているような希ガス
<% %>の中に<c:forEach>は入れてもいいのですか?
根本的に間違ってます。
>>859 JSPとJSTLについてちゃんと勉強しろ
>>859 せめて基本を勉強してから来てね
ばいばい
>>848 レスが遅くなって申し訳ないです。
ありがとうございます。
846のご意見を元にLANGの設定を確認したところ、
「ja_JP.EUC-JP」(うる覚えで間違ってるかもしれませんが)になっており、
再度コンパイルし、サーバ本体も再起動してやってみたところ、
やはり現象が再現してしまいました。
ちなみに、サーバ本体の再起動直後にブラウザでアクセスすると
再現してしまい、TOMCATとAPACHEのサービスを再起動することで
なおります。
848さんのご意見の通り、response#getCharacterEncoding()を
ログに出力して、再現したときに確認したところ「EUC-JP」
となっておりました。もっと違うところに原因があるのでしょうか?
>>863 TOMCATスタートアップ シェルにLANG設定追加しろ。
それと「うろ覚え」な。わざとやってるのかもしれんが。
正しくは「うら覚え」だぞ
>>864 ご意見ありがとうございます。
起動シェルの中身に記述を追加するということですね。
日本語間違いの指摘もあわせてありがとうございます。
「うる覚え」で覚えてしまっておりました。
以後、気をつけます。
うる覚えの検索結果のほとんどが、「うる覚えって書いてる人がいるけどうろ覚えの間違いだよね」っていう文脈だというのも補足しておかないと。
うる覚えなんて2ch以外で使ってる香具師なんていないだろ…
結構いるみたいよ。
catalina.outをバーチャルホスト別に出力するにはどうしたらいいでしょうか?
application.ologはバーチャルホスト定義のところで定義したところに
でますが、System.outはすべてcatalina.outにでてしまいます・・・
System.out なんか使う方が悪い。
Log4Jとか使ってれば出力先なんて自由自在なのに。
>>872 Log4Jですか・・・気にはなってたのですが使ってませんでした。
この機会にちょっと使ってみます。ありがとうございましたー
>>873 アプリケーションでLog4J使うならJakarta Commons Logging 経由で使えよ。
TomcatもJakarta Commons Logging使ってるから管理が楽だぞ。
なぜおまいらは標準の路銀具機能を薦めないのかと小一時間(ry
java.util.logging.*
>>876 Jakarta Commons Logging を使えばjava.util.logging だろうが、Log4Jだろうがどちらも後で自由に切り替えられるから。
java.util.logging は標準では標準出力とファイル出力にしか対応できないから
java.util.logging は標準では書式が2種類しかないから
Log4Jのほうがjava.util.loggingより断然パフォーマンスがいいから
java.util.logging はJRE1.4以降じゃないと使えないから
まぁ、あのキチガイ作者になら信者が付いてもいたしかたあるまい。
CommonsLoggingの作者?
880 :
871:04/11/16 19:42:46
>>880 Please initialize the log4j system properly.
>>881 その日本語訳まではわかりますけど、
何を初期化すればいいんでしょう?
ていうか、初期化とはどういう作業になるんでしょうか?
>>882 事故レス
log4j.propertiesの場所が間違ってただけでした・・・orz
初歩的な質問で申し訳ないのですが、DBの内容表示について教えて下さい。
DBの内容をJSPに表示したい場合、まずServletで検索条件を決定する
JSPファイル(HTMLファイルでもいいですけど)条件を受け取り、
Beanにその条件をset〜しsql文を発行し(DB接続部分は別Class
にしています)テーブルのFieldをそれぞれString[] Filed名等として結果表示の
JSPからget〜で受け取って表示しています。
ですが、JSPにはResultSetを返してやれば記述量は減るからそうしろと
言われました。MVCを考えると納得出来ないですが、そこはCase By Caseなの
でしょうか?Fieldの値をそのまま使用するわけではないのでViewの部分に
多くのロジックを書くのには抵抗があります。ただ、記述量の事を言われると
反論が出来ません。
静的なレコード数を返すサンプルは多々ありますが、動的なレコード数を返す
場合、MVCを守って記述しているサンプルは見つける事が出来ません
でした。なのでいちいちString[] Field名、String[] getFiled名と書くやり方
が正しいのかどうかもわかりません。
アドバイスをお願いします。長文失礼しました。
Filed = Fieldです。
分かり難い文章にで申し訳ありません。
上記と合わせ、参考となる文献などありましたら
ご紹介頂けると有難いです。
どんぐりが背比べしてる光景が目に浮かぶ。
DbUtils使え。
JSTL使え。
余裕があればHibernate+SpringとかSeasar2+S2Dao使え。
手っ取り早く使いたければ、技術評論社のムック
そうか、頑張れ。
そこら辺の本屋で売ってる、JSP関連の本が役立つぞ。
JSPでぐぐっても役立つサイトが出てくるぞ。
MySQL、XMLを付けてぐぐるとさらに有効だ。
お願いします。
セッション数の制限をしたくmaxActiveSessionsを指定したのですが、セッションが指定数超えた場合、エラー画面を表示したくなりました。
それでweb.xmlにerror-pageを指定したのだが、これがうまくいかないのです。
真っ白画面が表示されるのよ。
セッションを作成できず、落ちてるので
<error-page>
<exception-type>java.lang.IllegalStateException</exception-type>
<location>/error.html</location>
</error-page>
と指定しても無理・・・・
頭のいいお方達教えてください。
890 :
デフォルトの名無しさん:04/11/18 23:15:28
こんばんは。
諸先輩方、Servletで記述されたフリーのアップロード掲示板orブログ
アプリケーションを配布しているサイトをご存じですか?
探しても見つけられませんでした。
もし知っている方がいらっしゃいましたら教えてもらえませんでしょうか
両方とも自作して使ってるけど
ハッキリ言ってBlogはともかくロダくらいできんでどーする。
Struts落とせばサンプル付いてくるし。
892 :
デフォルトの名無しさん:04/11/20 15:21:54
893 :
デフォルトの名無しさん:04/11/20 15:28:20
>>892 そのリンクURLにクエリーを付加すればOK
894 :
デフォルトの名無しさん:04/11/20 15:42:00
>>893 言っている意味がいまいちよく分からないのですが・・・。
895 :
デフォルトの名無しさん:04/11/20 16:03:34
Servletで掲示板もどきでも作ったら、少しはWebアプリケーションの勉強になるかな?
897 :
デフォルトの名無しさん:04/11/20 16:22:04
898 :
デフォルトの名無しさん:04/11/20 16:42:53
900 :
デフォルトの名無しさん:04/11/20 16:44:47
>>897 <a href= のリンク先を自ホストの任意のサーブレットにして
そのサーブレットが、ステータスコード301とLocationヘッダに
「本来のリンク先=
http://www.yahoo.co.jp」を含めて
レスポンスするとの方法はどうでしょうか?
サーブレットが仲介?するみたいな感じになるので、直リン
したとのログも取れます。
901 :
デフォルトの名無しさん:04/11/20 17:07:53
>>898-900 サーブレットを挟めばできるんですね。ただ、それだと
自分でイメージしたようにできるかどうかわからないので、
自分で作ってみて動かして検討します。
ありがとうございました。
902 :
デフォルトの名無しさん:04/11/22 11:03:00
903 :
デフォルトの名無しさん:04/11/28 19:35:38
こんばんは。
Tomcat5で、JSTLは動作しているのに式言語が有効にならない現象は
どこの設定ミスなのでしょうか?
>>903 今のweb.xmlとjsp-examples/WEB-INF/web.xmlを比べたらわかるかも。
もしweb.xmlを変えたくないならJSPに
<%@page isELIgnored="false"%>
と書いてもいけるはず。
>>904 ご指摘の通りisELIgnored="false"を指定することで解決しました。
web.xmlの相違点もあとでゆっくり見てみますね。
購入した参考書の通りやってるのに動かず困り果てていました。
ありがとうございました。
906 :
デフォルトの名無しさん:04/11/29 17:26:19
こんにちは。
Servletに自分で作ったパッケージクラスをインポートしたいのですが、コンパイル時に「そのパッケージは存在しない」といわれます。
同じクラスをJSPでも使うのですが、JSPの方はうまくインポートできました。
このような場合、どうすればよいでしょうか?
コンパイルオプションでクラスパスを指定してやれ
>>906 コンパイル時のクラスパスと実行時のクラスパスを混同するな
909 :
デフォルトの名無しさん:04/12/03 14:24:36
JavaScriptでエスケープした\uで始まる文字列を
jspのgetParameterで受け取ろうとしたらnullになってしまいます。
JavaScriptで送信前に\uを他の文字列に置き換えることで
回避してますが他にいい方法はないしょうか?
サーブレットフィルタがリクエストのパスを
知る方法はないの?
HttpServletRequestから取れる情報以外で、何が知りたいというのだ?
リクエストのパスって何
913 :
デフォルトの名無しさん:04/12/11 06:13:11
ServletContextからセッションの一覧を取得する方法はないですか?
>>913 ServletAPI的にはできないと思う。
アプリで明示的にServletContextに保持させといて、
寿命はHttpSessionBindingEventで制御すれば同様のことはできるけど。
915 :
デフォルトの名無しさん:04/12/11 13:55:42
sessionDestroyedって、コンテキストが終了するときには呼ばれないんだね。
>>910 あるある、
HttpServletRequestのメソッド全部試してみてください
そのくらい自分で調査できるようでないと
「使えない奴」と思われるだけです
誰かCactus使ってる?
テストケースのtearDown()でサーブレットのdestroy()が
実行されないと困るんだが、方法がわからない。
918 :
デフォルトの名無しさん:04/12/16 22:51:51
オラクルのDBからDATE型の列をJAVA.SQL.DATEで取得すると時間が欠落するのですがどのようにキャストすればいいのでしょうか?
920 :
デフォルトの名無しさん:04/12/20 20:42:38
1 Cookie ck = new Cookie("hoge","value");
2 ck.setMaxAge(60*60*24*30);//有効期限一ヶ月
3 response.addCookie(ck);
クッキーをセットする場合上記用になりますが、複数のクッキーを利用する場合、
1〜3を繰り返すしかないんでしょうか?
1.1 Cookie ck = new Cookie("hoge1","value");
1.2 Cookie ck = new Cookie("hoge2","value");
1.3 Cookie ck = new Cookie("hoge3","value");
2 ck.setMaxAge(60*60*24*30);//有効期限一ヶ月
3 response.addCookie(ck);
変ですけど、上記みたいな感じの書き方ってないのでしょうか?
サンプルのサイトみてもどれもひとつしかクッキー使ってる例しか
ないもので・・・
いまコーディングしてて。
org.apache.commons.fileupload.FileItem#write(File file)って
公式ライブラリのくせしてException投げる仕様ってどうなのよ…
ばーか ばーか ばーか!
>>921 Apache Commonsを公式というのは変だが、それは置いておくとして。
write()しといてメモリに取っておくだけだったり、あるいはDBのBLOBに保存したり
といった実装も想定しているのでthrows Exceptionなんでしょう。
throws IOExceptionではなく。
今のところはDefaultFileItemしかありませんが。
>>920 >クッキーをセットする場合上記用になりますが、複数のクッキーを利用する場合、
1〜3を繰り返すしかないんでしょうか?
そのとおりです。
>変ですけど、上記みたいな感じの書き方ってないのでしょうか?
クッキーがHTTPプロトコルでどのように扱われるのかをわかってますか?
>>926 レスどうもです。どのように扱われるかは知らないので
調べてみます。
yum使ってJPackageからTomcat5を入れようとしたら、
JTAが取れないと言われてコケる。どうすればいいんだ?
929 :
デフォルトの名無しさん:05/01/01 03:21:32
なんか別スレでJavaBeansを使うのは古い!みたいなことが言われてるんだけど、そうなの?
どこのすれかおしえて欲しい(行って成敗してやる)
JavaBeansじゃなくて、むしろEnterprise JavaBeansの方だろうよ。
中規模までのシステムだと、所詮データベースのラッパーにしか
ならんし、それ以上だとまた別のやり方があるし・・・
苦労の割に思ったほどの使い道がない。
結局、ニーズよりも技術?が先走っただけのEJBでした。
933 :
デフォルトの名無しさん:05/01/01 12:11:13
古いとかじゃなくて、いちいちJavaBeansとか気にして
口に出して言わないとかそういう話だろ。
古い新しいじゃなくて、別に今となってはわざわざ
気にするような仕様ではないと思う。
そのスレの議論、発端となっているのが
>というかそもそもJSPだけでJavaを語られても困るよなぁ。
>JSPはJ2EEの部品の1つに過ぎなくて、実際はServletやらJavaBeansやら
>JNDIのConnectionPoolingやらと組み合わせて初めて効果を発揮し始めるのに。
だが、内容的には全然問題ないんじゃね?このスレで同じ内容が貼られていたら普通に流れるだろう。
ただこのレスについて横文字が多いのを僻んだ香具師がそのまましつこく粘着しているだけじゃない?
「俺ってJavaBeans知ってるんだぜ!」とかいう煽りあるくらいだし。
よほどJavaBeansという単語に執拗な僻み意識があるようだ。
ま、いずれにしろレベル低いスレだな。所詮はWebProg板。
WebProg板はPHPマンセーだから
そろそろそのスレの香具師らがこちらに来て自演しそうな悪寒・・・
ま、このスレもそれほど機能してるとは言い難いけどな。
>>933 81の意見が全てだな。
要はそのスレの住人(PHP派)は、「Java側はJSPだけでWebアプリを作る」
としか思っていなかったんだろうな
そのスレ見て知ったけど
PHPってコネクションプーリングみたいな仕組みなかったのか
941 :
デフォルトの名無しさん:05/01/02 04:32:28
>>935 厳密に言うと、問題ないことはないだろ。
>>940 そうみたい。俺も驚いた。
「MySQLならconnectのオーバーヘッドがとても小さいから問題ない」
って、そういう問題かねぇ?
「CGIは都度プロセスを生成するけどPerlならプロセス生成のオーバーヘッドがとても小さいなら問題ない」
っていってるのと同じようなもんだね。
コネクションプーリングが無いって、致命的じゃない?大規模は無理ぽ
今やTomcat入れたら勝手についてくるくらいだし
もはやJavaでは常識の技術だから
PHPでも当然それに値する何かがあると思ってた>プーリング
むしろこっちのほうが本スレだなw
946 :
デフォルトの名無しさん:05/01/02 23:52:58
WebProgの方は、誰と誰がイコールかを議論するのに必死だからな(w
より多くの投稿をイコールで結べば勝ちみたいな論争になってるし。
>>944 早くJTAあたりまで常識になって欲しいと思うんだが。
>>948 そうだね。Tomcatに標準でJTAが実装されたらうれしいかも。
950 :
デフォルトの名無しさん:05/01/03 13:26:41
>>944 PostgreSQLならpconnectみたいに、プロセス単位でプーリングする仕組みはあるし、あまり問題ない。
>>935 内容に誤りがあるという問題じゃなくて、いまさらそれを挙げてどうするの?というものばかり並んでていつの時代の人なのか、という感じがする。
>>950 つったってPHPな人はもっぱらMySQLじゃん。
しかもプロセス単位でプーリングする仕組みしたとしても、
逆に言えばプロセス単位でしかプーリングできないってことだからな。
プロセス単位でしかプーリングできないって・・・・つかえねえ。
954 :
デフォルトの名無しさん:05/01/03 14:45:24
216 名前:nobodyさん[sage] 投稿日:05/01/03(土) 03:08:48 ID:???
PHP+MySQLマンセーっても
MySQLのライセンス体系が腐っているのでとてもじゃないが業務では使えない罠
Zendライセンスに関しても然り
>>952 日本ではPostgreSQLの方が多い。
PHPのMLでも、DBといえばだいたいPostgreSQLが使われている。
>>953 なんで?
単にコネクションプーリングするだけなら問題ないよ。
スレタイ嫁池沼
PHP PostgreSQL の検索結果のうち 日本語のページ 約 256,000 件中 1 - 50 件目 (0.35 秒)
PHP MySQL の検索結果のうち 日本語のページ 約 318,000 件中 1 - 50 件目 (0.18 秒)
検索結果の比較にどういう意味があるのかしらんが、MLの過去ログ検索だとPostgreSQLの方が多い。
で、それとJSP/Servletとどういった関係があるのかね
向こうのスレのやつらがこっちにも粘着し出したんだよ
特に
>>951なんてずっと向こうでJavaBeansの用語に粘着してた香具師だろうね・・・イヤだねぇホント
>>951 基本的な用語を挙げるのが悪いという意見の人も珍しい。
基本的な内容についてレスするたびにこんな粘着されてちゃこのスレも成立しなくなるなw
まあ、その「いまさら」なプーリングもないんだから…
PHP厨はコンプレックスがすごいというのが、向こうのスレを見た感想。
次スレどうする?
>>1を見る限りいらないんだろうし、
このタイミングで立てても粘着PHP厨に荒らされて終わるだろう。
ム板にJ2EE系のスレって他に「まともなの」(←重要)あったっけ?
WebProg板にそれらしきのあるけど、あっちはさっぱりだからなぁ。
つーかあの板行きたくないし。
PHPがApacheの子プロセス内で複数インスタンス同時に動作するなら、
pconnect関数でもらった接続ではトランザクションは使えないね。
>>970 1プロセスでは1インスタンスしか動作しないから心配するな
ほとんどの場合、問題にならんのじゃない?
つうか、PHPにJSPでいうところの
applicationに共通データ入れておくこと出来ないのか?
sessionしかない?
tomcat 5/apache 2の連携、設定方法が詳しくのってるサイトありませんか?
というか、
>>978は当てつけであのアドレスを出したんだろ。
配布サイトのドキュメントに何があるかすら見てないのか?と。