■■ Servlet/JSP(EJB含む) 質問スレ Part3 ■■
1 :
nobodyさん :
04/06/16 05:30 ID:XUmu9/tY
スレ立てお疲れ様です。 早速ですが質問です。 (Tomcat5.0.19@Win2kです) 複数のwebappから共通の自作packageを 利用させたいのですが、どういう設定が 最適でしょうか? とりあえずアフォ頭で考えたアイデアは; 1. jarして%TOMCAT_HOME%common\libに置く。 2. jarして%JAVA_HOME%jre\lib\extに置く。 3. %TOMCAT_HOME%common内に、classesという 空のディレクトリがあるけど、これって何? 宜しくお願いします。 (ソースを各webappにcopyしてばら撒けってのは 無しでお願いします)
extだけは勘弁な
tomcatのドキュメントによればshare\libですかね。1でもいいと思うけど。 4.ORB 5.Webサービス
6 :
nobodyさん :04/06/17 00:20 ID:lmUacDle
>>3 jarして各webapp/WEB-INF/libにcopyしてばら撒け。
7 :
nobodyさん :04/06/17 09:57 ID:AGQrsC3k
WebProg板の携帯対応掲示板スレから誘導されてきますた。
JDK 1.4.2, tomcat 4.1
の環境でVodafone対応の掲示板作成してます。
元々Perlで書いた物の移植なんですが、絵文字の扱いで困ってます。
既存のデータが
"あいうえ\x1b\x24\x47\x6a\x0fかきくけこ\x1b\x24\x47\x6a\x0f\x1b\x24\x47\x6a\x0f"
みたいな感じにデータを保存しているのですが、このデータをJava(JSP)で表示させるには
どうしたらいいか解りません・・・
こんな感じで絵文字単体の表示には成功しました。
char[] s = {0x1b, 0x24, 0x47, 0x6a, 0x0f};
out.write(s);
既存のデータの\を0に変えるだけで上手く表示する事は出来ませんか?
出来れば絵文字をバイナリ(上手い言い方が解らない・・・)で保存する事を避けたいのですが・・・
Perl、PHP等なら単純にそのままprintすればいいだけですが、Javaでエスケープシーケンスを
混ぜた文字列の表示が簡単にはいかないみたいです。
WebProg板で貰ったURLで
#
ttp://www.sound-uz.jp/php/tips/mobile.html >絵文字コードをそのまま出力するだけです。「晴れマーク」の場合、' $Gj ' とします。
>もしエスケープシーケンスが入力できない場合は、かわりに "\x1B\$Gj\x0F" のように
>記述すればスクリプト中で使用できます。
丁度この、エスケープシーケンスが入力できない場合。なんですが、代わりに"\x1B\$Gj\x0F"
のように記述すれば、とありますが(Perl,PHPはprint で行けますね)それをJava(JSP)で
実行すると、illegal escape characterでコンパイルエラーが発生します。
>8 こういうこと? "あいうえ\u001b\u0024\u0047\u006a\u000fかきくけこ\u001b\u0024\u0047\u006a\u000f\u001b\u0024\u0047\u006a\u000f"
>代わりに"\x1B\$Gj\x0F"のように記述すれば
これって、ソースコードに埋め込む場合でしょ。
ソース埋め込みであれば、
>>9 みたいに
"\u001B$Gj\u000F" でよい。
外部ファイル等から読み込む場合は、
自前でコツコツ変換するしかないんじゃないか?
apache2 + tomcat5 を利用しています。 セッションIDをDBに格納したいのですが、セッションIDの最大文字列長を調べ ようとtomcatのソースを半日ながめているのですが、お馬鹿な素人にはさっぱり わかりません。どのあたりを参照すればよいでしょうか、、、お助けくだされー。
Tomcat4では32バイトの固定だったから、Tomcat5でも固定だと思う。 まずは切断→接続を繰り返してセッションIDをたくさん出してみては どうだろうか。
>>11 varcharでいいんじゃないの?
postgresだと、charはあるだけで、text使えって感じらしいけど。
14 :
nobodyさん :04/06/22 17:03 ID:G/HPHLMN
質問なのですが、下図のように動作するプログラムを作りたいのですが、アドバイスを頂きたいです。 図: 最初のページ: 入力フォーム ボタン 2番目のページ: 上ボタン 最初に入力された内容 下ボタン 入力フォーム となっています。次に上のボタンを押すと、 3番目のページ ボタン 2回目に入力された内容 ボタン 最初に入力した内容 ボタン と増えていくプログラムを作りたいのですが、Googleや本を見た限りではわからないので、アドバイスを頂きたいです。
一体何の為に? あと3ページ目でボタンと文字列の数が違うのはわざと?
16 :
nobodyさん :04/06/22 18:37 ID:G/HPHLMN
これは卒業研究の為なのですが、プログラム知識が少ないために分からないのです。 それと、少し書き方がおかしかったので訂正します。 図: トップページ: 入力フォーム ボタン ・入力フォームに文章を入力してボタンを押すと下記のようになります。 ボタン(1) 最初に入力された内容 ボタン(2) 入力フォーム 次にボタン(1)を押すと、 ボタン 2回目に入力された内容 ボタン 最初に入力した内容 ボタン と表示されて増えていきます。逆に(2)のボタンを押した場合、 ボタン 最初に入力された内容 ボタン 2回目に入力された内容 ボタン となります。
一度でも簡単なプログラムを書いたことがあるのか?
・・・どの部分がわからないんだ? てか、宿題は自分でやれよ
ゴメンねー、宿題を教える気にはなれないよ。 つーか、本をきちんと読んだの? 多分se?????の理解度を試してる設問だと思うけど これが解けないってのは本の理解度がメチャ低いよ。 この際、苦労してくれ。それが君の為だ。
20 :
nobodyさん :04/06/22 20:55 ID:G/HPHLMN
JSPで、一つのボタンを押したときに、submitやtextなどのフォームを生成するには、 どういう処理をしたらいいのですか?
21 :
nobodyさん :04/06/22 22:10 ID:Qf5HglI+
まず入門書を買ってくるといいよ
>>20 >21に近いけど、単純にタグを出力すればいいよ
>>20 よ、君が冷たくされてるのは
「頑張ったけど判らない」ではなく
「ろくに教科書を読まずに人の手を借りて」だからなのだ。
まぁ一つだけアドバイス。
君の教科書に簡易チャットのソースは無いかい?
それを暗記できる程に復習しろ。
んでもう一度よく考えて、それでも判らなかったら
ここに来て質問しな。
25 :
24 :04/06/23 11:51 ID:???
追加アドバイス 君の作った簡易チャットに <font size=7>君は馬鹿</font>って入れてみな。 俺は全角で書いたけど半角で書くんだぞ。
26 :
nobodyさん :04/06/23 15:47 ID:7+9je3BV
ちょっと質問なんですけど、JSPつかえる無料ホームページで、法人がやっているところありますか?
どなたか教えて下さい。 (Tomcat5.0.19、Win2000です) JSPで、pageEncodingを指定しないと、 response.setContentType("text/html;charset=ISO-8859-1"); が「勝手に」挿入されますが、これを抑制、あるいは打ち消す方法は ないでしょうか。 やりたいのは、 if (showExcel) { response.setContentType("application/vnd.ms-excel;charset=Windows-31J"); } else { response.setContentType("text/html;charset=Windows-31J"); } なんですが、先にJSPが自動設定してしまうContentTypeが死んでくれずに 上のソースが無効になっているみたいなのです。 同じようなソースをServletで書けば、ちゃんと設定が効いて ブラウザ内エクセルが起動するのは確認しました。 じゃぁServletで書けよ、というのも解決方法ではあるのですが、 それはそれでソースがコ汚くなるので避けたいです。 どなたかお知恵拝借おながいします。
>>26 無料じゃなきゃあるだろうけど、無料ならその会社はどうやって儲けるんだろう?
<%@ page contentType="text/html; charset=Windows-31J" %>
30 :
27 :04/06/24 13:30 ID:???
>>29 さん、試してみたけど駄目でした。
あと、やりたいのは、ContentTypeを動的に設定する、ということなのですが・・・
31 :
27 :04/06/24 13:39 ID:???
す、すみません。ソースにスペルミス発見。 直したらうまくいきました。 とんだご迷惑をおかけしました。大変失礼。 あぁ恥かしい。ごめんなさい。
小級 :自分のソースを疑う 中級 :他人のアドバイスを疑う 大級 :サーバプログラムを疑う 超級 :OSを疑う 次回の更なる飛躍を期待します。
33 :
nobodyさん :04/06/24 18:08 ID:B1RXsaYr
お尋ねいたします。 JSP上でsubmitしプログラムを実行させ、そのプログラム進捗状態を元のJSPに表示 させたい場合はどのような方法が考えられるでしょうか? 今まではThreadを使用していて、 <% while(thread.isAlive()){ out.print("…"); out.flush(); out.clearBuffer(); Thread.sleep(30000); }%> こんな感じに30秒ごとに「…」を出力していました。 このようなやり方が正しいのかどうかもわからないのですが、 別の方法で何かいい方法があれば教えていただけませんでしょうか。
ウェブってそういうことしづらいんだよね。 どうしてもなら、30秒ごとにブラウザがリクエストを発行するようなJavaScriptを埋めておく、とか。
Appletという手もあるよ。
36 :
nobodyさん :04/06/25 20:02 ID:2Y9M2PdJ
質問です。 Tomcat単体(apache or IIS非使用)でvirtualhostのような物は運用できるのでしょうか。 たとえばfoo.comとbar.net二つのドメインを保有していたとして、 これらをTomcatの異なったwebappsから動作させる…複数のTomcatを立ち上げずに。 server.xmlのHost Containerを二種類書くとかでできればいいのですが…
37 :
36 :04/06/26 02:26 ID:???
自己解決しました。 server.xmlにHost name="foo.com",Host name="bar.net"の二つセットを書いて appBaseを変えたらすんなり成功。確認はwindowsのhostsファイル書き換えにて。 お騒がせして申し訳ない。こんなに簡単なことだったのね…
38 :
nobodyさん :04/06/26 18:13 ID:YpUy6rrS
だれか、助けてくれ。 Java質問スレできいたら、文句いわれたので、こっちにきたよ。 クッキーが文字化けするんですが、URLencodeとURLdecodeメソッドを 使うことまではわかったけど、それぞれの文字コード指定がわかりません。 URLencode(String, "Shift_JIS")とURLdecode(String, "Shift_JIS")とやってもだめでした。 それぞれどう指定したらようござんすか? 環境はWindows2000とTomcat4です。
39 :
38 :04/06/26 18:15 ID:YpUy6rrS
ぶしゃー。本もネットも古いメソッドの使い方しか、書いてなかったから、 ここに聞いたとです。よろしく。
40 :
38 :04/06/26 18:29 ID:YpUy6rrS
まちがえた。全然違ってた。 URLEncoder.encode(str,"Windows-31J"); URLDecoder.decode(str,"Windows-31J"); にしてもだめでした。 URLDecoder.decode(str,"iso-8859-1"); としてもだめでした
>>38 ダメとか意味のわかりにくいこと言わないで。
エラーならエラーメッセージの内容を書いてくれ。
str = URLEncoder.encode(str,"Windows-31J");
って書いてないからとかってことはないよな?
42 :
38 :04/06/26 19:55 ID:YpUy6rrS
>>41 さん、どうもありがとうございます。
エラーじゃなく、文字化けしてしまうということです。
>>42 大文字小文字で間違ってるかも
JISAutoDetect
shift_jis
EUC_JP
とかならOKのはず。
あと、送信元ページの文字コードは何になってる?
44 :
38 :04/06/26 20:49 ID:LAx7Vu2r
>>43 さん
どうもありがとうございます。送信元のページはShift_JISです。
なんか、JSPやサーブレットは文字コード指定するとき、以前のShift_JISではなく
Windows-31Jの方が推奨されると先輩に聞いたのでWindows-31Jと指定していました。
色々なパターンをやっているんですが、どうもこんがらがってしまって。。
特に急ぎではないので、また、気が向いた時にでも返事をくれるなら、くれるということで
かまいません。
本当にどうもありがとうございました。風邪をひいているので、今日はもう寝ます。
分かる方がいらしたら、ご返事ください。どうもありがとうございました。
45 :
38 :04/06/26 20:51 ID:LAx7Vu2r
間違えました。送信元のページはサーブレットなので以下を指定して吐き出しています。 response.setContentType("text/html;charset=Windows-31J"); では、どうもお世話になりました。
WinMXで映画ダウン中にスタンバイなどをしてもダウン続行はするのでしょうか;
47 :
カポコン :04/06/27 01:21 ID:???
キャラ設定、Windows-31J。 プッ(´ノ,`)
48 :
41 :04/06/27 05:43 ID:???
>>45 思い出した。エンコの前に
hoge = new String(hoge.getBytes("8859_1"),"shift_jis");
とかで一回変換しないとダメ。
>>44 その先輩もあいまいなこと教えるなぁ。
1.4.1からMS932の指定がShift_JISからWindows-31Jになった。
だから、その指定はVMによる。
50 :
38 :04/06/27 15:36 ID:EyHNc0N5
>>48 さん
どうもありがとうございます。やってみてもだめでした。。
本も調べたりしたんですが、あまり良い本はありませんでした。クッキーの日本語処理みんなはどうしてるのかな〜?
Tomcatのバージョンによって違うみたいなことがJavaPressにも書いてあるし。。
ちなみに、LinuxマシンのTomcat5でもやはりだめでした。
どうも、何度も答えていただきありがとうございました。会社で先輩に怒られながら聞いてみようとおもいます。
先輩がわかるか、知らんけど。。
>>49 さん
あー、そうなんですか。僕のJDKもぎりぎり1.4.1_01です。なんとかセーフですね。
我が社の先輩は当てにならんような気がして、ここに聞いたんですよ。
どうもありがとうございました。
51 :
38 :04/06/27 16:21 ID:EyHNc0N5
>>48 さん
あなたの言うとおりやったら、できました。先ほどはできないといったんですが、
色々文字コード設定をいじっているうちにエンコード側とデコード側の文字コードが
別になっていました。。すみません。
できて本当にうれしいです。どうもありがとうございました!!
52 :
nobodyさん :04/06/29 00:45 ID:ohyDTudD
超初心者ですみませんが、 eclipseにlombozってプラグインを使っているのですが この場合javaBEANSのファイルってどうやって生成してどこに置けばいいんですか? 新規からファイルで作ってsrcの下に置くと認識されてないみたいなんですが・・・ 親切な人教えてください。
55 :
nobodyさん :04/06/29 12:01 ID:ohyDTudD
56 :
nobodyさん :04/06/29 23:29 ID:ohyDTudD
>>53 なんか私の質問が悪かったようで申し訳ない。
今JSP,Servlet,javaBeansを連動させてショッピングカートを試作しようとしています。サーバーはtomcatを使い、開発はEclipseにlombozプラグインを追加して行っています。JSP、Servletはlombozに用意されているウィーザードから簡単に作れるのですが、javaBeansを
使おうとする場合はどうすればいいかわかりません。誰かEclipseで開発している人教えてくれませんか?
これってスレ違いなのかなぁ・・・?
>>56 だろうねぇ…
だって、eclipseあろうとなかろうと、基本がわかっていないんじゃない?
58 :
52 :04/06/30 01:34 ID:YAHBGs2K
>>57 基本っていうと例えばどんなことですか?
一応ググって調べたりしてるんですが確かにイマイチ分かってない気がします
>>58 わかんない?
たとえば、eclipse使用せずに作れ、と言われたとしても、どこに何を置けばいいのかわかんないんでしょ?
それはeclipseの問題じゃないでしょ?
まずJavaサーブレットの入門書を買ってきて、掲示板でも作ってみるのがいいと思う。
61 :
52 :04/06/30 02:01 ID:YAHBGs2K
>>59 できたclassをWEB-INF/classes/以下に配置でしたっけ?
確かにeclipseは問題とは直接関係ないことは分かります。
>>61 Lombozじゃなくてさぁ、sysdeoのtomcatプラグインだろ?おまえに必要なのは。
>>56 googleだけじゃその辺の知識を得るのは力不足だよ。
きちんとしたservlet/JSPの入門書買えや。
つーか、君の質問を読むとservlet以前にJavaを
理解してないようにも見えるが大丈夫か?
「パッケージを作ってその中にクラスを作る。
サーブレットではそのクラスをインスタンス化して
(例えば)セッションオブジェクトに登録する。」
と言われて理解できるよな?
判らないなら、Javaの基本からやり直しね。
その程度の知識ならGoogleだけで十分間に合うと思います。
65 :
56 :04/07/01 02:21 ID:MC7vvOP9
>>63 とりあえずjavaの基本からはやり直さなくていいみたいですが、
現在使っている入門書があって「はじめてのJSP&サーブレット」たなかひろゆき著
ってやつなんですが自分にあってないのかイマイチ分かりません。
なんかお勧めの入門書とかあれば教えてください
大きめの本屋に行って、じっくりと選ぶ。 これ最強。
>>65 プログラム板に参考書スレがあったような気がするなぁ。
まとめサイトまで作ってあった気がする。
HSPスレをあぼーんするのが面倒で見なくなっちまったが。
純粋なJavaの本読んだ後、サーブレットやJSPの本を読むのがいいと思う。
Jakarta JetSpeedを使ってみようとした。
Tomcat5 + Apache2 + Cocoon + Struts + WebDAV +PHP + CGI/SSI有効な環境下で
http://ドメイン/manager/ (Tomcatマネージャ)にアクセスして
ログインしブラウザからjetspeed-japan.warみたいな名前のファイルを
デプロイしようとしてみたのだが、
デプロイにやたらと時間がかかりブラウザにConnection Timed Outと表示された。
ログをみるとTomcatを再起動するたびにjetspeedを起動するところで止まっている。
70 :
nobodyさん :04/07/05 03:08 ID:3XzuCnse
しかしその前にこんなメッセージが表示されている。 - Scheduler Cocoon_$_Mon_Jul_05_02:28:25_JST_2004 started. server.properties not found, using command line or default properties Opening database: /usr/local/jakarta-tomcat-5.0.19/webapps/cocoon/WEB-INF/db/coc oondb HSQLDB server 1.7.1 is running Use SHUTDOWN to close normally. Use [Ctrl]+[C] to abort abruptly WARN! *** JMS block is installed but jms client library not found. *** - For the jms block to work you must install and start a JMS server and place th e client jar in WEB-INF/lib. - The default server, OpenJMS is configured in cocoon.xconf but is not bundled w ith Cocoon. Server.run/init: java.net.BindException: Address already in use java.net.BindException: Address already in use at java.net.PlainSocketImpl.socketBind(Native Method) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:331) at java.net.ServerSocket.bind(ServerSocket.java:318) at java.net.ServerSocket.<init>(ServerSocket.java:185) at java.net.ServerSocket.<init>(ServerSocket.java:97) at org.hsqldb.Server.run(Unknown Source) at org.hsqldb.Server.main(Unknown Source) at org.apache.cocoon.components.hsqldb.ServerImpl.run(ServerImpl.java:16 4) at java.lang.Thread.run(Thread.java:534) Cocoonが問題なのか? それとも、JetSpeedが問題なのか? JMSなど、HSQLDBなどいれたおぼえなどないのだが・・・。 いったいなにが起きたというのだ?
実はその本もってた。ありがとう。 もうちょっとよくよんでみるよ。 あと、cocoonコンテキストを一旦削除したよ。 cocoon.warももう一度makeし直そうかな。 ついでにTomcatもアップデートしてみた。JetSpeedも一旦削除した。 今動作テスト中 下の方はJava関係のリンクだったのか。初めて知ったよ。友よ、ありがとぉ。
73 :
nobodyさん :04/07/08 15:36 ID:1zSNwYy9
Tomcat5 + Apache2環境で勉強をしています。 DBと連携をするサーブレットを作り終えたので、別途、Webを介さずDB操作をす る為のコマンドをJAVAで別途作成しています。このコマンドでサーブレット用 に開発したDao(JNDIを使用しています)を利用したいのですが、サーブレット としてではなく通常のJAVAアプリから利用するには、どのようなコーディング をすればよろしいでしょうか? 良い方法、あるいはコーディングサンプル等ありましたらご教授ください。
>>73 通常のjavaアプリにクラスをimportしたらいいのでは?
>>74 そうじゃなくて、JNDIのルックアップがうまくいかないのだと思われ。
コンテナ外からJNDIサービスをルックアップするには、
InitialContextには引数なしのコンストラクタの他に
いろいろ引数を渡すタイプのコンストラクタがあったからそっちを試してみれ。
詳しくはAPIドキュメントを。
76 :
73 :04/07/08 19:32 ID:1zSNwYy9
>>74 , 75
コメントありがとうございます。
サーブレットで利用しているDaoをスタンドアローンなJAVAプログラムから
利用すると以下のようなExceptionが発生します。
javax.naming.NoInitialContextException: Need to specify class name in environment
or system property, or as an applet parameter, or in an application resource file
: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:xxx)
.
.
at SAMPLEDao.setData(Unknown Source)
at sample.main(Unknown Source)
75さんのコメントを参考にInitialContextのドキュメント参照してみた
のですが、
InitialContext(Hashtable environment)
Constructs an initial context using the supplied environment.
このコンストラクタを利用する必要があるのでしょうか?これを利用する場合、
どのような値を設定する必要があるでしょうか? 質問ばかりですみません、、。
ちょっと調べるといきずまっております、、、、。
>>73 マッピングツールでよくあるように、configファイルでJNDI,JDBCを切り替えれるようにするとか。
78 :
nobodyさん :04/07/11 02:54 ID:F2Ove0BB
質問です。 JMFを利用して静止画像を採取するWebアプリケーションをJavaで作りたいと思うのですが、 参考となるサイトなどあればご紹介いただけないでしょうか? サンプルなどありましたらすごくありがたいのですが。 当方の環境としましては、 Apache2+Tomcat5+J2SDK1.4+USBカメラです。 よろしくお願いします。
79 :
カポコン :04/07/12 00:51 ID:???
マルチで荒らし依頼とはいい度胸だな。おまえが制裁されろ。
81 :
nobodyさん :04/07/13 21:26 ID:kw2c3zzG
サーブレットが参照するjarはWEB-INF/libに放り込んでおけばいいのですよね? 現在JavaMailを使ってメール送信するサーブレットを書いているのですが、 ローカルの開発環境(Eclipse+tomcat5.0.25)上では問題なく動くのですが、 本番サーバ(tomcat5.0.25)にUPして動作を確認したところ、 "インポート javax.mail が解決できません。"から始まるエラーが出てしまうのです。 mail.jarは/libフォルダに入れているし何故だ、と思いつつ次のことをやってみました。 サーバ上に置いたclassファイルはEclipseでコンパイルされたものを直接アップロードしたものなので サーバの環境でjarへのクラスパスを通した物で無いと駄目なのかと思い、 クラスパスを通してサーバ上からコンパイルしてみたものと置き換えてみました。 しかしエラーは消えず、文面も特にに変わってもいないようです。 コンパイルの段階でエラーが出なかったのに実行段階で見つからないというのも変だとおもうのですが まだ見落とした設定などがあるのでしょうか。 同じようにlibに置かれているactivation.jarやJDBCドライバには同症状は出ていないようです。 また"インポート javax.mail が解決できません。"のエラーはローカル環境においてもEclipseの設定 でJavaのビルドパスからmail.jarを削除するとまったく同じエラーが出ることを確認しています。
82 :
nobodyさん :04/07/16 09:06 ID:n2SZk5bS
Tomcat5.0.27リリースage
>>82 人柱いない?
エラーメッセージの文字化け直ったんだろうか
>>84 マルチな質問ではないからいいと思うのだが?
86 :
nobodyさん :04/07/21 00:54 ID:x64Rx1JY
初心者質問ですいません。 jspのスクリプトレット内に response.setHeader("Refresh","10"); のように書くことで、10秒間隔でブラウザの表示内容が更新されますが、 この更新間隔のデフォルト値はどこで設定されてるのでしょうか?
>>86 デフォルト値などない。
指定をしなけりゃ更新されないだろう?
必要なときに設定する。ただそれだけ。
仮にデフォルト値があったとして、何もしなくてもデフォルトで自動的に更新されたらたまらんな。
ちょっとおかしなことを聞きますが、一つのEJBに対して複数のJNDI名を割り当てて、 デプロイって現存するアプリケーションサーバーでできますかね?複数のローカルJNDIを一つの同じ EJBにマッピングする手法ではなく、一つのEJBに複数のJNDI名をもたせて デプロイしたいのですが、だれかご存じないでしょうか??
90 :
nobodyさん :04/07/23 11:50 ID:m+5oOBn/
Java入門のため勉強中なんですが、Tomcatの設定が解らないので質問させてもらいます。 環境は WinXP + Apache2.0.48 + Tomcat5.0.27 + J2SE1.4.2 です。 Tomcatはデフォルトで\webapps以下に、アプリケーション毎のフォルダを作成するようになっていると思います。 このアプリケーションフォルダを別のディレクトリ、例えばD:\java勉強\といった場所に作成するためにはどのよ うにしたらよいのでしょうか? JavaとTomcat用の本はあるんですけど、この本のTomcatはバージョンが4.* なのでルートディレクトリの設定 の仕方が変更されている5.*系のことはさっぱり分かりません。 解説しているページ等でserver.xmlを設定するであろうことは分かっているんですが、全然うまい こといきません。どなたか教えて頂けますでしょうか?
>>90 Hostタグの appBase="xxxx" で指定。
とりあえず日本語のパスは止めとけ。
どうしても書きたいなら文字コードに気をつけながらエンコーディングしてから書け。
92 :
+++ :04/07/24 01:50 ID:???
>>91 それは、アプリケーションのディレクトリじゃなくて
アプリケーションのディレクトリをおくディレクトリを変更する方法だ。
>>92 が正解。
>>90 Webやるのなら、半角カナ使わないクセつけろよ
95 :
nobodyさん :04/07/25 17:46 ID:0LvKenqN
jspのformからサーブレットを呼ぶ場合、 <form action="hoge1/hogehoge"> で呼びますが、 開発環境と運用環境でwebappルート名が異なる場合、 (例えば開発側は/hoge1 運用側は/hoge2みたいな) jsp中で動的にコントロールできる方法ありますか? /hogeX以降はservlet-mappingでいかようにも変更できるけど webappルートの所は開発用と運用用2種類書いて、 upするとき開発側をコメントアウトしてます。 普通こんなことしないような気がする。。。。 教えてくださいー。
<base href="〜">
>>95 request.getContextPath()
>>96 >>97 お二方、ありがとうございました。
<form method="POST" action="<%= request.getContextPath() %>/hogehoge">
でいけました。
大感謝。
スクリプトレット使うのはいかがなものか…と思うが
>>99 ん?じゃあどうするの?このためだけにカスタムタグ自作する?
>>98 のやり方は常套手段だと思うが。
EL使えといいたいのか
102 :
nobodyさん :04/07/26 13:36 ID:sH9hUSXC
JSPとMySQLで商業用のリクナビみたいなサーバー組もうとしたら いくら位かかりますか?? 個人事業始めようとして自分で組み始めたんですが 実装段階になるとどうしてもしょぼくなってしまうので・・
>>102 いくらというのは、アプリの実装を業者に発注したらいくら?という意味?
同等スペックのハードウェアを購入したらいくら?という意味?
ぶっちゃけ、インターネット上のサービスは技術要素よりもコンテンツが命。
はじめは不具合無く動けばしょぼくても何でもあり。Perl CGIでもPHPでも何でもいい。
事業が軌道に乗って負荷が大きくなりそうな見通しが立ったらまた考えろ。
とりあえずビジネスとして立ち上げ、軌道に乗せることが先決だ。
エンジニア的な視点から言わせてもらうと
「JSPとMySQLで」という時点でしょぼい。
「PHPとMySQLで」と言っているのと変わらないぐらいしょぼい。
JSPはServlet・JavaBeansと組み合わせてViewとして使うものと思っていた方がいい。
と、全角英文字を使う時点でしょぼい。
アプリの実装を業者に発注したらいくら?という意味?です コンテンツビジネスなんですけど とりあえずスクリプト組まずに手作業でしますと 利益を上げるどころか24時間手作業しても 採算取れないようなコンテンツビジネスなんで
不具合も出てしまうんですよね こんな風に動きますって説明ぐらいにしかならないですね
>>104 安く見積もって
20人月=2000万円ぐらいじゃない?
そんなにもかかるんですか 人に依頼するのは無理ですね・・・
>>102 いいか?ボク。
ああいうサイトは、設計・インフラ・プログラマ等々ひっくるめて十数人〜多い時は百人以上で
数ヶ月かけて構築するんだ。
わかったかな?
>>107 まあ、企業に注文すると1人月が100マンぐらいの見積もりだしな。
リクナビのどの程度の機能が必要なのかわからんけど
自分で作るならDB使って入力と出力と画面構成ぐらいまで?なら
1ヶ月ほどでできるだろ
デザイン無しで300マンぐらいでどう?
求めてる機能にもよるけど
300万はきついですね・・ ちょっと自分の実力過小評価していた様でJSP・SERVLETの知識で 自己構築できそうです。一応プレゼン用のスクリプトは自分で組めました。 ただ問題はDBなんですよね。 必要な機能は ・ユーザーがユーザーごとにデータベースへパスワード認証できる事 ・ユーザーの履歴が残ること ・ユーザーが選択した結果が主たるデータベースへ影響を 与え、それをユーザー全体で共有できること 300万あれば・・・109さんに頼むんですが、年収が250万なんで・・・ 300万ないです。
>>110 ちなみに300万は今年度最安値レベルの格安だと思え
ていうか、端で聞いていた俺も安すぎて不安に思うぐらいだ。
300万で安いとは・・・・
業務経験がないんだね。 または破格デジドカ?
いきなりですが質問です! 分かる方いらっしゃればご教示願いたいのですが。。 getUpdateCount()を使ったときの戻り値が0が変えるケースと-1が変えるケースの違いを 教えていただけないでしょうか??? (要するにどのような処理をしたときのどちらの値が変わるの??) ということなんですが。 突然で申し訳ないですが、お願いします。
116 :
+++ :04/07/29 18:03 ID:???
>>115 そんなに難しいことかな?
更新しようとしたけど、更新された行が無かった場合、データ定義文の場合、0(個)。
そもそも更新文やデータ定義文でない場合には-1(無効)。でないの。
117 :
90 :04/07/30 16:43 ID:yLc4dhHn
118 :
nobodyさん :04/07/31 15:46 ID:tUzKMz6s
age
jspやりたかった
120 :
nobodyさん :04/08/03 21:28 ID:VbQ2TKow
struts1.1で開発をしています。 日付を意味する文字列をString型で 20040101のように保持していて、これを 2004/01/01や2004/01のようにいろいろなフォーマットで表示したい のですが、カスタムタグをつくるしかないでしょうか? JSTLのDateFormatもDate型しか表示できないし。
かすたむ☆たぐすら☆いらん
>121 何使うの?
その程度、ふつーservletで処理した結果を渡しておわり
>servletで処理した結果を渡しておわり その部分が大変だから聞いてるんですが。 入力は2000/01/01だがDBに格納する形式は/なしの形式。 その変換をどこでやるかっていうのが考えどころで。 プレゼンテーション層でやるのか ActionFormにgetter,setterを複数用意して形式を変えられるようにする のかBusinessObjectにその変換ロジックをいれるのか、 どれがいいのかなぁと。
>>125 これが大変だと思うようなら、辞めた方がいいよ。
JavaやVBはこんなんばっか流入してくるから困る。 むしろjavaでやらなきゃいけないような処理ですらなく へたすりゃSQLで事足りる
>>127 まあまあ夏休みにプログラムをがんばろうと
したことだけでも評価してやろうよ
>>120 servletで処理した結果を渡すのが大変だと思うようなお前が
カスタムタグなんか作れるんですかw
必死だな
struts使ってるのにservletってなんのこといってんの? フィルターServletか?
そりゃあAction Servletだ。 継承して使ってんだろ。
普通 出力項目の変換ロジックなんかAction Servletに書かないだろ。 せいぜいリクエストのエンコード設定くらいだと思うが。 それでもフレームワークに依存しすぎるからあんまりやらないと思うけど。
みんなJSTL使ってる?
>>134 そもそもActionServletに処理書こうとするな。
で、カスタムタグ作るにしても
結局Javaソースの中で処理しなくちゃいけないのは変わらないから
それができない
>>120 には無理だろう。
その前に日付をcharで保存すんじゃねえ!!!
>139 ActionFormにIntegerとかDateとかで定義すると かなり問題出るぞ
>141 理由書け
>>142 DBの型の話だろ
日本語もわかんねぇのか中国人
144 :
nobodyさん :04/08/06 02:16 ID:m1crs8XB
タイムアウトについての質問があります。 WebSphere+Apache+SSLでWEBアプリケーションを開発しているものです。 クライアントからのPOST要求でサーバの処理が行われ最終的にクライアントに JSPがフォワードされるプログラムがあります。 ここで何らかのサーバの問題で処理が遅くなり1時間以上サーバ側の処理が続く 状態が発生しました。 それは問題ではないのですが、問題はちょうど1時間後に1時間前に行われた クライアントからの直前のPOST要求がGET要求でサーバに送信されてしまいます。 Apacheの設定ファイル、SSLの設定ファイル、WebSphereの設定ファイル、 ブラウザの設定を確認しましたが、1時間もしくは60分というキーワードの設定を 見つけることができませんでした。 これは、何のタイムアウトが発生しているのでしょうか? また、どうしてPOST要求がGET要求として再度要求されてしまうのでしょうか? 初心者なものでどう調べていけばよいか方向性がわかりません。 ご存知の方ご教授お願いします。 サーバ OS:RedHatLinux AdvancedServer 2.0 easサーバ:WebSphere AES 4.0.5 webサーバ:apache1.3.20 クライアント OS:Windows2000 SP4 ブラウザ:IE6.0 SP1
それはプログラムが悪い。
146 :
nobodyさん :04/08/07 00:50 ID:Zg5LLU2K
>>145 1時間以上サーバ側の処理が続く状態が発生すること自体プログラムが悪いと
認識しています。
それはじゅうじゅう承知の上で、1時間以上サーバ側で処理が続いた状態で
ちょうど1時間後に1時間前に行われたクライアントからの直前のPOST要求が
GET要求でサーバに送信されることがなぜ行われているのかを知りたいのです。
1時間前に行われたクライアントからの直前のPOST要求が GET要求 ってAPサーバーのほうの問題か? こんな動作きいたことねえ
148 :
nobodyさん :04/08/07 13:18 ID:s4CRkah5
>>144 こういう問題は実際にブラウザからリクエストしてみないとわかんないな
URLは?
>>146 プログラムが何か行ってるんだろ。
ソースがないし、
>>148 の要求も無茶だし、エスパーでもなきゃ
わからんよ。
エスパー伊藤でもわからんよ。
151 :
nobodyさん :04/08/11 00:04 ID:ElKnDymW
JSPとサーブレットの役割分担設計がよくわからないよ〜。 データベースアクセス部分はサーブレットにやらせて、 表示だけをJSPにやらせるのがいいの? 簡単なデータベースアクセスとかその結果にもとずくロジックくらいならJSPに埋め込んじゃって(となると全部jspになりそう)もいい?
>>151 JSPは表示のみ。表示以外の仕事はServletとJavaBeansの役割。
データベースへアクセスするのはJavaBeansがいいよ。
JavaBeansにデータベースへアクセスする処理をメソッドとして実装しておく。
M→JavaBeans V→JSP C→Servlet で設計すれば大体間違いない。
あほか
155 :
nobodyさん :04/08/12 02:03 ID:yCeAYIgq
じゃあJSPとカスタムタグは? <% %>でHTMLコードに埋め込むのやめて、すべて新規タグで コントロールするってことでいい?
156 :
nobodyさん :04/08/12 22:08 ID:vrm/xuIg
tomcatをインストールしたのですが、 起動しようとすると「service not found」というメッセージが出て起動できません。 原因わかるという方いたら助言を・・・お願いします。
OS、Tomcat、JVMのバージョン、WindowsならZIP版かexe版か、どうやって起動したのか、 などを書かずに誰に答えられようか。 ここまで厨な質問だと、JAVA_HOME環境変数などの環境設定もまともにできているのかアヤシイ。
158 :
156 :04/08/12 23:50 ID:vrm/xuIg
質問の仕方が悪くてすいません。
OS:Win2000、tomcat:5.0.19.exe、J2SDK1.4.2_04、Eclipse2.1.3
を使ってJSPを動かそうとしています。
環境変数はPATH、CLASSPATHを変更していて、
JAVA_HOMEは変えていません。(ここが原因っぽいですか?)
「EclipseではじめるJavaプログラミング入門」-秀和システム-
を参考にしてるんですが、詰まってしまい色々
(
http://www.eclipsewiki.net/eclipse/ ←こことか)調べています。
はぁ・・・手のつけようがない・・・ > 環境変数はPATH、CLASSPATHを変更していて、 > JAVA_HOMEは変えていません。(ここが原因っぽいですか?) どう設定されてんだよ? TomcatはWindowsのサービスとして起動されていないよな? ウィンドウ→設定→Tomcatの設定はどうなってる?
160 :
156 :04/08/14 14:35 ID:8nnsgsjW
>>159 ご指摘の通りで、Eclipseの設定を
--------------------------------------------------
バージョン5.x
[tomcat ホーム]、[tomcat ベース]
C:\Program Files\Apache Software Foundation\Tomcat 5.0
[設定ファイル]
C:\Program Files\Apache Software Foundation\Tomcat 5.0\conf\server.xml
--------------------------------------------------
にしたらEclipseからtomcatが起動できました、ありがとうございます。
http://localhost:8080/ の表示を確認。
スタート→プログラム→Apache tomcat→start tomcat
からだと起動できないのですが、その辺とJAVA_HOMEが関係してるのでしょうか?
試しにjspファイルを
http://localhost:8080/ ○○/○○.jsp
で置いてみたのですが表示はうまくいかず・・という状況です。
ひとまずtomcatが起動できたので、もうちょっと勉強してみます。
Windowsならexeで導入して、選択項目でServiceを選べば何も考えることはない。 導入先を\opt\tomcatとか短めのパスにしておくと便利。 5.0.19はアンインスコして5.0系の最新版をとってこよう。 それとCLASSPATH環境変数は未設定の方が無難です。
162 :
nobodyさん :04/08/19 01:06 ID:yKd1d6+E
同一マシンで複数ブラウザ立ち上げて webアプリにアクセスするのを防ぐために webserverの発行するセッションIDを使うかと思うのですが、 複数ブラウザを立ち上げてそれぞれRequestをとばすと みんな違うセッションIDになってしまうのですが これはどうにかして同じセッションIDにすることは出来ないのですか? webserverはtomcatです。
>>162 > webserverの発行するセッションID
Servletコンテナが発行するセッションIDじゃなくて?
> みんな違うセッションIDになってしまうのですが
そうとは限らんだろう。ブラウザの実装による。
ネスケやMozilla使えばおまいの望み通り。
164 :
162 :04/08/19 01:20 ID:yKd1d6+E
>163 IEではどうやったら取れるのですか? またtomcatやjavaアプリ側での実装は特に無いですか?
もうちょっと考えたらわかると思うけど、 IEとMozilla以外にもブラウザがあるわけでCookie(=セッションID)を共通にはできない。 インターネットサービスではダメだけど、 特定のイントラ用ならIPアドレスベースで制限はできる。 具体的にはServletContextにIPアドレスとセッションIDの組み合わせを保存して、 同じIPアドレスで違うセッションIDがきたらどちらかを無効とする、とかね。
>>162 URLに;つけてセッションIDつなげれば同一セッションになるはず
>>166 ブラウザからCookieが送られてきた場合はそちらが優先になってしまうよ。
168 :
nobodyさん :04/08/19 22:22 ID:MlLVsLbp
<jsp:include page="hoge.jsp" /> で "hoge.jsp"の部分を動的に生成させて実行させたいんですが 何か方法はありませんか?
>>168 そのjspファイル自体を他のページから作成するとか・・・
つかってるのがTomcatなら、 <jsp:include page="hoge.jsp" /> を含むJSPを変換したソースを見たらヒントになるよ。
jspで他のプログラムから停止しているプログラムをキックする方法ってありますか? a.jsp をthread.sleepとかで停止しておいて b.jsp で何らかの条件を満たしたときに a.jspの処理を再開するようなことが したいのですが
a.jspで共有ロックを待って、b.jspで開放してあげればいけそう。 でもその設計はHTTP的にどうかとはおもう。 よくわからんけどJavaScriptでやりたいことを実現できない?
>>172 インチキっぽい処理であることはわかってるんですが、
これじゃないとダメなんですよ・・・
共有ロックですか、できるかもしれないですね。
ヒントどうもです。調べてみます。
他にも案があったら教えてください〜
>>171 >a.jsp をthread.sleepとかで停止
この意味が分かんないんだけど。
ブラウザへの返信を一時的に止めるのか?
175 :
171 :04/08/24 23:43 ID:???
176 :
nobodyさん :04/08/25 19:06 ID:5mR4N6EB
基本的な質問で申し訳ないんですが、 Tomcat5 Redhat9 を使ってますが、tomatってserver.xmlを変更したのを 反映させるのにshutdown.sh→startup.shする以外に 方法は無いんでしょうか?
178 :
DLLの呼び出しについて :04/08/26 18:23 ID:4hodo1PV
VBで作成したDLLをJSPから呼ぶ場合、 コーディングはどのようにしたらよいのでしょうか? 初心者ですが、お願いします。
本気でそんなこと考えてんのか… 初心者って怖いねー
たぶん既存の業務ロジックがたまたまVBのDLLでできてて、 それをServletからも利用したいってだけじゃない? 怖いってのは直接DLL呼ぼうとするとJNIになるからかな。 商用のミドルウェアで仲介してくれるものはありそうだけど、 まんどくさくなければDLL側をXML-RPCかSOAPに対応させるとか。
181 :
nobodyさん :04/08/27 17:12 ID:wHOJNHLn
>>176 何でserver.xmlをいじるの?
META-INF/context.xmlで処理できない内容なのか?
>>181 バーチャルホストでサブドメイン追加したりしたとき?です。
183 :
nobodyさん :04/08/27 21:45 ID:3FMq/ALV
プロパティファイルを(ResourceBundle等で)読み込む時、クラスローダではなく、 毎回(ファイルを書き換えるたびに)読み直すには、どうやれば良いのでしょうか。
185 :
nobodyさん :04/08/29 00:01 ID:pEpPey9P
Eclipseを使っていたらフリーズしてしまったので、 Ecripseを強制終了、PCを再起動させたのですが、 そのあとからjsp(Serveletのファイルもインポートしています)を実行させると [exception] javax.servlet.ServletException: org/apache/jsp/main_jsp (wrong name: org/apache/jsp/typing/main_jsp) [root cause] java.lang.NoClassDefFoundError: org/apache/jsp/main_jsp (wrong name: org/apache/jsp/typing/main_jsp) というエラーが発生するようになってしまいました。 強制終了する前までは問題なく動いていました。 強制終了後はEclipce、Tomcat、Apacheを起動させただけで、 ほかに何もいじってはいません。 どこが原因か分かる方がいたら教えてください。 環境:Eclipse2.12 Tomcat4.1+Apache2(ApacheとTomcatを連携させています。)
186 :
185 :04/08/29 00:56 ID:???
すいません、解決しました。 work\org\apache\jsp内のクラスファイルを削除したら 動くようになりました。
187 :
nobodyさん :04/09/02 05:57 ID:lvO3lvlS
質問です. Tomcat+StrutsでWebアプリケーション作ってて, その一部のクラスをWebサービスとして公開したいんですけど, そんなとき何を使うのがイイですかね? できれば,クラス情報からWSDLを自動で出力してくれるような ヤツがうれしいんですけど...Axis?WSDP?何を使えばいいか よくわかりません.
188 :
nobodyさん :04/09/03 16:31 ID:DRxnB3uT
public class test { private String mode2; public void setMode(String mode) { mode2 = mode; } public String getMode() { return mode2; } public void setSql() { if(mode2.equals("high")) { (略) } else {} } } このようなServletのソースで、JSPからsetMode()を呼び出して mode2にhighという文字を代入したあと、 JSPでgetMode()を呼び出した場合はちゃんとhighという文字が 表示されます。 しかしsetSql()のif文で使っているmode2がnullになってしまって います。 どこに原因があるのでしょうか?
すっげぇ糞仕様
JSP hoge.jspで別のフォームからPOSTされたものを処理するテストをしてるんですが、 直で hoge.jsp を呼び出すとヌルポが出てしまってどうしたらいいでしょうか。
>>190 そのPOSTされると期待しているデータが、存在するかどうか調べてから使えばよろし。
JSPだけで組むならサニタイズなども自前でしないといけないので、
そのあたりのセキュリティホールには十分気をつけてくださいね。
>>191 なるほどー、ありがとうございます。
if (request.getParameter("mona")==null){}
てな感じでできるんですねー。
Perlとはちょっと使い勝手が違うので戸惑ってました。
サニタイズもちょっと調べてみます。
やっぱり参考書なしだときついなorz
193 :
nobodyさん :04/09/17 12:44:39 ID:E+OusJmI
win2000,apache1.3.29,tomcat5.0.28,jdk1.4.02でmod_jk2を使ってapache、tomcatを
連携させようとしてるのですが、
http://www.atmarkit.co.jp/fjava/rensai2/jspservlet03/jspsevlet03_1.html とかを見ると、mod_jk2.「dll」となってますが、どこにいってもそんなファイルがなく
mod_jk2.soしかありません。apacheのmodulesにも.soのファイルばかりです。
で、mod_jk2.soをmodulesに入れて
LoadModule jk2_module modules/mod_jk2.so
って書いて起動すると、
「指定されたモジュールが見つかりません」
といわれてapacheが起動しなくなります。
.dllのmod__jk2じゃないとダメなんでしょうか?.soので使えてる人いますか?
>>193 Apache1.*と2.*は違うのだよ。
connectorsのINSTALL.txtを読みたまへ。
196 :
nobodyさん :04/09/21 09:22:01 ID:x433gLZE
「BEA WebLogic Server 8.1J EJB 2.0徹底攻略」 がEJBのいい本だと教えてもらいますた が、金無いのでJbossでやろうとしてます。 上記の本は、JBossユーザにとっても結構役に立つでしょうか? それともWebLogicユーザに特化した内容でしょうか? 内容をご存じの方がいたら教えてください
197 :
nobodyさん :04/09/21 17:28:53 ID:ofc0HygH
%E9%01%EE%9A%15%EE%83%D2ow%E4Hb%5E%AD%E5%89%F5-%C6%BF%D3%C5%3CnB%F1%AA%F1%B8%D43h%40%13%E9%B8%BDTj%FF%CC%40%B3%FA%9D3%281%D1%81%BB%F2%10%5B%CA をエンコードする前にもどしてもらえませんか??
199 :
nobodyさん :04/09/21 17:52:16 ID:ofc0HygH
エンコードする前になおす方法ってどうしたらいいんでしょうか??
203 :
nobodyさん :04/09/21 18:47:37 ID:ofc0HygH
間違えてました
204 :
nobodyさん :04/09/21 21:53:10 ID:y/lpdeTT
208 :
nobodyさん :04/09/27 19:04:40 ID:OBdtZp+8
ブラウザからページをリクエストすることでバッチを走らせるようなのを 考えてます。 -------------------- ブラウザからjspを呼び出す (jspへのリクエストには引数がついており同時にいくつか違う処理が流れます) ↓ jspでDBデータの処理(10分ぐらい) ↓ 処理終了後、ブラウザに結果を表示 -------------------- で、途中でjspのバッチを止めたい場合の止め方でいい案は無いでしょうか? シグナルとか例外とかでとめられるといいんですけど、 どうやってjavaで発生させたらいいかわかりません 全部とめるのではなく特定のもののみ止めたいのです。 環境としてはtomcat5.0.28でクライアントからはProxy経由でアクセスしています。
Exceptionなり継承して適当な例外クラス作ってそれ投げればいいじゃん。 ていうかストップするタイミングとかはどうやって決めんだよ、それ どこが引き金になって止まるんだ?
210 :
nobodyさん :04/09/27 20:30:57 ID:OBdtZp+8
>>209 ストップするのは別のリクエストを出したら、それを受信したjspから
何らかのイベントを発生させることでストップしたいと思ってます。
が、それで例外発生させると全部同時に止まって特定のジョブだけ
止めるとかできないですよね。
ってとこらへんで悩んでます・・・なんかいい方法ないですかね
動く画面と止める画面が同じセッションだったら、 セッションに止める画面から値を保存して、動く画面のプロセスから それを読むという方法はどうだろう。 俺も興味があるから解決したら報告してね。
>>211 >動く画面のプロセスから それを読むという方法はどうだろう。
処理中に割り込めないので、読み込める状態になったときには
処理が終わってそうです。
なにか割り込める方法があればいいんですけど・・・
Tomcatで どのプログラムがいくつ起動してるかとか どのプログラムが負荷が高いかとか 任意のプログラムを強制終了させるとか いうような管理機能っぽい機能って無いですか? ありそうで無い感じなんですが。
>>213 プログラムとして起動しているのは常にJVMひとつだけ。
OSの管理機能を使ってJVMの負荷を調べればよい。
強制終了するにはJVMのプロセスをkillすればよい。
>>214 質問の意味を察してくれ。そんなことが聞きたいんじゃないのは
わかるだろ?
>>212 処理部自体を割り込み可能なつくりにできないの?
強制終了させてもいいんならスレッドにすればいいよ。
>>215 回答の意味も察してあげたら?
プロセス管理はTomcatの仕事ではないから、普通のプロファイラ使えば?
>>216 処理部は自前じゃないのでいじれないのです
スレッドで強制終了・・・ちょと検討してみます
>>217 だから質問の意味を・・・
>>220 質問が曖昧なんだよ。「プログラム」ってなんだよ?
Webアプリケーション単位か?→だったらTomcatマネージャ使え。負荷はわからんが、アプリの停止・起動は管理できる。
メソッド単位の処理を指すのなら、別スレッドで実行させてスレッドを強制終了だ。
察してくれ、じゃなくて意図がきちんと伝わるように質問しろ。
222 :
213 :04/09/28 12:30:29 ID:???
>>221 曖昧なのはわかってるから察してくれって。
用語がよくわからんのだ。てか、221はわかってるみたいだしいいと思うけど。
>Webアプリケーション単位
ってどの単位になるのかもわからん
>Webアプリケーション単位か?→だったらTomcatマネージャ使え。
起動停止はできるみたいだね。
どれの負荷が高いか知りたいなぁ・・・みんなどうしてるの?
↓書き直し
----------------
Tomcatで
どのjsp/servletがいくつ起動してるかとかどのjsp/servletが負荷が高いかとか
いうような管理機能っぽい機能って無いですか?
ありそうで無い感じなんですが。
----------------
でわかる?
>>222 IBM developerWorksとか@ITでServletの知識を仕入れてきた方が、
遠回りせずにすむよ。マジレス
>>222 「Webアプリケーション単位」がわからない?
基本から勉強して出直しだな。
>どのjsp/servletがいくつ起動してるか ServletやJSPは何回呼び出してもひとつしか起動しないからそれぐらいわかるんじゃない? >どのjsp/servletが負荷が高いか それはプロファイラ使うしかないね。Tomcatにはそういう機能はないから別のツールを使わないと。
まあここまで何も知らんのに 察してくれと言う厚かましさに乾杯。
ここまで何もわからないやつが負荷や起動状況を調べたところで何ができるのだろう・・・・?
重いことが実感できます。
229 :
213 :04/09/28 15:28:32 ID:???
答えてもらっても理解できないことは聞かなくていいよ
231 :
213 :04/09/28 16:07:52 ID:???
>>230 そういうことは答えてから書いてくれ
どうせ、煽り以外のレスなんてつけたことないんだろ?
ん?225で答えられる範囲で答えてるけど?
低レベル同士仲良く汁
234 :
213 :04/09/28 21:25:26 ID:???
結局まともに答えられない莫迦しかいないんだな まあ予想通りだが まあこの程度のところに聞きに来た自分も同類か まあ知ったかぶりの莫迦よりは無知の知を知っている自分の方がずっとマシだが
>>213 > Tomcatで
> どのプログラムがいくつ起動してるかとか
いくつというのがセッション数ならmanagerで表示されてる。
いくつというのがservletなら、サーブレットはシングルトンだった気がする。servlet数を数えるだけ。
いくつというのがスレッド数なら、俺は知らない。
> どのプログラムが負荷が高いかとか
負荷というのがCPU利用量なら、分からない。
負荷というのがメモリ使用量なら、分からない。
負荷というのが回線におけるトラフィックなら、分からない。
> 任意のプログラムを強制終了させるとか
managerでそのアプリを停止すればいいんじゃ?
「どのServletがいくつ起動する」なんて質問にまともに答えられるわけないだろう。 質問がまともじゃないのだから。
238 :
213 :04/09/29 03:44:04 ID:???
>>237 234は俺じゃないけどね。まあ似たようなこと言ってるからどっちでもいいけど。
とりあえずさっきのレスでも
>>225 を除外してるようにそれで満足というか
プロファイラでどの程度調べられるものか試してるとこ。
239 :
nobodyさん :04/10/01 09:03:33 ID:q8e9IZFA
241 :
nobodyさん :04/10/01 15:41:37 ID:PyOHcd0E
既存のModelクラス(POJO)を他のシステムに対して公開することになりました。 なるべくModelクラスへの変更を行いたくないので、外部公開用のSessionBeanを アダプタとして作成し、全ての処理はModelクラスに委譲できないかなと考えています。 このような作りにすると何か問題がありますか?
>>241 インターフェイスを作って、それを公開汁
243 :
nobodyさん :04/10/02 16:09:39 ID:0aHfsWvV
JSPもしくはServletで入力値の長さをチェックする必要がある? Javaだとバッファオーバーフローはありえないと思うが。
>>243 セキュリティはしらんが入力チェックは必要だろ
>>243 もしDBや画面表示にそのまま渡すのを想定してるなら、
長さチェックは措いといてもサニタイズは必要だよ。
>>245 PreparedStatementくらい使ったらどうだクズ
じゃ、長さチェックはしなくても、Servletは最強ということですな
他のほとんどの言語でも、そういう意味では長さチェックする必要ないけどな。
249 :
nobodyさん :04/10/03 19:17:56 ID:WkVqYyFk
こんなソフトを探しています。教えください。 ソフトウェア板から、誘導されました。 ▼───質問────────────────────▼ 【必要な機能】 掲示板・会議室予約・出欠確認・web社内情報共有 【. 目 的 】 webによる社内情報共有 【. 使用OS 】 win2000server 【. 条 件 】フリーソフト JSPアプリまたはperlアプリ Tomcat Appacheで動く ■試したけど条件を満たさなかったソフト 【. 名 称 】 サイボウズ 【駄目な理由】 価格 ■これだけはやりました 【 調べたサイト 】窓の杜、Vector、google 【検索キーワードは? ..】 jsp・servlet・掲示板・会議室予約・フリーソフト ★webサーバを社内に立ち上げましたが、web関連のフリーソフトが なかなかありません。あってもaspだったり。 jsp/servlet perlで動くフリーソフト紹介のページがあったら教えてください。 ソースが見えるので無いのでしょうか? ▲─────────────────────────▲
>>249 少なくともここもスレ違いだと思うが
cgi教えてくれるスレ言った方がいいかと。
フリーのグループウェアでも検索するとか。
わがままぽいからイヤだろうけど英語版とかならありそう
>Tomcat Appacheで動く これはないわ
あぱっちぇ?w
253 :
nobodyさん :04/10/04 04:45:17 ID:ZLaUl9d+
>>252 ヴぉけ、あっぱちぇっていう有名サーバーがあるんだよ。
どこかに。
>>249 JSPもしくはperlで動くCMSなりwikiなり改造して使えば?
サイボウズ並のフリーな物を探してるというなら論外。
お前もどうせ質問には答えないんだから いっしょ
257 :
nobodyさん :04/10/04 20:19:21 ID:ZLaUl9d+
>>255 ちょっと前のサイボウズ程度のものなら、探せばありそうなもんだけど。
みなさん有難うごさいます。 CMS、wikiで調べてみます。 スペルは間違っていました。 ×:appache ○:apache 因みにそんなにすごいものは求めていません。 『初めてwebサーバ立ち上げたので、とりあえず周りの人に 使ってもらいたい。何か動かしたい』 っと言ったところです。 まだ、アプリを作成するスキルがないのですこしずつ サーバを育てていこうと思います。
260 :
nobodyさん :04/10/08 08:36:43 ID:eto8/RWx
Tomcat(Apacheとは連携ぜずに)で「localhost:8080」を ドメインで例えば「sample.com」で開くようにするには、 servser.xmlにhost name="sample.com"と追加するだけでよいのでしょうか? ポートの変更はできたのですが・・・。 Tomcat4.1.30を使っています。 どなたかご教授ください。
>>260 スレ違い。DNSサーバに登録・設定する必要があるので
DNS関連を調べれ
>>260 hostsでもいじって満足してろや下痢便未満
263 :
nobodyさん :04/10/10 02:07:56 ID:J6iJ8zNu
はじめまして 現在、JSP&Servletを使用してホームページを作成しています。 TopページにServletからコンボボックスの内容などを動的に取得したい場合に、 いきなりTopページを開くと javax.servlet.ServletException: bean result not found within scope というエラーがでてしまいます。 この場合はTopページの前のダミーのTopページからforwardするしかないのでしょうか? できればそのようなことはしたくないのですが、どうすればいいのか ご教授お願いします。
264 :
263 :04/10/10 02:18:11 ID:J6iJ8zNu
ダミーのTopページforward → ServletでDBから情報取得 → Topページで情報表示 ということをするしかないのでしょうか?
それが嫌ならJSPでDBから値取得しろ
266 :
263 :04/10/10 02:33:08 ID:J6iJ8zNu
264のようなことをするとGoogleなどのキャッシュにダミーのTopページ の情報が掲載されてしまうのでしょうか?
267 :
263 :04/10/10 02:33:37 ID:J6iJ8zNu
264のようなことをするとGoogleなどのキャッシュにダミーのTopページ の情報が掲載されてしまい、空白がキャッシュに載ってしまうのでしょうか?
redirectじゃなくてforwardだから、クライアントから見たら
最終的な「Topページで情報表示」がリクエストしたURLの結果に見える。
# といってもGoogleはちゃんとリダイレクト先を保存するはずだけど。
>>263 は単にDBアクセスするJavaコード(Beanなのがスマート)をつくって
そのTopページのJSPから利用すればいいだけだけど、
クライアントにServletのURLへリクエストさせて
ServletでDBから情報取得 → JSPで情報表示
とする方がオーソドックスではある。
269 :
263 :04/10/10 02:52:23 ID:8yGQze3U
>>268 さんレスありがとうございました
>redirectじゃなくてforwardだから、クライアントから見たら
最終的な「Topページで情報表示」がリクエストしたURLの結果に見える。
安心しました。ダミーTopページ → Topページ間でスレッドでバッチ処理を行う
構成にしたいので助かりました。
>クライアントにServletのURLへリクエストさせてServletでDBから情報取得
→ JSPで情報表示とする方がオーソドックスではある。
これはユーザーにServletのURLを入力させるということですよね?
URLはスッキリとさせたいので上のいままでのやり方で行きたいと思います。
ありがとうございました。
://hoge.com/hage/index.jsp、もしくは://hoge.com/hage/ か何かから行かせたいんだろう。
赤帽にtomcat5とapache2を入れて、mod_jk2で連携させてますが tomcatで表示すると普通に表示されますが apacheで表示すると30秒ぐらいまたされます。 表示するファイルは普通のhtmlです。 こういった現象が起こっている方はいますか? また解決策があれば教えてください
>>270 一応公の場なんだから、example.comとかexample.jpつかおうな。
あとweb.xmlの<welcome-file-list/>を調べておくように。
274 :
271 :04/10/14 02:02:29 ID:???
ちなみにostNameLookupsはoffになってます
同一フォームでsubmitで遷移したのか、selectで遷移したのかを サーブレット側で知ることは可能でしょうか? 以下のようなソースなんですが。 <form name="myform" method=post action="Aaa_serv"> <input type="submit" value="GO"> <select name="aaa" onChange="submit()"><option value="001">001</option></select> <input type="text" name="bbb" size="10"> </form>
277 :
nobodyさん :04/10/20 13:51:52 ID:Sm6KJnPr
はじめまして JSP&Servletを使用して携帯用コンテンツを作成して要るのですが、 vodafoneでアクセスした際、最初はサイトが表示されるのですが 何回か同じアドレスにアクセスすると 「HTTPエラー500が発生しました。このページはボーダフォン携帯電話では表示できません。」 と、表示されてしまいます。 docomoとauはきちんと表示されるのですが・・・ サーバは、Apache + Tomcat連携です。 どなたかご教授お願い致します。
>>280 submit()のなかで値いじくってればできるだろ。
282 :
nobodyさん :04/10/20 23:20:37 ID:IgyUFmLu
ヘルプ!
Tomcat5.0.28 / J2DK1.4.2を使用しております。
ttp://www.onjava.com/pub/a/onjava/2004/02/11/jspcookbook.html を見まして、なるほどwelcome-fileにServletが指定できるのかと喜び勇んでweb.xmlを設定してみました。
しかし、/(context)/にアクセスしても、
welcome-fileに指定したServletは応答せず、デフォルトサーブレットがディレクトリ内のファイルリストを返してきます…
/(context)/WEB-INF/web.xml は上記サイトの1.にあるものと寸分たがわぬようにしてあります。
com.jspservletcookbook.MyServlet クラスは、単純にHttpServletResponse に簡単なHTMLを吐き出すだけのものになっています。
/(context)/myservlet にアクセスすると、正常に期待通りレスポンスがもらえます。
この現象に心当たりの方はおられませんでしょうか?
または、Tomcat5.0.28で問題なくwelcome-fileにServlet指定してるよと言う方はおられますでしょうか。
よろしくお願いします。
/myservlet をwelcome-fileにすりゃいいんじゃないの?
284 :
282 :04/10/22 10:39:58 ID:???
>>283 それが、
<welcome-file>/myservlet</welcome-file>
としてもやっぱりだめなんです。
何か特別なServletの書き方があるんでしょうか…
vaka
質問しか能がないのか、野糞
2chでは非常に手軽に質問できるけど、手軽に無責任に回答できるということでもあるので、諸刃の剣。
>>286 だれも投稿してないし、デザインもよくなくて人が増えそうでもないから、2chの方がマシ。
290 :
282 :04/10/23 01:12:26 ID:???
>>285 ヴァカでごめんなさいm( )m
<welcome-file>myservlet</welcome-file>
で期待通りの動きをしました。
「url-patternにワイルドカードなし指定したパターンを、ディレクトリ指定抜きでwelcome-fileに指定する」ってことですね。
でもこれだと /(context)/任意のdir/ でのアクセスは出来ないんですね。
とりあえずは<error-page>との組み合わせで今回は対処できそうです。
厳しいお声ありがとうございました。
>>290 > /(context)/任意のdir/ でのアクセス
自力で振り分けろってことじゃね?
>>281 submit()の()の中に入れた値ってサーブレットでどうやって読むんでしょうか。
ずっとやってて結局できませんでした。
SerlvetじゃなくてJavaScriptの問題だけど、 submit()する前に適当なフィールドに動的に値を代入するんじゃない? あとsubmit()に引数はないような。
294 :
nobodyさん :04/10/31 22:34:23 ID:JE33ttxT
エラーコード500で標準エラー出力、じゃなくて PHPみたいにデフォルトでJSPのエラーをHTML画面に出してくれる サーブレットラッパきぼんぬ。 サーブレットにコンパイル後の行数じゃなくてJSPの行数で出してくれたりとか。
IDE使えばいいだけかと。 どうせJSPにはコード書かないんだから、あまり必要ないと思われ。
>>295 あんま必要ないと思っても、PHP使うとそれやってくれてて楽でいいなと思うよ。
スタックトレースはHTMLに出力するわけだから、行番号をJSPの行番号にしろってだけ? サーブレット使わずにJSP単体でやるってことは、たいしたコード書いてないわけだし、スタックトレースよめばどのメソッドで例外が出たかわかるわけだし、そんなに便利にはならないと思われ。 実装の手間を考えると、誰も使わないし、そんなに便利にはならないし、むくわれないね。 PHPの行番号は、実際にエラーが出た行番号とエラーメッセージが出るだけで、ちょっとライブラリ呼び出しただけで使い物にならんけどね。
結果として運用できているのならOKだと思われ。 その組織の体制やシステム構成にあった設計になっているかどうかが問題なので、JSPに処理を書いてるからダメとか、Struts使ってMVCだからイイとか、一概にいえるもんじゃない。 拡張子.jspだけアプリケーションサーバーに委譲するような設定になっているのかもしれない。 画像を多く含んでいてアクセスの多いサイトだと、どういうルールでアプリケーションサーバーに処理を委譲するかっていうのは、悩ましい問題だしね。 /scriptsは怪しいがね。
301 :
nobodyさん :04/11/04 17:05:48 ID:MXul7/PE
setRedirectはどのような時に使うのでしょう?
HttpServletResponse.sendRedirect() ActionForward.setRedirect() どっち? 後者ならスレ違いだけど、リロード対策とかが主じゃないかな。 でもstruts-config.xmlで <forward ... redirect="true" /> とする方がよさげ。
何がどっちなんだよ
メソッドの中でout.print使うにはどうしたらいいんでしたっけ..orz 適当にprivate PrintWriter out;とかしたけど無理ですた...
private void myMethod(){ FileWriter fw = new FileWriter("c:\\test.txt"); PrintWriter out = new PrintWriter(fw); out.println("出力するよ"); out.printf("%dとか%n", 15); }
>>304 System.out.println("何を意図してどこに出力しようとしているのか不明");
>>305 どうもです。ちょっとしたメールクライアントを作ってて、
受信メールのID?(javamailの)をヘッダー解析メソッドに渡して、
そのメソッドの中で例えば件名だと本文とか抽出されてくるので
タグと一緒にoutしたいんです。
perlとかでいう所の、グローバル変数みたいなもので代用できれば
いいんですが、いまいちよく分からんのです。
×件名だと本文とか ○件名だとか本文とか orz
HttpURLConnectionでサーブレットを呼び出しているのですが、 ときどき急に1度繋がった後tomcatを再起動したりすると、次から NoClassDefFoundErrorが発生して、全く繋がらなくなってしまいます。 そんなような症状を経験された方、いませんでしょうか? もし何か分かる方がおられましたら、ご教授頂ければうれしいです。
310 :
nobodyさん :04/11/17 03:36:13 ID:eshx/1+6
JSPを勉強するのに最適な書籍はなんでしょうか? PHP・Perlはほぼ理解しています。
まずは、Javaを勉強してください。 PHPを理解してるというのはすごいね。尊敬する。 Mojavi+Smartyに慣れてるのなら、Strutsにはすんなり移行できると思うよ。
いわゆるUIコンポーネントを作りたいのですが、 引数でカスタマイズできるJSTLのc:importのようなものを探しています。 特定の名前のBeanにパラメータをセットして、c:importを呼べば実現できますが、 どうも時代逆行的で躊躇しています。 カスタムタグを作るには大袈裟な気もしますし... 皆さんどのようにしていますか? ちなみにこちらのビューまわりの環境はStruts + JSTLです。
タグファイルとか
>>309 日本語がちょっと変だけど、それをどうやって修正してる?
クラスパスがちゃんと通ってないだけだと思うけど
315 :
nobodyさん :04/11/26 00:43:01 ID:1PPB6FSr
317 :
nobodyさん :04/11/26 12:18:03 ID:9IIMg8+8
<jsp:include〜>を使用するとセキュリティ上良くないという話を聞いたのですが、 何か問題があるのでしょうか?
>>317 聞いたこと無い。
<%@include 〜 %> で、拡張子を.inc などにすると問題が出てくる場合があるが。
319 :
:04/12/02 13:10:31 ID:/bfokzpI
>>318 げっ、それってどういう場合でしょうか??
>>319 ブラウザから直接ソースを閲覧されるから。
拡張子jspならコンテナがJSPとして処理するが、.inc等はそのまま内容をレスポンスしてしまう。
321 :
nobodyさん :04/12/03 23:30:59 ID:J1wDZcQz
web.xmlで <servlet> <servlet-name>myservlet</servlet-name> <servlet-class>jp.co.〜.MyServlet</servlet-class> </servlet> のようにservlet-classの部分でパッケージを完全修飾すればよいだけかと。
tomcatに登録したJNDIデータソースって webコンテナ外からlookupできますか? weblogicだとコンテキストにパラメータを設定すればイケると思ったけど。
複数のIEを起動して、 それぞれで、複数のフレームに区切られた画面を表示していると、 フレームのセッションが他のIEになってしまうことがあります。 なぜでしょう。
325 :
324 :04/12/05 02:06:05 ID:???
フレームのセッションが他のIEで表示しているフレームのものになってしまうことがあります。 です。
>>324 複数のIEを起動するとき、どうやって起動していますか?
CTL+N または、[新規作成]->[ウィンドウ]を使っている場合、
[スタート]->[インターネット]等、IEのアイコンから直接起動する
方法でもう一度同じことをやってみてください。
現象は同じですか?
>>326 CTRL+N
ではなく、iexplore.exe を起動しています。
org.gjt.mm.mysql.Driverを使ってjspからmysqlにアクセスしています。 tableをjspから作るにはどうしたらいいんでしょうか? qにはCREATE TABLE文が入っているのですが、以下のやり方だとダメでした。 ResultSet rss=sttSql.executeQuery(q); (Can not issue data manipulation statements with executeQuery()というエラー) tomcat 5.0.28,mysql-connector-java-3.0.16
>>328 mysqlは知らんけど多分。
executeQuery ではなく、executeUpdate。
で ResultSet じゃなく int で結果を受け取る( 0 が戻るだけだけど)。
>>329 レスどうもです。
intでexecuteUpdateしてみたのですが、エラーが出てしまい、
適当にexecuteだけにしたら別なエラーでboolenで受ければよいと出てきたので、
結局boolenでexecuteでうまくいきました。
ありがとうごさいました。
セッション情報を任意のセッションIDから復元&保存することって出来ますか? セッションIDをURLに付加したりCookieを使用せずに POSTデータとして送りたいのですが・・。 コンテナが自動でやってるぽいので無理ぽ?(´・ω・`)
DBに入れとけば?
333 :
nobodyさん :04/12/15 22:45:59 ID:cHQ+sEWt
Resin 2.1.14 + PostgreSQLでコネクションプーリングを使おうと いろいろやっているのですが、以下のようなエラーがでます。 PostgreSQLがわをコード変換つきでmakeしなおせばよいのでしょうが、 それができないため、JDBCがわでなんとかする方法がないでしょうか。 500 Servlet Exception Something unusual has occured to cause the driver to fail. Please report this exception: Exception: java.sql.SQLException: ERROR: Conversion between UNICODE and EUC_JP is not supported Stack Trace: java.sql.SQLException: ERROR: Conversion between UNICODE and EUC_JP is not supported
import java.util.*; public class Client { public static void main(String[] args) { TreeSet treeSet = new TreeSet(); treeSet.add("1"); treeSet.add("2"); treeSet.add("3"); treeSet.add("4"); Iterator iterator = treeSet.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } } } このサンプルでwhileが終わった後、 特定の要素を指定して取り出したいのですが、どうやったらいいんでしょうか? できるなら、ある特定の条件に一致する要素の要素番号?を while中で取り出しておいて、後ほど要素を指定して取り出したいと思っています。 whileの処理が終わらないと評価できない処理なので苦戦してます。。。
スレタイ嫁 阿呆
JSPとMySQLで、Webアプリを作成しようとしています。 MySQLはデフォルトではトランザクション機能は有効になっていないため、 複数同時アクセスがあった場合、おかしくなります。 A B 読(a) / / 読(a) 書(a+1) / / 書(a+2) トランザクション機能を使わずに、整合性を保つにはどうすればいいのでしょうか? もしかして、スレ違いでしょうか・・・ 実システムを作るわけではなく、単なる宿題です。
>MySQLはデフォルトではトランザクション機能は有効になっていないため 有効にしろよ。
338 :
336 :04/12/19 14:49:52 ID:???
トランザクション機能を利用してはいけないという条件の宿題なんです(´Д⊂ ロックで排他処理をさせることを思いついたんですが、 Servlet/JSPでのロックの定石ってあるんですか? perlとかだとflockという関数がありますが。
>>338 それは、より深く理解するために、トランザクション処理を一度手前で考えてみろ。
という意図なのか、
それとも、担当講師が、昔トランザクションを知らなかった事を
馬鹿にされた事があって、それを根に持って使うなといっているのか。
前者なら、Servlet/JSP ということではなくて、
ロック処理、競合解決処理一般という探し方をしたほうがええんでは。
(いっそのこと、PostgerSQLのソースとかをハックしたりしたほうが、
より実践的な知識が身につきそうな気がする)
あるいは、トランザクション処理の重要性を教えるために、
無いとどれだけ大変かを体験させようとしてるんだろうか。
>>338 メソッドにsynchronized修飾子を付けスレッド間の排他制御をする
JSPでページを作る場合 <%@ page contentType="text/html; charset=shift_jis"%> と出力する文字コードを指定しますがそれせずに後から response.setContentType("text/html; charset=" + enc); のように書いて動的に出力する文字コードを変える方法は 無いでしょうか? 上記のようにやってみたらエラーがでて出力できなかったので・・・
>>341 事故レス
すいません、そのままでできますた。
@pageのとこって、<%〜%>にいれてコメントアウトしてもダメなんですね・・・OTL
>>340 VMが複数、DBがひとつの場合を考えてみ。
Fedora Core 2にJPackageのTomcat5入れてる。 workers2.propertiesのuriで仮想ホストを指定すると 効かない。 ありがちな見落としを列挙してくれ。 正直mod_jk2あたりのバグも疑ってる。 Tomcat5-5.0.30-1jpp mod_jk2-4.1.27-13 httpd-2.0.51-2.9
>>343 vmは複数でもvmを動かす鯖は1台?
適当なファイルを作っておいて、ロックをかけてオープンしてから
DBの処理を実行して、DBの処理が終了すればロック開放する。
排他される側の別のプロセスはロック中であれば待機する。
そんなんじゃだめかな。
DBにロック用項目を用意する とか あほらし
>>345 この場合それぐらいしかないような気がする
質問です。 サーブレットのメモリとjavaコマンドで起動したバッチは プロセスが異なるから(?)Singletonでもオブジェクトを 共有できないことがわかりました。 で、コネクションプーリングを自作で実装していたのですが オブジェクトを共有できる方法はありますか? またはデータソースを使用すればサーブレットとバッチのコネクションの 管理ができるのでしょうか?
そんなことするより、バッチからサーブレット呼び出したほうが楽。
Windows XP上にTomcat5.0.24を使ってるんですが、 サーブレットでURLに日本語パラメータを付加したリンクからのGETから 日本語パラメータがどうしてもちゃんと取り出せません。 charsetも設定してますし、requestもresponseもsetCharacterEncoding でShift_JISを設定してますし、 <A>タグを書き出す時にもURLEncoder.encodeしたり、 パラメータを取り出してからURLDecoder.decodeしたりもしてみましたが どうしても駄目です・・・ ブラウザもIEとFirefoxで試しました。 もうオテアゲな状態です・・・ 他に何かチェックするべき所はあるでしょうか?
>>350 Tomcat5.0.19からはGETはsetCharacterEncoding()の適用範囲外。
APIドキュメントによればsetCharacterEncoding()は、リクエストのボディの
文字エンコーディングをオーバーライドする、とある。
GETのパラメータはリクエストのヘッダにあるからsetCharacterEncoding()の適用範囲外になる。
responseのsetCharacterEncoding()もURLEncoderもURLDecoderも関係ないぞ。何やってんだ。
Tomcatの場合はGETでもsetCharacterEncoding()を有効にするオプションが
用意されている。↓このページのuseBodyEncodingForURIの説明を嫁。
http://jakarta.apache.org/tomcat/tomcat-5.0-doc/config/http.html ただし、将来はGETでもsetCharacterEncoding()が有効になるように
実装が変わるという話もあるし、Servlet仕様も変更になる可能性がある。
Servlet仕様を厳密に解釈したこの動作のことって どっかのスレで話題になってなかったっけ?
353 :
350 :05/01/14 21:43:39 ID:jVtqm1ln
>>351 >responseのsetCharacterEncoding()もURLEncoderもURLDecoderも関係ないぞ。何やってんだ。
面目ないです・・・
ですがおかげさまでナントカできそうになりました。
要するにヘッダのエンコードは自分で処理しないといけないという事なので、
setCharacterEncodingメソッドが出来る前にやっていたという
getBytesして新たにエンコードを指定してString作り直すという方法でいけそうだと分かりました。
それで試してみたところちゃんと日本語パラメータが取り出せました!
useBodyEndodingForURIについては、あまりデフォルトの振る舞いを変えたくないので使わない事にします。
ありがとうございました。
354 :
nobodyさん :05/01/16 01:09:23 ID:UULMlX6S
request.getParameterとrequest.getAttributeってどう違うんでしょうか? どっちともフォームの要素の値を取得できて、同じように思えるんですが。 どう使い分けるんでしょう? お願いします。
>>354 > どっちともフォームの要素の値を取得できて
できねえよ
356 :
354 :05/01/16 01:30:27 ID:UULMlX6S
そうなんですか!??? テキストボックスの名前をnamにした場合、 request.getParameter("nam")とか、 (String)request.getAttribute("nam") で取得できませんか?
>>356 > (String)request.getAttribute("nam")
> で取得できませんか?
できねえよ
358 :
354 :05/01/16 01:48:44 ID:UULMlX6S
そうなんですか・・・・。 よく分からなくなってきました。 いや、初めから分かってないんです。 JSP/サーブレットサンプル集を見ていたら、 スレッド式掲示板を作ろうみたいのがあったんです。 if(request.getAttribute("sbm") == null){ //新規投稿フォームを表示 }else{ objBbs.setArticle((String)request.getAttribute("title"), (String)request.getAttribute("nam"),(String)request.getAttribute("article") ・・・・・・) } bbs_beanのsetArticleメソッドでフォームに 入力された情報をbbs_masterテーブルに登録する・・・ っていうのがあったんです。 sbm、title、nam、articleはそれぞれ、フォームの要素名で、 送信ボタン、件名、名前、本文なんです。 今まで、request.getParameter("nam")で取得していたので、 これはどういうことだろう・・・と思ったんです。
>>358 サンプル集で勉強するな。
ちゃんと調べろ。
まぁ、「どういうことだろう」と思うことはいいことだな。 あとは、まず自分で調べることだ。 いや、その前に、そのサンプルが何をやっているか確認しろ。
361 :
354 :05/01/16 03:24:48 ID:UULMlX6S
とりあえず、書き込み前に調べたんですが、 request.getAttributeの戻り値がオブジェクト型なので、キャスト必要 ということ くらいしか調べきれませんでした。 サブミットボタンが押下 ⇒名前/値でフォームの要素の内容がrequestオブジェクトに格納 ⇒それを取り出してbbs_masterに掲示板の投稿内容を登録 するときに、 なぜ、request.getParameter("title")ではなく、 (String)request.getAttribute("title")なんだろう・・・と思ったんです。 もう少し調べてみてから出直します!!
>>361 そのサンプルって、その通りに打ち込んで間違いなく動くのか?
>>361 調べる前に、そのサンプルが何やってるか確認しろ。
で、なに調べたら、そんなことだけがわかるんだ?
単純にrequest.getAttributeでググっても、それなりに見つかりそうなもんだが。
しかし、objBbsっていうセンスのない変数名とか、sbmとかnamという属性名見ると、あんまりスジのいいサンプルじゃなさそうだな。
tomcatに入ってるサンプルが比較的まとも
366 :
nobodyさん :05/01/17 00:10:37 ID:q9aZ0Owf
includeについての質問です。 現在Apache2とTomcat4.1.31を連携させて動かせています。 <jsp:include ...>を使い、メニュー領域を読み込ませているんですが、 これのファイル指定は、Tomcatの制御下にあるファイルしか呼び出せないのでしょうか? 例えば、 http://localhost/menu.html (Apacheの制御領域に存在)を http://localhost(:8080)/web/index.jsp から<jsp:include ...>で呼び出したいのですが・・・ 調べても、呼び出し先ファイルは、相対パスで指定としか書いていなく、このような使い方はできないのでしょうか? このmenu.htmlは、全ページ共通のメニューページになるので、Javaを使ったページのみ別のファイルにする事は避けたいのです。 よろしくお願いいたします。
>>366 無理。<jsp:include>はRequestDispatcherを使ってるから。
Tomcatの制御下というより、同一アプリケーション内のリソースのみ。
>>367 そうなんですか・・・仕方ないですね。
別のアプローチを考えて見ます。
menu.htmlに更新があった場合には複数の場所にあるファイルの同期をとる方向で・・・かなり強引ですが・・・
>>367 すみません。お礼を言うの忘れてました・・・(∩゚д゚)
ご回答、ありがとうございます。
普通に「Apacheの制御領域」を「Tomcatの制御下」にもってくればいいだけかと。
現在、Apache2.0.52とJakartaTomcat4.1.31を使ってWebサーバを構築しています。 jspなどのTomcatが配信するページを圧縮転送したいのですが、どうすればいいのでしょうか? Apache側には、gzipが組み込まれていて、Apacheが処理するページやPHPのページは圧縮転送できているのですが、 Tomcatが配信するページが圧縮されずに転送されてしまいます。 Tomcatの処理するページに対して圧縮をかける方法を教えていただきたいです。 ApacheとTomcatの連携も取れています。
server.xmlのcompression?
373 :
nobodyさん :05/01/17 17:12:42 ID:rh8cuFh5
Statement statement = con.createStatement(); ResultSet result = statement.executeQuery("SELECT ID FROM ID_masterORDER BY DATE"); %> <% while(result.next()){ %> <tr> <td><%= result.getString("ID") %></td> こうあった時にを DBからどんどんIDを読み込んで表示させたいのですが IDがnullの場合、読み込まずに飛ばして表示されてしまいます IDがnullの場合、その部分は空白として表示させるのにはどうすればいいのでしょうか? if文とかを使っているのですが、どうしてもうまくいきません ご教授をお願いします
> こうあった時にを 意味不明 > if文とかを使っているのですが、どうしてもうまくいきません どう書いたらどうなるのか読み手にさっぱりわからないから回答できない。 「うまくいきません」も漠然としすぎ。 どういう結果を期待して、実際にはどうなっているのかがわからないから 回答不能。
サーバにLinuxを使った場合ってどうやっても@とかの機種依存文字って 使用できなくなるんでしょうか? Windows+Cygwin+PostgreSQLの環境ではJSPのキャラクターセットをMS932にするだけで 出せたんですが、Linuxに移植したら入らなくなってしまいました。 〜 は replaceAll("\u301c","\uff55e"); で出せるようになりましたが、 @ は replaceAll("\u2460","?"); をやっても意味ありませんでした。
最後のとこ?になっちゃいました。 "&#9312" の半角です。
>>375 > サーバにLinuxを使った場合ってどうやっても@とかの機種依存文字って
そんなことはない。
しかも、MS932じゃなくて正しくはWindows-31Jだ。
環境をちゃんと書いていないのでわからないが
LinuxはPostgreSQLが7.2と推測してみる。
PostgreSQL7.2のJDBCドライバがタコなだけだろ。
Shift_JISとWindows-31Jがちゃんと区別できない。
>>377 ありがとうございます。
Cygwin環境ではPostgreSQL7.4.5
RedHat8.0環境ではPosgreSQL7.4.6を使用しています。
JDBCドライバは pg74.215.jdbc3.jar なんで普通だと思うのですが、
MS932がいけないのかもしれないですね。
サーブレットで
new String((request.getParameter("name")).getBytes("8859_1"),"JISAutoDetect")
で読み込むのは問題ないと思ってるのですが。
>>378 > サーブレットで
> new String((request.getParameter("name")).getBytes("8859_1"),"JISAutoDetect")
> で読み込むのは問題ないと思ってるのですが。
釣りか?と思うぐらいに問題あり。
JISAutoDetectではShift_JISと誤認される。
今時JISAutoDetect使うのは糞。
380 :
nobodyさん :05/01/18 09:44:57 ID:x8xIxcUM
>>372 ありがとうございます。server.xmlのcompressionを指定する事で、
http://localhost:8080/~では 、転送量が約1/5になり、圧縮が確認できました。
しかし、ApacheとTomcatを連携させて動かすと圧縮ができません。
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75"
acceptCount="10" debug="0" compression="on"/>
という感じで8009番のConnectorにも書いてみましたが、圧縮が確認できませんでした。
Apache2とTomcat4.1の連携には
http://www.ryouto.jp/linux/linux_12.html を参考に
jakarta-tomcat-connectors-jk2-2.0.2を使っているんですが、
連係動作下での圧縮転送はどのようにすればいいでしょうか?
何度もすみませんが、よろしくお願いいたします。
381 :
nobodyさん :05/01/18 09:46:15 ID:x8xIxcUM
382 :
375 :05/01/18 12:27:26 ID:???
自己解決できました ありがとうございました
それを自己解決というか・・・
384 :
375 :05/01/18 18:10:27 ID:???
Windows-31Jは使わなかったし
>>379 は見てなかったし、自己ですよ。
コテでもないのにそういう自己弁護になんの意味が。 どうせなら解決手段を書くべし。
これじゃただのスレ汚しだな
387 :
375 :05/01/18 20:51:45 ID:???
ここの人たちってタコとか糞とかそんな言葉ばっかり
JAVAプログラマは人間性に問題があるんです。 PHPに乗り換えたほうがいいですよ!
>>387 おまえみたいなただのスレ汚しよりは言葉は悪くても
技術面で他人に有益な書き込みの方がはるかにマシ
391 :
nobodyさん :05/01/19 17:15:05 ID:gpHRwNH/
本を参考にJSP・サーブレットで簡単な掲示板を作っています。 この本のサンプルの通りに打ち込んでコンパイルしようとしたんですが 以下のようなエラーがでます。 略:シンボルを見つけられません。 シンボル: 変数 KanjiConv このKanjiConvを使っている行、全てが引っかかります。 なにか特別にパスを通す必要があるとか importする必要があったりするんでしょうか? 今のところimportしてるのは java.io.* javax.servlet.* javax.servlet.http.* の三つです。 本が少し古いのでSDKが1.2の頃のサンプルなのですが、 現在使用しているのが1.5なので、仕様変更があったとかでしょうか? よかったら教えてください。お願いします。
>>391 ・コンパイル時にKanjiConv クラスがあるパッケージツリーまたはjarファイルに
クラスパスが通ってない
・KanjiConvクラスがインポートされてない
・変数KanjiConvが宣言されていない
どれか。
エラーは略すな!大原則。
393 :
391 :05/01/19 18:24:26 ID:gpHRwNH/
>>392 ありがとうございます、そしてすいません。
エラーは詳しくは↓のような感じです。
BBSServlet.java:90: シンボルを見つけられません。
シンボル: 変数 KanjiConv
場所 : BBSServlet の クラス
item.deleteKey = KanjiConv.ConvJStr(request.getParameter("pass"));
これと同じものが複数行でます。
で、このKanjiConvってのは標準のクラスじゃないんでしょうか?
検索してもほとんどヒットしなかったんですが、
かといって特に本文中に記述もないっぽいので
この本の独自のクラスってこともなさそうなんですが・・・
>>393 KanjiConv は標準のAPIには含まれないのでその書籍独自のクラスか
その書籍のサンプルで扱っているライブラリに含まれているのだろう。
395 :
391 :05/01/19 19:02:31 ID:???
>>394 なんかこの本は初心者に厳しくて色々苦労しているのですが、
やっぱそうでしたか。。
そうであれば必ずどっかに載ってるんでしょうから探してみます。
ありがとうございました。
KanjiConvってクラス名・・・どっかで見たぞ・・・ 俺もその本持ってるかも・・・でも、おれの持ってる本で特別わかりにくいって思った参考書はないんだけどなぁ〜 キミが、最初から読まずに途中から見よう見まねでソース書いてるだけじゃないか?
Java初心者スレで聞いたんですが、こっちが適スレらしいので。 ブラウザからpostしてDBに書き込み、DBの内容をブラウザに表示するっつー 仕組みをMVCmodel2ぽく作ってみました。 で、日本語化けに散々悩まされたんですが -- in Controller -- doPost(HttpServletRequest request, ・・・) { request.setCharacterEncoding("EUC_JP"); //<-ここに書けば文字化けは直る Model.updateDB(request); } -- -- in Model -- updateDB(HttpServletRequest req){ req.setCharacterEncoding("EUC_JP"); //<-ここに書いても文字化けは直らない //ここでgetParameterで取得してDBに書き込む処理 } なんでsetCharacterEncodingをモデル内に書いても機能しないのか理解できません。 javaの仕様なんでしょうか?
それはおかしいね。省略してるコードに原因があるんじゃない? それと"EUC_JP"はエイリアスだから新規のコードからは使うのやめるのと、 setCharacterEncoding自体もサーブレットフィルタに任せたほうがすっきりするよ。
>>398 > javaの仕様なんでしょうか?
ControllerとModelの間で一回でもHttpServletRequestから
パラメータは取り出されてないのか?
setCharacterEncodingは初回のパラメータ取り出しの前に呼ばれなければならない。
(そうしなくても動いてしまうコンテナもあるが)
フィルタ使え。
>>398 一応言っておくが、EUC_JP なんていう文字エンコーディング名は存在しないぞ。
EUC-JP だ。
>399-401 回答ありがとうございます。 確かに、400氏の言うように、コントローラ内で1回だけgetParameterしている個所がありました。 その部分を修正すれば、確かにモデル内でsetCharacterEncodingしてもちゃんと機能しまし た。アドバイスありがとうございます。 ていうか、「サーブレットフィルタ」という単語を初めて知ったのでググって見ましたが、 TOPに来たページで「文字エンコーディングを指定するフィルタ」の説明が・・・ そうか、こんな便利な使い方があったのか・・・ orz アドヴァイス感謝です
コードもろくに書き出すことも出来ないとは
Java質問スレにも書き込んだのですが、こちらでも
質問させて下さい。
古い話ですが、EJB1.x系では特にCMPのパフォーマンス
の低さが 問題視されていましたよね。
その原因を調べる過程で、以下の記事を見つけました。
ttp://www.atmarkit.co.jp/fjava/special/ejb20/ejb20.html この記事の中段付近でコンテナによるダーティーフラグや
キャッシュについて述べられています。しかし、ダーティ
フラグやキャッシュが有効なら、パフォーマンスにそれほど
問題が出ないような気がします。
EJB1.x系のCMPのパフォーマンスが低い原因について、
より詳細な 説明をして頂けないでしょうか?>識者の皆様
根本的な設計が悪いんじゃねぇの? 余計なことしてるんじゃねぇの?
jspを表示させてもnullしか出力されません。 文法的に間違っている所は無いと思うのですが・・・ ↓ ---- Controller.java package test; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import test.*; public class Controller extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Model md = new Model(); String loginUser = "HAHAHAHAHA"; md.setUser(loginUser); request.setAttribute("model", md); RequestDispatcher rDispatcher = request.getRequestDispatcher("/view2.jsp"); rDispatcher.forward(request, response); } }
---- Model.java package test; import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import java.text.*; public class Model { private String login = null; public Model () { } public String getUser() { return login; } public void setUser(String user) { this.login = user; } }
---- view2.jsp <html> <head> <jsp:useBean id="md" class="test.Model" scope="request" /> <body> <jsp:getProperty name="md" property="user" /> </body> </html>
>>406 > jspを表示させてもnullしか出力されません。
ブラウザから直接 /view2.jsp をリクエストしてるとか?
>409 いやさすがにそれは。Controllerを直接リクエストしています。 ちなみにtomcat4.1.31です。
>>406 ---- Model.java
package test;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.text.*;
public class Model {
private String user = null;
public Model () {
}
public String getUser() {
return user;
}
public void setUser(String anUser) {
this.user = anUser;
}
}
412 :
406 :05/01/22 14:46:46 ID:???
多分解決しました・・・ていうか穴があったら入りたい ○| ̄|_ setAttributeとjspの"<jsp:useBean id=〜"が理解できていなかったです。
初心者Java質問すれからやってきました。 質問します。 通常、WEB-INF/libディレクトリ以下に各種Jarファイルを全て配置しますが、大規模なWebアプリなどの場合、 多数のコンポーネントを利用するために相当数のJarファイルがWEB-INF/lib以下に配置されることになると 思います。 ここで、各プロダクト毎に関連するjarファイルをWEB-INF/libディレクトリ以下にサブディレクトリを掘ることによって 論理的に分けて配置したいと思います(以下参照) WEB-INF/lib | +subdir1 | + hogehoge.jar +subdir2 + foo.jar + foobar.jar しかしながら、WEB-INF/lib以下のサブディレクトリにはclasspathが通りません。どのようにして解決すればよろしいでしょうか。 実行環境は今のところTomcat5.x系を想定しています。
どうやってWEB-INF/libにパスを通しているか確認して 同じことをすればいいだけでござる 拙者は普段WEB-INFなんて作っておらんでござる プロダクトごとに関連するJSP、XML、JARを分けて作って 後はAnt任せでござる
>>414 実行時の話だと思うんだけど・・・・
ビルド時はどうにでもできるけどね。
>>413 Servlet仕様上無理。どうしてもというのならTomcatを
ソースコードレベルで改造するしかない。
ていうか実行時にいちいちディレクトリ掘る意味あるのか? 開発してるときだけだろ、jar毎に分ける意味があるのは
417 :
416 :05/01/23 13:22:12 ID:???
言葉が足りなくて意味不明な文章になってしまった まあ察してくれ
ビルド時だけでいいのなら、クラスパス通せばいいじゃん、ですむ話。
>>415 やっぱりそれしかないんですかね?
カレントスレッドのClassLoaderをとってくるとWebappLoaderが取れたので
リフレクションで無理矢理addRepository呼んでみたけど、動的には
変更できなかったので、何か妙案はないかと思案しているところです。
みなさん例えばjarが100あろうと関係無しに全部lib以下にブチ込んで
いらっしゃるのですか?
初心者らしいから、デプロイとか知らなくて
展開後のwebアプリの中のソースとかJSPとかを直に弄っているとか
そういうやり方をしてるだけなんじゃないだろうか
>>413 もしそうならAntとかを勉強するといい
>>419 >みなさん例えばjarが100あろうと関係無しに全部lib以下にブチ込んで
>いらっしゃるのですか?
何か不都合でもあるのか?という話。
422 :
413 :05/01/23 13:39:41 ID:???
不都合というより、大規模開発の場合、たくさんのプロダクトを使うことになり、結果jarの数が 爆発的に増えると思います。 それに伴い、プロダクト事に各種設定ファイルも増えてきてそれらを全部並列にWEB-INF/libやWEB-INF/classes以下に置く のは管理上いかがなものかと思ったわけです。 引き続き何か案があればよろしくお願いします
earファイルの中のjarの数なんて数えない だって、用は開発中に見通しが聞くかどうかだから 何の管理をしているのかよくわからん
>>422 実行環境でどう配備されていようがかまわんだろ?
何人かがレス付けているように、開発用のディレクトリが
分かれているだけじゃダメなのか?
実行環境上でファイルの管理をしようという発想がダメだと思う。
>>422 人の意見を無視するつもりなら、最初から質問するな。アホ。
426 :
413 :05/01/23 13:59:39 ID:???
みなさんレスありがとうございます とりあえずみなさんがおっしゃる通り開発時にディレクトリ分け、 デプロイ時に該当ディレクトリにまとめて配備という方法でいくことにします。 ありがとうございました
>424 とか >425 とかは、ちょっと頭がおかしいか、他人とコミュニケーション 取れない可哀想な人なんだろうね。 Aという手法を行ういい方法はありませんか? という問いかけに対して Aなんて止めてBの手法にしとけ というアドバイスは場合によっては馬鹿にされるよ。
>>427 なぜAではいけないのか、なぜBではいけないのか、を
はっきりさせない方が悪いと思うんだけど?
>>427 で、お前ならなんと答えるんだ?
Tomcatのソース書き換えてリビルドしろって答えるのか?
俺は逆に
>>427 みたいな人がお客さんの言いなりになって
プロジェクトを灼熱地獄にするタイプだと思うよ。
そうする必然性がない可能性が高いにもかかわらず
前提になってしまっている。
そうする必然性があるのなら、それを説明できないとおかしい。
>>427 Aという手法を行ういい方法はありませんか?
↓
Bの手法で問題があるのか?
↓
(無視)Aという手法を行ういい方法はありませんか?
なんだから質問者が悪いだろ
>>429 リビルドまでしなくても、改造したクラスだけserver/classes以下に入れれば
いいんだけどね
Tomcatのソース修正すればOKですか! 現実的ですねー って、言うと思う?
つうか、jar ファイルが100個になる状況ってのがわからんのだけど。 普通のアプリケーションなら、どう考えてもせいぜい1桁台の jar ファイルしか必要ないはず。
でも最近いろんなオープンソースプロダクトが出てきて、それらを使っていくと必然的にjarファイルが増えてくる。 まぁ100個とかは言い過ぎだけど。 っていうか、425は2chで何をそんなにカリカリしているんだ?
Commonsなんかの便利系+DBまわりだけで10は超えるけど、100はいったことないな。 でも仕様としてWEB-INF/lib直下のみってのは間にあうはするけど、しょぼいと思うよ。
つうか、本当に定番のものは、サーバのパスに入れてしまわん?
>>437 「定番のものの定番のバージョン」というものがあるなら別だけど、バージョンが違うこともあるわけで。
危険だよ。
はまったときに原因がつかめずタチが悪い
Servlet/JSPの話題から外れてしまうけど。 Aという手法を行ういい方法はありませんか ↓ XXXXという方法で出来ます。 ↓ しかしそれはコストや運用の面からあまりお勧め出来る方法ではありません。 ↓ ちなみにBという方法もあるんですが、こちらでは如何でしょう? というのが客とやり取りするときの常識かな。 いきなり >431 みたいなやり取りは普通しないね。431は直接客と話す機会が 少ないのかな?
>>439 2chの質問スレの質問者を顧客と同等に扱えと?
それとも
>>439 は誰が相手でも同じ対応しか取らないのかな?
>>439 >>431 はこのスレの流れをまとめただけだぞ?
お前は客の要望を勝手に独自解釈して
本来の要求とは全然違う実装を指示するタイプだな。
441のように根拠もなく「〜だな」と決め付ける香具師よりは、431のように 「如何でしょうか」とお伺いを立てる香具師のほうが一緒に仕事をする分に は兆倍マシなヨカーン。 ま、ネタにマジレスかましてる431も痛いけど。
>>442 > 431のように「如何でしょうか」とお伺いを立てる香具師
眼球を交換した方がいい
。 。 ____∧/∧/ 〜' ____(; Д ) UU U U
2chのやりとりと実生活の区別もつけられない奴らと仕事はしたく(ry 有料の仕事と無料の回答の区別もつけられない奴らと(ry
なんか1人必死なやつがいるな・・・
____∧/∧/ カチャッ 〜' ____( ゚Д ゚) UU U U 。 。
みんな大人だろ?
>449 肉体は40代、頭髪は60代ですが、心はまだ若々しい10代のつもりです。
・・・頭の中身だけ成長してないってことか。
>451 2チャネラなんて全員そうだよ
>>452 自分がそうだからって、みんな同じだと決め付けないでください。
わたしはちゃんと頭の中身も成長して、2chについていけるようになりましたよ。
質問いいでしょうか。 現在Solaris8(SunOS5.8)とJDK1.3で動的に画像を出力する(パラメータで数値を渡してグラフを生成する)JSPを作成しています。 CUIのOSですと動的な画像出力が行えないようで、 かつJDK1.3ではjava.awt.headless=trueによる対策がサポートされていないようです。 あれこれググってみたのですが、CUIのOSではjava.awt以下の利用に支障があるようですが、 例えばPDFを作成する部分でjava.awt.Colorを使っているのですが、 この部分は正常に動作しています。 これは、特定のjava.awt以下の機能(例えばGraphics?)などにのみ支障があるということでしょうか。 仮にCUIのOSかつJDK1.3はjava.awt以下の機能がすべて使えないのであれば、 原因は自分のコーディングということになるのですが・・・。
>>454 とりあえず、JSP でなく、通常のプログラム同様の処理を作って試してみたら?
それでうまくいかないならば、このスレで聞くよりも、
Java (あるいは awt) の質問スレで聞いたほうが良いと思われ。
xvfbとか
DBのBLOBフィールドに画像データが入ってて、クライアントのブラウザから日付を指定す ると日付をキーに画像を複数枚表示させるっつーアプリで悩んでんだけど。 これをjsp/servlet/beanで「らしく」構築するにはどうすればいいのか 誰かアドバイスお願い。 DBからBinaryStreamで取って来てServletOutputStream使って返す、っての は、なんかjsp側に大量のコードを書かなきゃならん気がするんだけど。 ユニークな名前でファイルに書き出して、beanからjspにファイル名だけ渡してやるって のが実は一番スマートな気がしないでもない。この辺、どんな感じで処理する のが定番なんでしょうか?
画像のリンクを、画像出力用のサーブレットにするなんてことができそうだが、 DBアクセスとかマルチスレッドの処理がめんどそうだな。 ユニークな名前のファイルにするのは比較的楽そうだが、 先にページが返されたときに、画像のリンク先が404になるかも しれないし厄介だな
漏れなら、jspは <img src="./servlet/getimage?id=1"> というのを動的に書いて DBから読み込んでimageを返すservletを別途用意。 という、MVCを完全に無視した方法しか思いつかん。 ていうか、MVCなんて所詮机上の空論だろ。絶対どっかで割り切らなきゃならん部分 は出てくるよ。
て、458氏の挙げてる方法と同じだった・・・orz ということは458氏の方法で処理するのがやっぱり定番か?
>>459 とっくの昔にMVCは完全に無視されてるわけだが。
みんな思い思いのクラスをMだのVだの言ってるだけ。
「MVCなんて ・⌒ヾ(*´_`)ポイ」 だから、みんなEJBになってるわけ?
WebはMVCというよりLayerパターンだな
imgタグから画像出力サーブレットを呼ぶ場合、コネクションプーリングは必須だな
>>462 EJBこそ諸悪の根源だと思われ。
MVCなんてポイだからEJBもポイされてる。
EJB3に期待だな。
ELって、"."を含むkeyでputしたMapから値を取り出せるのでしょうか? 練習でstrutsのサンプルをJSTLに書き換えてみようと思ったが、 struts-blankで早くも挫折。 <logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application"> ↑これを↓とかに書き換えてみたがだめでした。 <c:if test="${empty applicationScope.org.apache.struts.action.MESSAGE}">
${empty applicationScope['org.apache.struts.action.MESSAGE']} とかは?
>467 出来ました、ありがとうございます
basic認証をgroupで行った際に、認証をパスしてきたユーザーのgroupをservletで 取る事は可能でしょうか? 単にユーザー名を取得するだけなら、方法は分るんですが。
470 :
nobodyさん :05/01/31 18:43:27 ID:XPVF5EPM
RH9にrpmで入れたhttpd-2.0.40とtomcat-5.0.30の連携を図っています jakarta-tomcat-connecterでmod_jk2.soを作成して httpd.confに記述追加してconfigtestすると Syntax error on line 211 of /etc/httpd/conf/httpd.conf: Cannot load /etc/httpd/modules/mod_jk2.so into server: /etc/httpd/modules/mod_jk 2.so: undefined symbol: apr_socket_send となってしまいます 何かいい方法ない?
ここで質問するのが正しいのか微妙ですが質問です。 違うようでしたら余所へ行きますので。 Solaris8(SunOS5.8)とWebLogicを使って開発を行っています。 jarを更新するたびにWebLogicを再起動するのに対して不満の声があるのですが、 特定のjarファイルのみを再読み込みさせる方法などはないでしょうか。
>>471 WebLogic のバージョンは?
確か WebLogic はホットデプロイ対応してたと思うけど・・・。
別スレで質問しましたがこちらの方が正しいっぽいのでこっちでお聞きします。 EJBのローカル参照でエラーが出て困っています。 (weblogic serverの管理コンソールでJNDIのテストをするとJNDI名が間違っていると言われます) 設定ファイルは以下の通りです。(関係なさそうな部分は消しています) 何が悪いのでしょうか。 *** ejb-jar.xml *** <ejb-name>ABC</ejb-name> <local-home>org.yahoo.ABCLocalHome</local-home> <local>org.yahoo.ABCLocal</local> <ejb-class>org.yahoo.ABCBean</ejb-class> *** weblogic-ejb-jar.xml *** <ejb-name>ABC</ejb-name> <enable-call-by-reference>True</enable-call-by-reference> <local-jndi-name>ejb/ABCLocalEJB</local-jndi-name>
セッションに、 session.setAttribute("aaa",value1); session.setAttribute("bbb",value2); などと設定して、WASのセッションタイムアウト時間を、 過ぎてしまった場合(=タイムアウトと同時間の場合?)に、 どちらか一方のみだけが値がとれなくなる(=null)ってことは ありうるでしょうか? 普通は、↑のセッションが破棄されていて、 どっちも参照できなくなるのだろうが・・・。
475 :
nobodyさん :05/02/04 18:31:54 ID:iQBEwEFN
質問いいでしょうか。 現在JSPの開発をしているのですが、 ブラウザが英語か日本語かによって、 表示させる文言を変えたいと思っています。 ブラウザの言語環境をJSP側で判別させる方法はありますでしょうか。
>>475 ヒント
・HTTPヘッダのAccept-Language
・java.util.Locale
そのものズバリの回答がでたあとでヒントだしても・・・
479 :
475 :05/02/07 10:51:44 ID:???
レスありがとうございます。 String lang = request.getHeader("Accept-Language"); if (new String(lang.substring(0, 2)).trim().toUpperCase().equals("JA")) { この記述で上手く判定できました。
>>479 なんでgetLocaleやgetLocalesを使わないのか・・・
こっちで聞くかうpろだスレで聞くか迷ったけど。 ずばり、uploaderのservletでお勧めがあれば教えていただけませんか? upするファイルのサイズに制限なし、つーservletが見つからなくて・・・ それとも、もうジャカルタのあれとかpastaとか使うのが常識ですか?
その「ジャカルタのあれ」でだめな理由をまず書け。
いやいや、その前になぜservletじゃないといけないか教えてくれ。 phpとかなら色んなスクリプトが転がってるはずだが。
・・・・ぉぃぉぃ、また >410-450 の流れを再現したい厨房出現か?
>482-484 自作自演乙
>481-486 (・∀・)ジサクジエーン!!乙
WebProgクオリティ
ついでに >482 も >その「ジャカルタのあれ」でだめな理由をまず書け。 481はどこにも駄目とは書いていないようなんだが・・・ どうも最近レスのレベルが低いね。
>>490 「ジャカルタのあれ」を知っているのに、それを使わず何故uploaderのservletを探しているのか?ということだろ
レベル低すぎ
>482 = 491 = 必死
うるせーよもういいだろその話題は終了で
>482 = 491 = 493 = 乙
チャネラってほんと馬鹿ばかりですね。 で、お勧めのuploader servletって結局何なのよ?さっさと教えろこのチンカス野郎共。
>495 ペッ
>495 これでも一応生物学的には雌に分類されるので「〜マンカス女郎共」と訂正して下さい。 無論マンカスなぞ付いていませんが。
>>497 マンカスが付いてないかどうかは俺が確かめてやるからメモ付きで写真うpしろ。
じゃなきゃネカマ
>498 仕事中ですよ。馬鹿ですか?(って2ch見てる私も同類ですが) 確認したいのなら茅場町まで来てください。 ではまたnobodyに戻ります。
>499 もちつけ、相手スンナ。 写真はあとでうぷすればいいから。
>>499 そうだ。写真はいますぐじゃなくてもいいぞ。
↓499によるヤオイ画像のオンパレード
>>503 マンカスどころじゃなくなってそうだが。
せめてムラムラできる間に。
506 :
nobodyさん :05/02/09 00:21:53 ID:okLZ//Yc
Apache2.0.52+JK2+Tomcat4.1.31 で動くアプリに対し、 ブラウザからリクエストを投げ、レスポンスが帰ってくる前にSTOPボタンを押すと、 Apacheのアクセスログでは、1度だけリクエストを受けたように見えるのですが、 Tomcatのアプリは2度動いてしまうのです。 これって、何が影響しているのでしょうか? また、IEだとこの現象が発生するのですが、 ネスケだと発生しないのです。 workers2.properties の [lb] で attempts=1 にしても変化なしでした。
507 :
nobodyさん :05/02/09 00:26:32 ID:okLZ//Yc
>>506 もちろん、ブラウザのストップボタンを押さない場合は、正常に動作しますし、
Tomcatへ直接アクセスした場合も、正常に動作します。
508 :
nobodyさん :05/02/09 08:05:55 ID:okLZ//Yc
>>506 HTTPリクエストヘッダの違いでしょうかね?
ログインユーザーによってフォルダアクセスを行いたいのですが、 フィルタでチェックしようと思ってます。 ユーザー管理 DB ユーザーAは temp1とtemp2のフォルダ内を閲覧可 ユーザーBは temp1のフォルダ内のみ閲覧可 こんな感じの実装であってるのでしょうか?
どんな感じの”実装”が、”どう”あってるのかを説明していただかないと。
×実装 ○考え方
513 :
nobodyさん :05/02/10 00:04:27 ID:bv9klEZT
>>513 ほんとに困ってるんなら、どこかにお金払って解決してもらうのがいいよ。
>>509 フィルタでやらずにweb.xmlのsecurity-constraintとかsecurity-roleとか調べろ
EJB初級者です。 SQLでは「件数で範囲指定」してレコードを抽出するという操作が (機種依存のSQLにはなりますが)可能ですが、これをCMPで実現しようとすると なると、EJB-QLで適切なfinderメソッドを実装したいところですが無理なので 以下のような手順になると考えています。 1.findAll()でBeanのコレクションとして全件取得。 2.取得したコレクションに対して適切なソート操作をした後件数範囲抽出。 これだと総レコード数が数千万件などの巨大なものになると JVMがOutOfMemoryとか言い出しそうで精神衛生上好ましくありませんよね。 そこで質問ですが、上記のような場合のEJB界隈でのポピュラーな解決策とは どのようなものなのでしょうか?やっぱCMPじゃなくてBMPを使って機種依存の SQLを組むことになるのでしょうか? 以上です。よろしくお願いします。
上記の「件数で範囲指定」というのは、要は 「5件目から10件目を抽出」するという意味です。
いまEJBを始める必要なんかない。 Hibernate使うかEJB3を待て。
>>519 納期が明日なのに
>>516 みたいなことをまだやってるの?
>>516 みたいな仕様に関する事は、プロジェクト開始前に片付けておく問題なんだがw
>>520 プロジェクト開始前ならどう片付けてましたか?
やはり >521 ですか?
>>520 >>521 半年以上先の次々プロジェクトのために下調べ&雛形作りをしてる最中です。
EJBの是非を議論しに来たわけではないのでそのへんご了解ください。
>>523 半年以上先なら、わざわざEJBなんか使うな。
Spring+Hibernateでやれ。
まあ、どうしてもEJB2っていうなら、すでに「使えない技術」と烙印が押されてしまった技術だということは心に留めておいたほうがいいと思うよ。 だからBMPにするかCMPにするか、それともEJB2の仕組みを使わないか、ということになりそうだ。 ちょっとでも無理を感じたところではEJB2にこだわらないというのが必要かも。
>>524 で
>>516 で書いてある「件数で範囲指定」っていう操作はHibernateでは可能なのか?
可能。
おおそうなのか。てことは、
・機種依存排除での「件数で範囲指定」の実現
・EJB使用
という
>>516 の2点の前提(希望)に即したソリューションは・・・
「BMP + Hibernate」
ってことになりそうだね。識者判定よろしく。
ServletでShift-JIS以外の文字コードを指定すると文字化けしちまうだ。 oresama.setContentType("text/html; charset=UTF-8"); と指定してやっても、ブラウザで表示させる時に化けちまいます。 Jspは全然オッケーです。 環境 MacOSX 10.3.8 Tomcat 5.0.28 (Apache 1.3.33)
>>528 HibernateとEJBを組み合わせるのはバカバカしいがそういうことになるね。
いまさらEJB2を使う事自体がバカバカしいわけだからね。
>>524 EJBだからこそ半年以上前から先行部隊が動き出す・・・とは考えられないか?
>>531 EJBコンプレックス 乙
>>532 > EJBコンプレックス 乙
マーチンファウラーに言ってやってくれ。
それか、Spring+Hibernateと比べたEJB2の利点を教えてくれ。
とりあえず、分散環境ならEJB2がいいのはわかってるから、その他で。
そうだな。これから
「なぜ
>>533 がこのような精神状態に陥るに到ったのか?」
にスレタイが変更されるようだな。w
538 :
533 :05/02/12 00:53:41 ID:???
>>534 ごめんよ、今まで信じてたものが使えないといわれたら、妄言だとか精神がおかしいだとか言いたくなる気持ちもわかるよ。
でも、少しは現実見たほうがいいと思うな。
お前ら勝手にやってろって感じだが。
上から読み直してみればわかるとおり
>>523 で書いてある日本語が読めないかね。
アンチEJB厨はなんとしてもEJBをこき下ろさないと気がすまないところがあるよな。
そしてもうひとつわかることはEJBマンセーなんてレスはひとつもないぞ。
もうちょっと冷静になれ。
そういう意味で
>>534 みたいな煽りがつくんだろうよ。
最近よく言われているあれだ。
「コミュニケーション能力の低さ」
ってやつだなぁ。まじこまるんだよこれ。
自分の考えに固執して相手の立場に立った
思考ができないんだよ。幼児性を残してたら
さらにやっかい。
自分の思い通りにならないんで
>>525 や
>>535 で既に過剰反応レスつけてるし。ゲンナリ。
>>540 >>533 で「EJB2の利点を教えてくれ」と聞いたあとでじゃなければ、それでいいんだけどな。
利点を教えてくれの答えが「ノイローゼ乙」なんだから、こいつにも541があてはまるね。
>>541 自分の思い通りにならないんで精神論にすりかえんな。
> 「件数で範囲指定」してレコードを抽出するという操作
という問題に対して俺は Hibernate + Spring を推す。
おまいのすばらしい解決策を聞かせてくれ。
うーん、Hibernate がEJB の代わりになるという理屈がよくわからん。 トランザクションとかどうするの?
>>544 は? Spring も知らないでレスしてたのか?
強烈な粘着がいるねここ
>>545 「してた」というか、 この件については、
自分は
>>544 が初レスなので、他の人と混同しないように・・・。
まぎらわしいタイミングでレスしてすまん。
自分は、Hibernate しか知らんかったんで
>>518 あたりの話がようわからんかったのですが、
そういうもの(Spring)を組み合わせるということですね。
なら、了解です。
>>548 テストの問題は前から感じていましたね。
Spring なり他のアプローチでどう変わるかはちょっと面白そうです。
英語は苦手なので、原著で買うか、翻訳を待つかはちょっと迷いますが・・・
しかし、
>アーキテクチャはシステムの必要性に応じて自分で選ぶこと。BluePrintsもこの本も鵜呑みにしてはいけない。
うーん、キビシー。
SpringやHibernateを使うと、特別なクラスを継承して云々というのではなく普通のクラスを組み合わせてプログラムを作っていくから、テストがやりやすい。 この本を買わなくても、マニュアルと技評のムックかなんかを見れば、だいたい使えると思う。 HibernateもSpringも、とりあえず日本語訳のマニュアルがあったと思う。 とりあえず分散トランザクション以外のことはEJBよりも楽にできる。 日本のプロジェクト、Seasar2+S2DAOでもいいと思う。好みで。
>>529 JSPのpageディレクティブでの文字コード指定はどうなってるの?
JSP側にあるとservletで指定されたモノが上書きされるよ。
あとは素直にmetaタグの文字コード指定がどうなってるかですが。
文字コード道は面倒なので、ふれずにすむのがベストですな。
なんでも入力からDBまでMS932にしとけってかんじ。
>>546 建設的な意見を語らんお前よりはマシだ。
プロジェクトでもたまにいるが。批判だけして意見を求めても何もでない香具師。
>>547 すまん。おまい、タイミング良すぎだ。
あとトランザクションは
>>550 のいうように S2(S2JTA) でもいい。
つか、宣言的トランザクションなんか仕組み分かってれば
JTA + AOP で 3 人日あれば作れるだろ。
もちろん、あるもんは使ったほうがいいが俺は自分で
車輪(自己満足)も作り直したい。
ただ、Spring はマンドクセ、S2 は利益目的に傾いて(ry。
だが EJB の依存性ありまくりの OO 中級者が
作ったトランザクション制御よりははるかにマシだ。
Springそんなにめんどいか? AOPを自力でやるのはめんどいけど、用意されたしくみ使うならだいたい問題ないし。 EJB代替ならSpring+Hibernateになるだろうから、Spring-Hibernate使っておけばあまり気にすることはないし。
自分は EJB 使ってるけど、CMP は通常クラスから 半自動生成するツールを作って、 処理は Facade 一個作ってそれに全部ドライブさせてるから、 フレームワークが変わっても、 このへん作り直すだけでアプリ本体はあんまりいじる必要ないなぁ。 問題は、ツールとFacade の改造がどのくらい手間がかかるかだけの問題。 なんか紹介を斜め読みすると、Spring は Facade さえいらんみたいだけど、 いまんとこ半信半疑。
>>554 通常クラスから半自動生成ではなく
Middlegen使ってDBスキーマから全自動生成しよう。
どの階層のFacadeかによる。 EJBを使うためにFacadeが必要だったんなら、もちろん必要ない。 サービス層としてFacadeを置いてたんなら、それはEJBやSpringとは別の層のアーキテクチャということになるわけだし。
>>555 それは、好みじゃない?上からか下からか、まん中からか。
>>555 一等最初のころは、それも考えてた。
特に、ストアドプロシジャとか使ってたころは。
まあ、結局どっちからでも良かったんだけれど、
実際には、UMLのクラス図→Javaスケルトン→CMP
ということをやってて、UMLで分析・設計した結果がほぼそのまま使えるから。
昔はたとえば、Accsess なんかでデータベースをビジュアルに
設計できたから、データの設計はデータベースでやって、
スキーマーからプログラムが使うための構造体なりクラスなりを
生成するという方式に魅力があったけど、
今は UML があるんで、かならずしもスキーマーを
起点にする必然性ってなくなってきたような気がする。
むしろ、UMLからスキーマを生成して、
DB なり永続化手段が変わっても、生成ルールを変えるだけで、
UMLの設計データはそのまま使える、みたいにしたほうが、
アプリケーションの実装依存性を下げられる。
パフォーマンスを考えると、結局DBがキーになるから、そこの依存度さげてもしかたなかったりする。 まぁ、作るものによるね。
560 :
nobodyさん :05/02/13 10:28:57 ID:UeRMALsQ
よく分散環境ならEJBっていうけど、 分散環境って、どういう状態をいうのでしょうか?
電車に轢かれたあとを思い浮かべてみればいいと思われ
>>561 痛い・・・
あ、俺の頭つぶれちゃってるなあ。脳みそバラまくりじゃん。
それにしても寒いなあ。
お、スカートの中見えそー。
もうちょっとなんだけどなあ。目玉が動かせられん・・・くそ。
あ、おい。逃げるな。どこいく。
>>560 【分散環境】
読み方: ぶんさんかんきょう
意味:
ハードウェアベンダー・APサーバベンダー が儲けるために、負荷分散、
信頼性向上を名目にプレゼンテーション、ビジネスロジックなどを
物理的に複数マシンに分散させること。
ベンダーは数千万トランザクション/日でもなければ、通常、分散環境は
不要だということは分かっているが、APサーバの開発費用を
回収するため、また AP サーバと Tomcat などを差別化するため
執拗に薦めてくるもの。
また、最近の研究・統計では負荷が一番かかっているのは DB サーバであり、
ビジネスロジックの負荷分散には全く意味がないことが判明している。
逆にネットワーク負荷が増え、遅くなるだけなので注意する必要がある。
>>560 EJBが有利な分散環境っていうのは、DBが分散してる状況。
DBサーバーがAとBにわかれててAに書き込みをしたあとBへの書き込みで失敗したらAの書き込みをロールバックするような、分散トランザクションのしくみとか。
┌─────────────────── |やべーみなかったことにしよー └───○─────────────── o /V\ ( ・−・)/ ̄ ̄ ̄ ̄/ ___(_つ ./ シーン ./ ____ .\/____/
>>565 言わせろ。
>>564 おい、知ったかすんな。
そりゃ JTA だ。EJB が無くてもいい。
JOTM や Tylex、糞S2JTA でも可能だ。
>566 分散環境の定義が違う? それともEJBをつかったほうがいい状況が他にあるんでしょうか?
>>559 まあ、半分使い捨てのアプリを1つだけ、てっとり早く開発しようとするとそうなるかもね。
>>567 remote インタフェース(RMI/IIOP)だろ。
ビジネスロジック分散。目的はネットワーク負荷増やして
高価なハードを(ry
|┃ |┃三 ,ィ, (fー--─‐- 、、 |┃. ,イ/〃 ヾ= 、 |┃ N { \ |┃ ト.l ヽ l ガラッ.|┃ 、ゝ丶 ,..ィ从 | |┃ \`.、_ _,. _彡'ノリ__,.ゝ、 | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |┃三 `ゞf‐>n;ハ二r^ァnj< y=レヽ < 話は聞かせてもらったぞ! |┃. |fjl、 ` ̄リj^ヾ)  ̄´ ノ レ リ | 俺の出番のようだな。 |┃三 ヾl.`ー- べl,- ` ー-‐' ,ン \____________ |┃ l r─‐-、 /:| |┃三 ト、 `二¨´ ,.イ | |┃ _亅::ヽ、 ./ i :ト、 |┃ -‐''「 F′:: `:ー '´ ,.' フ >ー、 |┃ ト、ヾ;、..__ , '_,./ /l
>>568 作るものによるっていう意味わかってないだろ。
DBに負担がかかるアプリだと、DB中心に考えないとパフォーマンスがでにくい。
>>571 でも、そういうのってライフサイクルを考慮しないと意味ないでしょ。
DB依存のチューンナップで数倍早くしても、
一年もたてば、10倍以上高速化する技術がでてくるんだから、
そのときに移行に何ヶ月もかかるようでは、速度的にも経費的にもペイしない。
だから、「半分使い捨てのアプリを1つだけ」ならそうなるかもといっている。
継続的に運用するアプリで、目先の高速化のために、
移行のコストを無視するなんてナンセンス。
>>572 DB依存のチューンナップではなく、RDBの特性を考慮したモデル設計という話だよ。
RDBの特性を考慮しないモデルだと、10倍以上高速化する技術の恩恵を受けにくかったりする。
それに、その高速化を前提にしていたら、RDBの移行ができない。
というか、1年後に10倍以上高速化した技術が出たところで、「はいそうですか」とバージョンアップできるものの方が「半分使い捨て」のような気がするが。
RDBの特性を考慮してないモデルの場合、ちょっとした改変で非常に処理が重くなることもありうるしね。
RDBでパフォーマンスを考えるなら、RDBMSに対して素直なモデルの方がいいってことだよ。
というか、好みでやれと。
パフォーマンス考えるならSQLは全てストアド Javaはパラメータの受け渡しに専念
>>573 >DB依存のチューンナップではなく、RDBの特性を考慮したモデル設計という話だよ。
まあ、理屈はわかりますが。
実際は、アプリケーションの分析レベルのモデルと、
RDBのスキーマーの間には、多くの階層があるわけで、
私の言っているのは、分析レベルのモデルを、
DBの実装に依存させるのはナンセンスだという話。
>RDBの特性を考慮しないモデルだと、10倍以上高速化する技術の恩恵を受けにくかったりする。
のような問題は、その間のマッピングやフレームワークが扱うべき問題でしょう。
適切なフレームワークがあって、適切にマッピングされるなら、
分析レベルのモデルに、実装の問題を持ち込む必要はほとんどないはずです。(まったくないとはいいませんが。)
(まあ、逆に言うと、スキーマのデータが分析レベルのデータそのままであったり、
一対一対応している必要は全く無いわけで。)
>>577 > のような問題は、その間のマッピングやフレームワークが扱うべき問題でしょう。
というのが、マッピングやフレームワークに夢を持っていただけだということだろ。
それを扱ってくれるようなマッピングやフレームワークは現時点ではないわけだし。
「べき」とか「はず」とか、理想だけではシステムは動かないよ。
> 適切なフレームワークがあって、適切にマッピングされるなら、 この仮定が成り立ってないのに、どうして成り立ってるかのように決め付けるのかが不思議だ。 もちろん、その仮定が成り立つ環境はあるんだろうけど、一般にはあてはまらない。 仮定や特別な条件であてはまることを一般論のように言うことのほうがナンセンスだと思うが。
おまえら、さっさとマ板に移動しろよ!ここは議論の場じゃない!!くそが
雑談してるだけだが。
>>578 >というのが、マッピングやフレームワークに夢を持っていただけだということだろ。
>それを扱ってくれるようなマッピングやフレームワークは現時点ではないわけだし。
いや、最初から、それをある程度自分で作るという前提の話だったはずですが?
(最初のほうの私のレスをちゃんと読んでいただけてますか?)
現状のツールやフレームワークや機能からいうと、
モデル自体にDB依存ファクターをそれほど入れなくても、
大部分のアプリケーションでは十分なパフォーマンスを得ることは可能だと思います。
出来合いのものでうまくいく部分は出来合いのものを作り、
パフォーマンスが問題になってくるような領域では、
問題のフォーカスしたアーキテクチャを作ればいいわけで。
特定業務向けのフレームワークなどは、それに近いことをやってるわけでしょう。
>「べき」とか「はず」とか、理想だけではシステムは動かないよ。
まったくそのとおりですね。
「モデルはDBに特化するべき」「DB依存のモデルのほうが早いはず」では、
実際の業務にかならずしもうまく対応できるとは限りませんね。
状況に応じた手段の選択が必要です。
>>579 >この仮定が成り立ってないのに、どうして成り立ってるかのように決め付けるのかが不思議だ。
>もちろん、その仮定が成り立つ環境はあるんだろうけど、一般にはあてはまらない。
私の認識は逆ですが。
どうも、お互いの扱っている業種が、相当性質の異なるもののようですね。
>仮定や特別な条件であてはまることを一般論のように言うことのほうがナンセンスだと思うが。
それは、
>この仮定が成り立ってないのに、どうして成り立ってるかのように決め付けるのかが不思議だ。
についても同じことがいえますね。
どうも、
「分析モデルをデータベース依存にしなければならないほどパフォーマンス要求がシビアな
アプリケーションが大多数かどうか。」
という議論になってしまったようですね。
このスレの話題としては、これ以上続けるのは不適切なように思います。
とりあえず、
これが真であればあなたの言うように、データベースへの最適化が必要で、
偽であれば、かならずしもモデルレベルでデータベースに依存する必要は無い、
ということについては、どちらも異存はないはずですよね?
そういうことでおしまいにしませんか。
>> というのが、マッピングやフレームワークに夢を持っていただけだということだろ。
>> それを扱ってくれるようなマッピングやフレームワークは現時点ではないわけだし。
> いや、最初から、それをある程度自分で作るという前提の話だったはずですが?
いつから前提に?とりあえず、レス番を示してくれ。
マッピングやフレームワークを自分で作るほど手間がかけれるかというのも、大多数かどうかになるな。
こっちはあきらかに、最初から
>>559 で作るものによるといってるのに、なぜかそっちはそれはやっつけのように言ってるわけだろ。
しまいには、フレームワークの自作が前提だと。
DBに特化するべきとも、DB依存の方が速いはずともいってなくて、そういう場合もあるといってるだけなのに、なぜか発言が曲げられてるし。
> 「分析モデルをデータベース依存にしなければならないほどパフォーマンス要求がシビアな
> アプリケーションが大多数かどうか。」
> という議論になってしまったようですね。
なってない。
最初から、RDBでやるならRDBに素直なモデルの方がパフォーマンスが出しやすいといってるだけ。
どちらについても、最適化が必要とか、依存する必要ないとかいってない。
別に白黒つける問題ではなく、好みで適材適所でやればいい。
DBありきのモデルはやっつけで移行が難しく、UMLから作った一般的なモデルからDBに落とし込むべきというのは間違っているといいたかっただけだ。 どちらからでも、状況にあわせて好きなようにやればいい。
>>584 UMLモデルでの分析が正しくて、リレーショナルモデルでの分析は正しくないが必要悪という前提が、そもそも納得いかないのだが。
いろいろ誤解されてるようです。 多分私もいろいろ誤解してるのでしょう。 なんか、これから先は言った言わないの水掛け論になりそうです。 私はこれ以上議論を続ける意欲がなくなりました、 ごめんなさい。
言った言わないというより、
>>588 のやり方は正しくて、そうでないやり方をわざわざするほどであればよほどシビアなアプリケーションに違いないというのが、どうかと思うといいたい。
意欲をなくすくらいなら「半分使い捨てのアプリを1つだけ、てっとり早く」とかいうな、と。
連休中、 役に立つレスが一つもなかったという現実ッッ!!
最近は、レスすらないことが多かったからな。
>役に立つレスが一つもなかったという現実ッッ!! お前みたいに役に立たないヤツばかりがいるスレだからな。
594 :
nobodyさん :05/02/14 22:54:32 ID:xPqIKOxz
緯度・経度から 地域を特定するAPIってない?
2chに役立つレスを求める時点で既に役立たず
597 :
nobodyさん :05/02/17 00:08:12 ID:NzPvm9QB
<c:forEach>タグで変化する変数(下の例では i )を
Beanメソッドのパラメータに渡して処理を行うようなことは可能ですか?
ためしに、下のようなサンプルを作ってみましたが、コンパイルエラーに
なりました・・・。どなたかご教授お願いします。
<%@page contentType="text/html"%>
<%@taglib prefix="c" uri="
http://java.sun.com/jstl/core "%>
<html>
<head><title>JSP Page</title></head>
<body>
<c:forEach begin="1" end="9" var="i">
<%= foo(${i}) %>
</c:forEach>
</body>
</html>
--------------------------------
public int foo(int i){
return i * i;
}
Beanメソッドのパラメータ? 用語を勉強しようぜ。
JSP、Servlet、EJBを使用したシステムで以下のような事象が発生して困ってます。 OS:RedHat Enterprise Linux AP:Weblogic7.0 [処理内容] ・画面でボタンを押下すると、DBからデータをかき集めてCSV形式でダウンロードする。 [発生事象] ・上記の処理は、データ量によっては1時間以上かかる。 ・ブラウザのタイムアウト値に到達すると、次のようなパケットが飛び交う。 IE Server [FIN,ACK]→ ←[ACK] [SYN]→ ←何故か再度TCPの接続シーケンスが実行され、同一の処理が実行される ←[SYN,ACK] [ACK]→ ・最初に実行した処理はブラウザがタイムアウトしてもサーバ上で動作しているため タイムアウト値に到達すると、同じ処理が再度実行される事になり、サーバ上では 同一の処理が走ってしまう。 質問としては、なぜIEのタイムアウト値に到達すると、IEから再度処理実行の要求パケットが 送出されるのか?という事です。 現象的には、MSに問い合わせるのが筋だとは思うのですが、もし同様の現象を体験されて 解決に到ったという方がいましたら、どのように解決されたかを教えて頂けないでしょうか? よろしくお願いします。
600 :
599 :05/02/17 18:15:01 ID:???
すいません・・・図がおかしくなっちゃいました。 正しくは以下のような形です。 IE Server [FIN,ACK]→ ←[ACK] [SYN]→ ←何故か再度TCPの接続シーケンスが実行され、同一の処理が実行される ←[SYN,ACK] [ACK]→
601 :
nobodyさん :05/02/17 23:58:03 ID:EF4kUyND
>>599 ブラウザにタイムアウトなんてあったっけ?
サーバ側にしかないと思っていました。
HTTPのタイムアウトとEJBのタイムアウトは別の設定になるので、当然
HTTPの処理がタイムアウトしてもEJBの処理が続くことはありえます。
>>599 データが流れてない時間がないか?
一定期間、データが流れないと IE は再送要求を出す。
>>599 個人的もすげー気になる現象。
IEだけなの?
FireFoxとか別ブラウザだと大丈夫なの?
ブラウザのタイムアウトは5分?
まあでも正直1時間以上かかる処理を
オンラインでやらす意味はないだろうなぁ。
受付だけして、バッチでファイル作らせておいて
次の日ダウンロードさせたら?
604 :
599 :05/02/18 10:54:51 ID:???
レスありがとうございます。
>>601 IEにならタイムアウトはあります。IE6の場合デフォルトで60分です。
タイムアウト値を変更する場合は以下のようにレジストリにキーを作る必要があります。
値はミリ秒です。
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ReceiveTimeout"=dword:3600000
EJBのタイムアウトとはトランザクションのタイムアウトの事ですか?
weblogic-ejb-jar.xmlのトランザクションタイムアウトの値は念のために10時間に設定してあるので
ブラウザがタイムアウトしてもAPサーバ上で処理が動き続けるのだと思います。
>>602 データが流れていない時間はあります。ダウンロード処理なので、APサーバ上で
データを採取している間はデータの流れはゼロです。
IEからの再接続に関して、もう一つ分かった情報があります。
ダウンロードの処理はシステムの親画面(ログイン後ずっと開きっぱなしの画面)に付いているボタンを
押下して行うのですが、同様に親画面に付いている表示データを再読込させるボタンを押下しても
ブラウザのタイムアウト値に到達すると全く同じパケットが飛び交う事を確認しました。
しかし、親画面からポップアップ表示される画面で同じ様に処理時間が長い処理を行った場合
タイムアウト値に到達しても、TCPの終了シーケンスは流れるのですが、再接続シーケンスは
送出されないため、サーバ上で同一の処理が二つ走るという現象にはなりませんでした。
親画面とポップアップで表示した画面に何らかの違いがあるという事なんでしょうか・・・。
605 :
599 :05/02/18 10:56:29 ID:???
>>603 IE以外のブラウザはタイムアウト値の設定をどうやって行うかが分からなかったため、まだ試してません。
ブラウザのタイムアウト値はデフォルトで60分です。実験のため、3分・10分・30分と設定を変更して
試しましたが、どの場合も全てタイムアウト値に到達するとTCPの接続シーケンスが送出されました。
確かに、1時間以上かかる処理をオンラインで行うのは無謀だと思うのですが、今から仕様を変更する事は
とても出来ない状況なのです・・・。
とりあえず、この現象の解決方法としては、IEのタイムアウト値を伸ばす事によって解決する事は分かりました。
ただ、なぜ親画面の場合のみ、タイムアウト値に到達するとTCPの再接続シーケンスが送出されるのかが
分からないままなのです・・・。
606 :
nobodyさん :05/02/20 15:25:52 ID:JgtyGHRU
たまにコンパイルすると↓のような警告みたいなのが出るんですが、 (一応、クラスファイルは生成され、きちんと使用もできる模様) これはどういうときに出て、何を意味するものなのでしょうか? 注: ほげほげ.java の操作は、未チェックまたは安全ではありません。 注: 詳細については、-Xlint:unchecked オプションを指定して再コンパイルしてください。
コレクションに格納する型を指定してないときに出て、Generics使えということを意味する。
>>605 タイムアウト値を延ばすっていう解決法でいいんじゃないかな。
再送問題が解決したところで、タイムアウトしたらユーザは、
困っちゃうわけだし。
くさいのはポップアップウインドウの有無っぽいね。
ポップアップウインドウを出さないでダウンロードして、
結果を見てみて欲しいです。
ってそんな暇ないか。
609 :
nobodyさん :05/02/21 06:41:43 ID:1JV3lS7H
サンプルとか見てるとたまに aa.getbb().getcc("/dd/eee.jsp").forward(request,response); とかワケ分かんない構造の書き方があるんですけど、こういう「.」の連続ってどういうことですか。 ()の中の引数が入れ子になってるなら意味はわかるんですが。 Java始めたばかりなんで、これがどんな順序でどう動くのかわけがわかりません。 教えて下さい。お願いします。
>>609 見たまんま。書いてある順序に呼ばれる。
その例だったら
aaのgetbb()の戻り値に対してgetcc()が呼ばれて、さらにその戻り値に対してforward()が呼ばれる。
おおかた、元は
getServletContext().getRequestDispatcher("/dd/eee.jsp").forward(request, response);
だろうと予想してみる。
contextっておまいさんたちは何て解釈してる? いまいちパシッと上手い日本語で理解できないんだけど。
servletをパシッと上手い日本語で理解できるようになったら教えてやる。
sessionをバシっと(ry
まじめに考えてくれよ。
まじめにバシっと(ry
617 :
nobodyさん :05/02/22 05:40:35 ID:SYyOf3+M
Tomcat4.0を使ってWebアプリケーションを構築しています。 JSPをIEで表示しようと思っているのですが、全部表示されなくて 最後の方は"<h3 class"のような感じで締め括ってしまいます。 HTMLを書き換えてJSPにしました。HTMLを書き換えたのは前半部分のみで、 後半部分("<h3 class"のあたり)は一切手を加えていません。 当然、IEにHTMLを表示させると正しく表示されます。しかし、JSPだと "<h3 class"の部分はそのままなのに、そこで表示が終わってしまいます。 何が原因なのか分かりますでしょうか。よろしくお願いします。
将来の為に勉強中なのですが、以下の点について質問させてください。 簡単なWeb通販システムみたいなものを作っているのですが、よくある 送信ボタン押下後、ユーザにメールを送信して、メールに書かれたURLにアクセス して決裁ボタンを押すと通販処理完了。 の部分について、なにか良いサンプルページの掲載されている所をご存知ないで しょうか?しなければならない処理は漠然と浮かぶんですが・・・ 漠然とした質問ですみません。
>>620 サンプルも何も、普通にその文章の通りシステム組めばいいじゃん
>619 何から手を付けたらイイのか判んない℃素人なんですよ・・・ ところで、肝心なことを書き忘れていました。 apache1.33.3 + tomcat4.1.31 ( & postgreSQL ) JavaBean+jspで、メール送信前の「確認」btn押下前のところまでは見よう見まねで 作ってあります。
>622 ちっとも肝心じゃないし、 >617も文章が曖昧で意味不明です。 まず日本語を何とかしてください。 とりあえず一行一行削っていけば原因が分かるのでは?
jsp/サーブレットって、初心者にはいまいち挙動不審なところがある。 どう考えても動くはずの単純なアプリをつくってもなぜか文字化けしたり動かなかったり。 ならばやはりファイルがどれかおかしいんだろうなと思って、 別フォルダを作ってそこに一行削ったり張ったりしながら再構築していく。 すると結局、ファイルもフォルダ構造も元アプリのものと全く同じになって、 実質、ルートフォルダの名前を変えただけの状態なのに、こっちは上手く動いたりする。 もちろんTomcatの再起動とかはしてるのに。ワケがわからない。
>623 いや、削るも何も、まだ該当部分を処理するコードは1行も書いてないんですが・・・ これから書くにあたって、勉強になるようなお勧めの参考ページはないでしょうか?って 質問だったんですが・・・
なんかここバカばっか。
とりあえずWeb/CGIの原理辺りから勉強した方が良いような希ガス 将来の為にJSP/servletを勉強してるのなら基礎知識は大切だ
>625 何かをどう書き換えたかは分からんけど、戻したらどうだ? HTMLだし、正常に表示されるまで削ったらどうだ?やることまだあるだろう。 ソースもないしどこがおかしいかって言われても、答えようがない。 まあエスパーしてみると「"」閉じられてないとか。 >これから書くにあたって、勉強になるようなお勧めの参考ページはないでしょうか?って >質問だったんですが・・・ これは>617や>622のどこを読めばそのような情報を得られるか、ぜひご教授頂きたい。 サイトより、入門書を買って一から勉強しなおしたほうがいいと思う。
しかし、623はどこを読んで「書いたコードが動かない」と解釈したんだろうか。 ちょっと気になる。
623=628? なんか必死だな。 漏れも620は未だ全然コードを書いてない段階だと思ったが。 という訳でアドヴァイス。参考書買え >620
えー623だが、おれはコードとは言ってないが、、? お前らがどこをどう読んで(ry <h3 class"のあたりが問題というなら、そこを削ってみたのか?と思ったわけで、 HTMLに問題がないことを確認してから初めてこのスレの範疇になると思うが。
どうでもいいから、contextのことを皆は何て解釈してるか 早く教えてくれないかな。
>632 考えるな、感じろ
>>624 初心者がTomcat+エディタ+javacで練習するなと。
NetBeans使え。
初心者だからこそシンプルな構成で勉強した方が分かりやすくない? エクリプスとか使うとむしろそれ特有のまた別の問題とか出てきて 問題の切り分けができにくくなるから余計に躓く要素が増えそうなんだけど。 その点NetBeansってよくできてるのかな? よかったらメリットを上げてくれないか。
>>635 EclipseはWebアプリケーション作るのに躓く要素が多いけど、NetBeansならTomcatも一緒にインストールされるし
Webプロジェクト作成して新規作成でJSP作って実行すれば動く。
Tomcatの再起動が必要なら、勝手にやってくれる。
最初は、どんな場合にTomcatの再起動が必要かということより、どうやってサーブレットとJSPの連携するかとかで悩んだほうがいい。
WEB-INFフォルダが小文字になってて動かなくて悩むのは時間のムダ。
サーブレット/JSPが動く環境を作るのに悩むより、サーブレット/JSPが動く環境でうまく動かなくて悩むほうがいいってこと。
サーブレットのクラスをWEB-INF/classに入れてうまく動かなかったりね。 とにかく、最初のサーブレットやJSPが動くところまでは、簡単に用意できたほうがいいと思う。 NetBeans使って最初の段階でつまづくとしたら、サーブレット作ったときにURLマッピングに「test」とか、「/」で始まらないものを指定したときくらい。 URLマッピングには「/test」と指定しろ、と。 配備の方法とか、web.xmlの書き方とかは、サーブレット/JSPにある程度なれてからでいいと思われ。
639 :
nobodyさん :05/02/23 02:11:13 ID:nsPJDfPN
「今日からつかえるJSPサーブレットサンプル集 JSP2.0+サーブレット2.4対応版」
という本を参考に勉強してます。同じ本を持ってる方などおられましたら教えて頂きたいのですが、
2章のサーチエンジンを利用する一番最初のサンプルが上手く動きません。
著者のサイトでも質問しているのですがレスを頂けないのでこちらにも失礼します。
アプリ本体のJSPは付属のソースそのままで、
「web.xml」と「common.jsp」のみ、このサンプルの実行に最低限必要と思われる部分だけ抜き出し、
単純化して使っているのですが、以下のエラーが出ます。
やっていることしては、単に@page,@taglibディレクティブを書いたcommon.jspを、
アプリ内のjspページ共通のヘッダとして使用するために
web.xmlのjsp-configに記述しインクルードしているだけです。
絶対URI:
http://java.sun.com/jsp/jstl/core はweb.xmlとこのアプリケーションを配備したJARファイルのどちらかでも解決できません
このタグのuriは、付属のサンプルソースを見てもweb.xmlに関連付けの記述がないようなので、
まねして自作のweb.xmlには何も書いてませんし、
アプリフォルダ内にtldファイルも置いてないっぽいので、自作の方のフォルダにも何も置いていません。
そもそもサンプルではなぜそれで動くのか分からないのですが、
これらのタグは標準的に組み込まれているものなのでしょうか?
であればなぜ自作の方は「見つからない」的なエラーが出るはおかしいような気がしますし。
どなたか教えていただけると助かります。
Tomcatは5.5.4です。
640 :
639 :05/02/23 02:12:38 ID:nsPJDfPN
以下ソースです。
///////////////////////web.xml///////////////////////////////////////
<?xml version="1.0" encoding="UTF-8" ?>
<web-app xmlns="
http://java.sun.com/xml/ns/j2ee "
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd "
version="2.4">
<display-name>WebApp</display-name>
<description>WebApp</description>
<jsp-config>
<jsp-property-group>
<display-name>JSP Config</display-name>
<url-pattern>*.jsp</url-pattern>
<el-ignored>false</el-ignored>
<page-encoding>Windows-31J</page-encoding>
<scripting-invalid>false</scripting-invalid>
<include-prelude>/common.jsp</include-prelude>
</jsp-property-group>
</jsp-config>
</web-app>
///////////////////////common.jsp//////////////////////////////////////////
<%@ page contentType="text/html;charset=Windows-31J" %>
<%@ taglib prefix="c" uri="
http://java.sun.com/jsp/jstl/core " %>
standard.jarとjstl.jarをWEB-INF/libに置いてない。
642 :
639 :05/02/23 15:59:52 ID:nsPJDfPN
>>641 できました。。。丸一日悩んでたので助かりました。ありがとうございました。
ところで、jarは「タグの処理ロジックを記述した本体ファイル」とのことらしいですが、
なぜstandard.jarとかjstl.jarはweb.xmlに配置登録などしなくてもよいのでしょうか?
なんかこの本で扱っている他の自作っぽいタグは
.tldファイル(処理本体)と、.jar(or .class)(タグのディスクリプタ)と、web.xmlへの登録で
ワンセットのようなのですが。
今まで、 servlet→dispatcher.forward→jsp→POST→servlet..... という流れでちゃんとセッション管理が出来てたんだけど、急にcookie使用禁止 にされたもんで、 servlet→redirect(encodeRedirectURL)→jsp→POST→servlet..... と修正したら全然セッション管理されなくなって orz getSession()の度に新しいsessionが出来てSessionIDが変わるんすよ。 req.getRequestDispatcher("hoge.jsp").forward(req, res); ↓ res.sendRedirect(res.encodeRedirectURL("hoge.jsp")); と変えるだけじゃダメなん?(この行以外については全然修正してない) ちょっとソース全部を載せるのは大き杉なんでゴメン。
>>643 なんでCookieが使えないからという理由で
フォワードをリダイレクトに変更しなければいけないのか?
理由がわからん。
で、セッションが維持できなくなる理由はそこじゃなくて JSPのフォームの送信先。 <form action="/hoge/huga"> を <form action="<%= response.encodeURL("/hoge/huga") %>" > などにする必要がある。
>643 さらっとググって見たら、 「cookieが使えない場合はURLを書き換えて(Rewriting?)SessionIDをやりとり します」って書かれてて、その例が例外なく res.sendRedirect( res.encodeRedirectURL(strURL)); だったもので。 req.getRequestDispatcher(res.encodeRedirectURL(strURL)).forward(req, res); じゃ駄目なんかなーと素人ながら思ったんだけど、そんな例は無かったし。
>645 まさにその修正でちゃんとセッションが維持されるようになりました。 ありがとうございます! 645氏にアラーの神のご加護がありますように。
>>646 あのね、フォワードの動作を理解していたら
Cookieが使えないという理由でそこを直す必要なんかないことぐらいわからないのか?
そこはそのままでいいんだよ。
そのままというのは ・一切修正の必要なし ・エンコードしたURLにフォワード のどっち?
>>649 フォワードがどういうことか考えればわかるだろ?
一切の修正の必要なしだ。
なぜエンコードする必要があるんだ?
その場合、cookieを使わずにどうやってsessionIDをクライアントに届けるんでしょうか?
>>651 フォワードはクライアントにレスポンスが返らない
コンパイルが通らないのですが javax.mail.internet.mimeutilityって どのjarに入ってますでしょうか?
>>653 JavaMailのライブラリ。jarファイル名は実装によって様々。
655 :
653 :05/02/24 00:39:47 ID:jlmyi7vD
>>654 ありがとうございます。mail.jarってやつでした。
それでまた質問なんですけど、
これをコンパイルするのにCLASSPATHを通したいわけですが、
いろいろな「〜.jar」が入ってる「〜WEB-INF\lib」フォルダを
コントロールパネルの環境変数で登録してもなぜかうまく通ってくれません。
「〜WEB-INF\lib\mail.jar」のように完全に個別のファイル名まで
書かないとコンパイルが通らないのです。
どこで調べても普通ならフォルダまででOKっぽいのですが、
なにか考えられる原因はありますでしょうか?
OSはW2Kを使っています。
環境変数使うな
>>655 > どこで調べても普通ならフォルダまででOKっぽいのですが、
調べ方が悪いか、嘘や誤解を招く資料しか見てないか。
jarファイルはファイル名まで含めないとダメだぞ。
> コントロールパネルの環境変数で登録しても
そんなところで設定するのはおすすめできない。
必要なクラスパスはコンパイル時と実行時でも違うし、
アプリケーションによっても違う。
アプリケーションによって同じ名前の違うバージョンのクラスを
必要としたときに衝突する可能性があるぞ。
>環境変数使うな /つ_∧ /つ_,∧ 〈( ゚д゚) |( ゚д゚) ヽ ⊂ニ) エェ ── ッ !? ヽ__と/ ̄ ̄ ̄/ |  ̄\/___/ ̄ ̄ ∧_∧ ∧_,∧ ( ゚д゚) ( ゚д゚) ( ) ・・・って最初聞いたときは思ったけど、 (__ / ̄ ̄ ̄/ | 分かってみれば当然だよな。  ̄\/___/ ̄ ̄
659 :
653 :05/02/24 01:13:30 ID:jlmyi7vD
環境変数使わないとなると、どこで設定すればよいのでしょうか?
Java classpath コンパイル あたりで検索して一件も引っかからなかったらここに書き込め そうでなければ誌ね
661 :
653 :05/02/24 01:38:41 ID:jlmyi7vD
知ってるならまとめて簡潔に教えてくれたって良いじゃない。
>>661 はぁ?なんで俺がそこまでしなきゃならんのだ?
俺はお前のツレか?
詩ね!ハゲ
じゃあ他の人に聞くからいいや。ここ質問スレだし。
>>660 のように親切に誘導してくれているレスを踏みにじる様な奴に回答するバカはここにはいない。
>>665 このスレは、調べれば簡単にわかるような事を糞丁寧に教えてくれる場所ではない。
そういう場を求めているなら、高い金だして学校に通え。
別にあんたが教えたくなきゃ教えなきゃいいだけ。 あんたの解答基準を勝手に一般化すんなよ。 別に糞丁寧じゃなくていいからヒントでも掻い摘んで教えてよ。 今の所Antっての発見したけどなんか面倒そう。 IDE導入したらプロジェクトごとにもっと楽に設定できたりしますか?
>>667 まぁ回答者がいるかどうかは、時間が経てばわかる事だな。
気長にじっくりと待つんだね。
俺はパス
>>668 だからそれだったら黙っててくれりゃいいから。
いちいち周りをそうやって誘導しなくても良いよ。
>>669 誘導??可笑しな事をいう人だなぁ
俺はただ単に、君に自分がどれだけ甘えたバカな事を言っているかを説いているだけだよ。
自分で調べる気がないのなら、PCを窓から(ry
余計なお世話だから氏ね。
ワロタ
明日になれば、
>>662 以降は僕ではありません。とかって
>>653 が何食わぬ顔で出てくるに1024java
うぜぇんだよ粘着野郎
バカじゃねーのくだらねぇ。 おめーのいつもの手口を披露してんじゃねーよ。
Webの開発とGUIの開発は、NetBeansが一番楽。 ライブラリの追加も「プロジェクトのプロパティ」「ソースのコンパイル」「JAR/フォルダの追加」でOK いまさらjavacコマンドとか、よっぽど制限された環境か、Javaに慣れてコマンドラインが手にしっくりくる人以外使うもんじゃない。
>>676 >>677 そうですか。せっかくTomcatとかインスコしたのにIDE導入すると
またいろいろ開発環境セッティングするまでが面倒だなと思って躊躇してたんですが
これで踏ん切りつきました。ありがとうございました。
ちなみに、NetBeansインストールすればTomcatも同時にインストールされる。 なにも面倒はない。 最初のサーブレットを動かすのに必要なのは、通常のソフトウェアと同じ手順でのNetBeansのインストールと、プロジェクトの作成とサーブレットの作成と実行。 その間入力するのは、プロジェクト名とサーブレット名くらい。
myjavaserver鯖を借りたのですが クラスファイル等の配置などがうまくできてないようで サーブレットとしてアクセスできません 自分の開発はTomcatだけでやっているので そもそもの設定の仕方が違うのでしょうか よろしければご教授ください
myjavaserverって何
知るかよそんなもん
>>680 何がどううまくできていないんだ?
あと、tomcatのバージョンによって設定も多少異なってくるし。
685 :
nobodyさん :05/02/27 00:56:39 ID:ivfX4Wx0
どしろーとですが、教えてください。 WebSphereとApache Axisって同じ役目をしているのですか? WEBサービスに関して調べているのですがいまいち分かりません。 釣りじゃないです。
ちがいます。 WebSphereでApacheAxisと同じ役目はできますが、逆はできません。
687 :
685 :05/02/27 03:31:35 ID:ivfX4Wx0
WebSphereでできるどのようなことが、ApacheAxisでできない のですか? 教えてください・・・。 調べてみたところ、どちらもWebサービスとクライアントを 作成できるのではないのですか?
WebSphereってアプリケーションサーバでしょ。httpのやりとりからservletやEJBのコンテナでもあるわけでしょ。
>>687 Axis の機能量を 1 とすれば、WebSphere は 1000 くらいだな。
同じ機能で、アホみたいな金額取れるわけねーからな。
っちゅーか、乱暴に言えば、比較するなら規模的に
Apatch 傘下プロジェクト全部と WebSphere だな。
>>689 それは乱暴すぎかと。半分くらいにまけてくれ
691 :
nobodyさん :05/02/28 04:51:50 ID:GROreEWY
NetBeans4.0(日本語版)を使い始めてみたんですが、 classesフォルダに入ってるJavaソースを個別にコンパイルしようとしても 「構築」→「ファイルをコンパイル(F9)」が反転してて押せません。 もちろん目的のファイルは選択状態にしています。 コンパイラの指定とかしないといけないのかと思ってオプション等を覗いて見たのですが 「Building」の欄は項目がAntの設定しかないみたいですし、、、他にそれらしき項目もなさそうです。 どうしたらよいのでしょうか。
スレ違いな気はするが、基本的には設定の必要はないし、コンパイルしてあってもメニューは選択可能だし、謎だね。 一度NetBeansを再起動してみるとか。
あ、JDKじゃなくJREをインストールしているとか。
694 :
nobodyさん :05/02/28 16:47:50 ID:GROreEWY
再起動しても再インストールしてもダメでした。 英語版にしても変わらず。 もちろんインストール時にJDKは指定してます。 なんでこんなことでつまづかなきゃならないのだろう。。。
695 :
694 :05/02/28 21:26:43 ID:???
.javaファイルはsrcフォルダに入れたらコンパイルできるようになりました。 いままでWEB-INF\classesに直接入れてたのが悪かったみたいです。
696 :
694 :05/02/28 21:27:26 ID:???
697 :
nobodyさん :05/03/01 14:22:32 ID:uFS6gP5Y
コネクションプーリングを定義したファイルをアプリケーション単位で適用したい場合、 Tomcat5.0の頃に書かれた本だと 「Tomcat_Home/conf/Catalina/localhost」に 「アプリ名.xml」の形で置くと説明しています。 Tomcat5.5の頃に書かれた本だと 直接アプリフォルダ配下のMETA-INFにcontext.xmlとして 置いてるみたいです。 この方法は5.0だとまだ使えない(対応してない)でしょうか? 試してみたんですがうまくいきませんで、 対応自体していないのか、他のどこかにミスがあるのか原因がつかめません。 どなたか教えて下さい。お願いします。
699 :
nobodyさん :05/03/01 15:08:08 ID:Hl+Khw7N
サーバにアクセスした端末のIPアドレスを取得したいのですが わかりません・・・ InetAddress.getLocalHostだと自分(サーバ)のアドレスになってしまうし。
700 :
697 :05/03/01 15:08:49 ID:???
>>698 すいません、ちょっと意味が…
お聞きしたいのは5.0はMETA-INF下にcontext.xmlを置く方法に
対応してるかどうかという事であります。
更にもう一つ付け加えたいのですが、
どうもそれぞれ内容の書き方も違うみたいなのです。
これはバージョンの違いによる仕様変更と考えていいんでしょうか?
5.0の頃に書かれたサンプルは、
<parameter>
〜
</parameter>
で一つ一つ設定値がくくられおり、かなりXMLチックで長いです。
これに比べて5.5の頃に書かれた新しい本では
<Resource … />
の中で全部まとめて書かれていて短いです。
>>700 個別の本のことなんか知らん。
> お聞きしたいのは5.0はMETA-INF下にcontext.xmlを置く方法に
> 対応してるかどうかという事であります。
だから、配備のときに反映される、と。
反映されることがあるんだから、対応してることになるんだろうな。
つか、5.5の頃にかかれた本、とか言われてもなぁ。
703 :
697 :05/03/01 15:25:37 ID:???
>>701 >反映されることがあるんだから、対応してることになるんだろうな。
そういうことですか。ありがとうございました。
>個別の本のことなんか知らん。
本の問題というより
Tomcatのバージョンによりコネクションプーリングの書式に
違いがあるかどうか、という事をお聞きしたいのであります。
あるから違うのか、
ないけど別の理由で変えているのか、
どっちの方法で書いてもいいのか…
両方試せばいいじゃない
705 :
697 :05/03/01 15:58:06 ID:???
いろいろ試してるんですけど、上手くいってないです。 どこかミスがあって自分が悪いのか、バージョンが対応してないのか、 問題の切り分けが出来ないので時間が勿体無いです。
>>699 なんでInetAddressなんかに行き着いたんだ?
そういう場合普通はHttpServletRequest見るのが筋じゃないか?
708 :
nobodyさん :05/03/02 00:10:09 ID:UQuYUU2o
.javaのimplementsで取り込んでいたインターフェースを、 jspでも使いたいんですが、どーすればいいんでしょうか? jspからはインターフェースって参照できませんか? クラスに作り変えるしかないですか??
>>708 おおぉ!ありがとうございます。できました。
javaでimplementsしたときと同様、変数名だけで参照しようとしていたのが敗因でした。
<%=インターフェース名.変数名%>
と、インターフェース名もつけることで参照できました。
感謝です!
importしてないし・・・。 変数まとめるだけのインターフェイス作ってるし・・・。
713 :
nobodyさん :05/03/03 21:27:13 ID:Hyslfu2a
714 :
nobodyさん :05/03/05 17:15:36 ID:Wo+eXXh9
Tomcat5.0とMySQL4.1で掲示板のサンプルを試してるんですが、 掲示板の投稿を保存したデータをBeansを通しデータベース内から読み出し、 jspに表示してみると??????などのように文字化けしてしまいます。 jspページ内の他の文字要素(ページタイトルとか「投稿者名」「記事内容」等々)は 普通に表示されており、文字化けしているのはデータベースから読み出した 文字だけです。 コマンドプロンプトからデータベース内を直接見てみると 記録自体は文字化けせずに正しくできているようです。 なのでフォームからBeanに渡してデータベースに書き込むまでは 上手くいっているはずなので、問題は読み出し時にあると思うのですが… データベースから読み出す時に文字コードを指定する手続きとかって 必要でしたっけ?(そういう命令とかありましたっけ?) もしくは他になにか考えられる原因などはありますでしょうか?
715 :
nobodyさん :05/03/05 23:20:58 ID:Xmv/4rx/
ていうか連携させるくらいならApacheでCGI動かせばいいじゃない
>>716 iアプリで使ってるから同じドメインで
jspとcgiが動かないと困るんですよー
何で連携させるとドメイン変わるんだ(;´Д`)?
>>718 cgiはapache
jspはtomcat
なんて設定同じドメインでできるんすか?
ドメインの意味を理解してないのかこいつらは…
>>720 その質問には「できる」と答えておく、
けど、お前はドメインの意味をはき違えていると思う
>>721 その解凍から考えると俺がやろうとしてることはできないということでFA?
知るかよ
>>720 あなたが言っている「ドメイン」というのは、DNSアドレスのこと?
例えば、"pc5.2ch.net" みたいな?
とりあえず、Servlet/JSP の前にネットワークの勉強しようぜ
>>715 ApacheとTomcatを連係させるためにはmod_jk2 というのが必要。
後はググれ。
727 :
nobodyさん :05/03/06 20:42:47 ID:uqVKdTuZ
というか、「apache tomcat」 でググればすぐでてくるぞ。 後、最近は mod_jk2 よりも、jakarta-tomcat-connectors-jk2 の方が 通りがいいかもしれん。
あのぉ・・JK2は非推奨になってますが・・・
JSTL関連でトラブッてるのですが質問はここでよろしいですか?
JSTLを利用してXMLの操作を行おうとしているのですがうまくいきません。
サンプルの
http://localhost:8080/standard-examples/xml/Parse.jspは動くのですが 、このソースをコピーしたものを使ってもエラーが出ます。
エラーは
[Fatal Error] jstl::1:1: Content is not allowed in prolog.
StandardWrapperValve[jsp]: サーブレット jsp のServlet.service()が例外を投げました
org.xml.sax.SAXParseException: Content is not allowed in prolog.
〜以下略〜
といった感じです。また
<c:set var="xmlText"><test></test></c:set>
<x:parse var="a" doc="${xmlText}" />
の時はエラーが出ますが
<x:parse var="a" doc="<test></test>" />
の時はエラーが出ません。
環境はTomcat5.028、JSTL1.1.2+Eclipse3.0+Tomcatプラグイン+StrutsIDEです。
HTML(HyperText Markup Language) Webページを記述するためのマークアップ言語 現在はホームページなどを記述する為の言語と理解されています。 ホームページ(Webページ)はIE(インターネットエクスプローラ) ネットスケープ、オペラなどあらゆるブラウザで閲覧できます。 ただし利用するブラウザで同じように表示できない場合もあるので HTMLで作成したホームページ(Webページ)は注意がひつようです。
732 :
nobodyさん :05/03/07 01:10:50 ID:hhpd6BQB
すいません。質問です。 現在Webアプリケーションの開発をしております。ブラウザの閉じるボタン(×ボタン)を クリックした時に特定のアクションを起こさせることってできますか? ×ボタン押下時にJAVAスクリプト関数を呼び出して、そこから特定の処理をさせたいのですが・・・
スレチガイ
734 :
715 :05/03/07 06:50:16 ID:???
質問答えてもらって申し訳ないんですが、 元質問の意味がいつのまにか変わってます mod_jk環境でCGIも使いたいってことなんですが
以下のページの、「10. HttpSessionにはビジネス・ロジックに必要な最小限のデータだけを保管すること」
の後半に、
> また、HttpSessionの永続化は忘れずに動作させること。
と書かれていますが、この、「HttpSessionの永続化」というのは、
具体的にはどういったことを指しているのでしょうか?
つまり、WebSphere かなにかが持っている「HttpSessionの永続化機能」をON にするということなのか、
単に、アプリケーションに永続化処理をきちんと記述しろということいっているのか、
どちらなんでしょうか?
@IT > Java Solution > J2EEのベストプラクティス・トップ10(+2)(後編)
http://www.atmarkit.co.jp/fjava/rensai3/devworks04/devworks04_3.html
ポイ使ってエクセルファイルを編集してブラウザに返す処理について うまく行かずに悩んでるんです。 テンプレのエクセルを加工して、それをブラウザに返す処理なんです が、取りあえず大まかな流れは ----- response.setContentType("application/vnd.ms-excel"); ServletOutputStream st = response.getOutputStream(); FileInputStream in = new FileInputStream("sample.xls"); POIFSFileSystem fs = new POIFSFileSystem(in); HSSFWorkbook wb = new HSSFWorkbook(fs); in.close(); (ここでworkbook編集) workbook.write(st); st.flush(); ----- これじゃダメですかね?真っ白なExcelしか開かないんですよ。 所でポイって、一番最初にエクセルファイルを全部メモリに読み込む んですよね?ファイルのサイズとか気にしなくても大丈夫なんだろう か・・・
>737 自己レス Excelシートの構造が問題だったようです。同一ソースで別のExcelファイルだと全く問題なく 動いたので。 しかしそうなると業務でポイを使うのはちょっと気を使うな。 だれか、実際の業務でポイを使ってる人とかいませんか?
JSPとjstlを使って、TEXTフォームの内容をMYSQLへ入れたり出したりする 練習をしてるんですが、改行がうまく復元できないで困っています。 TEXTフォームに書き込んだ改行を含む文字列を、そのままMYSQLの TEXT型カラムが一つだけのテーブルにinsertします。適当に何個か入れます。 プロンプトで見てみると、どれもきちんと改行を保って格納されています。 それを、↓のような感じで全部読んで表示してみているのですが、改行が無視されます。 生成されたhtmlソース自体は改行されているのですが、 行末に</br>とかついてないのでブラウザの表示上は当然改行されてません。 こういうときはどうしたらよいのでしょうか? <c:forEach var="row" items="${rs.rows}"> <c:out value="${row.kakiko}" /></br> </c:forEach>
>738 まずそのふざけた言い方直してからだな>ポイ。 人に質問するときにそんな脳内言語使っていいのか? ちなみに普通に使ってる。
741 :
738 :05/03/09 11:43:08 ID:???
>740 きゃーきゃはははははwwwwwwwうhわははははあwwwwww 言っちゃったね?言っちゃいましたね?いいんですか? 言ってもいいんですか?いいんですね??Wwwwwwwww じゃああなたwPOSのことをポスって言わないんですねw WEBのことをウェブwROMのことをロムって言わないんですかw 言いますよねw言ってますよねwきゃははははhwwwwwwww POIはどうやったってポイですよねwwwwwww ホントにいいんですかwwwwwいいんですねwwwwうわははっはww
業務とか抜かす前に病院に逝け、手遅れになる前にな。
JSPとjstlを使って、TEXTフォームの内容をMYSQLへ入れたり出したりする 練習をしてるんですが、改行がうまく復元できないで困っています。 TEXTフォームに書き込んだ改行を含む文字列を、そのままMYSQLの TEXT型カラムが一つだけのテーブルにinsertします。適当に何個か入れます。 プロンプトで見てみると、どれもきちんと改行を保って格納されています。 それを、↓のような感じで全部読んで表示してみているのですが、改行が無視されます。 生成されたhtmlソース自体は改行されているのですが、 行末に</br>とかついてないのでブラウザの表示上は当然改行されてません。 こういうときはどうしたらよいのでしょうか? <c:forEach var="row" items="${rs.rows}"> <c:out value="${row.kakiko}" /></br> </c:forEach>
下らないこと書いてる暇があったら教えてください。 JSPとjstlを使って、TEXTフォームの内容をMYSQLへ入れたり出したりする 練習をしてるんですが、改行がうまく復元できないで困っています。 TEXTフォームに書き込んだ改行を含む文字列を、そのままMYSQLの TEXT型カラムが一つだけのテーブルにinsertします。適当に何個か入れます。 プロンプトで見てみると、どれもきちんと改行を保って格納されています。 それを、↓のような感じで全部読んで表示してみているのですが、改行が無視されます。 生成されたhtmlソース自体は改行されているのですが、 行末に</br>とかついてないのでブラウザの表示上は当然改行されてません。 こういうときはどうしたらよいのでしょうか? <c:forEach var="row" items="${rs.rows}"> <c:out value="${row.kakiko}" /></br> </c:forEach>
\nを<br>に置換すりゃいいじゃん つうか自分でそう書いてるじゃん
747 :
nobodyさん :05/03/09 18:44:41 ID:ftQ8FpB8
>>746 ありがとうございます。
改行コード自体は残っているみたいなので、
${fn:replace(row.article, "\\n", "</br>")}</br>
とか
${fn:replace(row.article, "\\r\\n", "</br>")}</br>
などとしてみたんですが、うまくいきませんでした。
そこで、
${fn:replace(row.article, "
", "</br>")}</br>
として、改行コードを文字で書くのではなくて、
ソース自体を改行してみたら上手くいったみたいなのですが、
なんだか気持ち悪いですし、ダサいです。
こういう場合は皆さんはどうしてるんでしょうか?
参考に教えていただけると嬉しいです。
^
POIは「ポイ」だよ。Jakartaのお偉いさんがインタビューでそう発音してた。 もともとMS技術を小馬鹿にしたニュアンスを含んでいる名称だそうな。
750 :
nobodyさん :05/03/09 22:35:25 ID:1Nwn7b+o
質問します <%@ page language="java" %> <%@ page contentType="text/html; charset=Shift_JIS"%> <html><head><title>test</title></head> <body> <% request.setCharacterEncoding("Shift_JIS"); String strMes=request.getParameter("mes"); if(strMes==null){%> strMes==null <%}else{%> strMes!=null <%}%> <form action="test.jsp" METHOD="Post"> <input type="text" name="mes"><br> <input type="submit" value="go"> </form> </body> </html> テキストボックスから入力されたテキストが、空白かどうかを判別したいのですが、 テキストボックスに何も入力されないでサブミットされた場合、上のstrMesには何が入るのでしょうか? てっきりnullか""かと思ったんですがどうも違うみたいで・・・
751 :
750 :05/03/09 22:40:03 ID:???
あ、書くの忘れましたが上のファイル名はtest.jspです。 サブミットしたら自分のファイルにアクセスするようにしてます。
>てっきりnullか""かと思ったんですがどうも違うみたいで・・・ 上のソースじゃ""かどうかまでは判定してないだろが
753 :
750 :05/03/10 00:23:39 ID:???
>>752 これも書くの忘れてました。
if(strMes==null){%>
strMes==null
<%}else{%>
strMes!=null
<%}%>
を
if(strMes==""){%>
strMes==""
<%}else{%>
strMes!=""
<%}%>
に変えてやってもみたんですが
strMes!="" と判断されてしまいます
>>753 ここで質問する前にやるべき事があるようですね
何で比較するの? そのまま出力すれば?
757 :
750 :05/03/10 20:25:21 ID:???
昨日の質問ですが、自己解決致しました・・・ if(strMes==""){%> のとこを if(strMes.equals("")){%> にしたら狙い通りに動いてくれて、テキストボックスに何も入力されずにサブミットされた場合は、""が入るということがわかりました スレ汚しすいませぬ
758 :
nobodyさん :05/03/10 23:11:04 ID:FwNbWUOa
リクエスト情報にBeansのオブジェクトをセットしてJSPにフォワードするとします。 飛んだ先のJSPで、セットしたBeansオブジェクトのプロパティを取得する場合、 式言語を使うと${requestScope['beansobj'].hoge} とするだけで、ゲッターメソッドから勝手に取得してくれるみたいなのですが、 式言語を使わずに、普通にスクリプトレットで取得したい場合は どうやって書けばよいのでしょうか?教えてください。お願いします。
759 :
nobodyさん :05/03/10 23:43:47 ID:fDk5/oY2
CSV形式のデータを response.setContentType("application/atom"); response.setHeader("Content-Disposition","filename=200503102340.csv"); で出力して、「開く」を選んだ場合 .csv]200503102340[1] のようなシート名で開いてしまいます。 ダウンロードして開いた場合には、 ファイル名と同じ名前でシート名がはいっています。 開くを選んだ場合に、ファイル名と同じ名前でシート名を設定する方法を ご存知のかたがいらっしゃいましたら、教えてください。
760 :
nobodyさん :05/03/10 23:59:14 ID:fDk5/oY2
759の追記です。 ブラウザはIE6.0、エクセルは2002、2003で発生しています。 その他の端末環境は確認していません。 よろしくお願いします。
761 :
758 :05/03/11 00:08:06 ID:???
自己解決しました。
レンタルサーバでJSPを勉強してみようと思い立ち 現在契約しているサーバのスペックを調べたらapacheとtomcatと mod_jkがインストールされていました。 ところがブラウザでローカルホストの8080にアクセスできませんでした。 /etc/servicesを確認すると確かに8080は違うサービスが動いていたのですが、 他のポートで動いているのかと思いサービス名から探したのですが (apacheに乗らず)tomcat単体で動いている場合、サービス名は何になりますか? 例えば80→wwwみたいな感じで探したいんですが 環境redhat7.2です。
ローカルなのかリモートなのかはっきりしる
>>759 200503102340[1].csv ってファイル名で作るとそうなるから
エクセルの仕様だと思うけど。
[1]とかはIEがキャッシュするときに勝手につけてるから
どうしようもないんじゃ・・・
765 :
762 :05/03/11 12:17:27 ID:???
>>765 Apacheと連携させてるなら、一般的にTomcat(8080)へは
外部から直接接続できないようにしてるはず。
mod_jkの設定でApache経由で接続させましょう。
管理などで直接接続したい場合はsshでポート転送すればいいと思います。
あと、動いているサービスの確認は、
# netstat -anp
とかでないとできません。
心配なのが、その古いrh7.2がちゃんとメンテされているのかどうかです。
767 :
762 :05/03/11 19:06:22 ID:???
>>766 レスありがとうございます
netstatしましたがサービスは有効になっていないようでした
mod_jkの設定をみようとlocate mod_jkしたら
/usr/java/jakarta-tomcat-3.2.3/conf/mod_jk.confという設定ファイルらしきものがありました
jakarta-tomcat-3.2.3ってなんだよと思いつつlessで確認したところ
<IfModule mod_jk.c>
JkLogLevel warn
JkMount /*.jsp ajp12
JkMount /servlet/* ajp12
</IfModule>
…読み方がまったくわからんのでぐぐってきます。(´∀`;)
>>767 ちなみに何ていうレンタルサーバなわけ?
俺も興味あるんで教えて欲し
769 :
nobodyさん :05/03/12 17:51:31 ID:NMsvHl9/
Tomcat5でのJSPの文字コード指定について質問なんですが、 JSP一枚ずつ文字コード設定するのは面倒だと思い、文字コード設定のみを行ったJSPを他のJSPでincludeしています。 こんな内容のJSPを作って(ファイル名はcharset.jspだとします。) <%@ page pageEncoding="Windows-31J" contentType="text/html; charset=Windows-31J" %> んでこれを他のJSPの先頭で↓みたいにしています。 <%@ include file="charset.jsp" %> しかしこれを行うと思いっきり日本語が文字化け・・・。 JSPごとにいちいち文字コード設定入れれば直るんですが、このやり方ってそもそも駄目なんでしょうか? できれば文字コードは一箇所で設定変更できるようにしておきたいのですが・・・。 対処法、もしくは代替案があったらぜひ教えて下さい。 よろしくお願いします。
そもそもだめでしょう
771 :
nobodyさん :05/03/12 20:04:38 ID:NMsvHl9/
>>770 WebLogic Serverではこの方法で出来るのですが、Tomcatでは不可能、という事でしょうか?
>>771 JSPコンテナの実装依存だな。
動いてしまうことと、仕様として動くとことになっていることとは違う。
Tomcatでできないことはやらないほうがいい。
>>769 > 対処法、もしくは代替案があったらぜひ教えて下さい。
web.xml の locale-encoding-mapping で一括指定。
Tomcat 依存ではなく Servlet 2.4 仕様。
774 :
769 :05/03/13 01:43:03 ID:iOc5Vlj8
775 :
nobodyさん :05/03/13 13:51:46 ID:EHuTQNQa
Tomcat限定のしかも初歩的な質問なんだけど 社内システムで、ほぼ全てのコンテンツをServlet/JSPで生成する場合 (画像もほとんどなし)、ApacheとTomcatを連携させる意義ってあるかしらん? それともただの1つでも画像などの静的文書を含む限り、 連携させた方が効果的かな?
静的文書があるかどうかじゃなくて、 むちゃくちゃアクセスがあるとか、クラスタリングするとか、cgiつかうとか、 どれぐらい負荷がかかるかでしょ。 セキュリティ対応具合はよく知らないけど。
777 :
775 :05/03/13 18:45:04 ID:EHuTQNQa
レスありがとう
>>776 クラスタリング構成の場合と、cgiも使いたい場合ということですね。
アクセスが多い、負荷がかかる場合というのはクラスタリング前提の話、ということで
いいのかな?
つまりクラスタリング構成にしない場合、リクエストされるコンテンツのほとんどが
Servletだとしたら、Apache+Tomcat連携しても負荷分散の役には全く立たない、
という認識だけどこれは正しいでしょうか?
778 :
762 :05/03/13 21:02:20 ID:???
遅レスですが
>>768 アイル(GMO)です。
レン鯖板でスッゲー叩かれてたトコロなんですが…。
けっこう設定がむちゃくちゃだったり…。
(ノД`)
779 :
nobodyさん :05/03/14 09:52:14 ID:WWS4KC60
アプリ内の*.jspに対して、pageディレクティブなどを全部に書くと面倒なので 一つのjspに書いてweb.xmlの<jsp-config>内で共通のヘッダとして インクルードするように設定して使っています。 これと同じような感覚で、 アプリ内の*.tagファイルについても、定型の宣言(jstlとか)などを 一つにまとめて書いてインクルードする事はできないでしょうか?
780 :
779 :05/03/14 10:31:57 ID:???
書き忘れましたがTomcatは5.0です。 どなたかご存知でしたらよろしくお願いします。
781 :
nobodyさん :05/03/14 21:15:49 ID:wvCTDLy1
velocityってコンテナ介さずに使えるけどどうしてなんですか? ファイルサイズが変わってるとそれをパースしてリロードするだけ〜 と聞いたのですが、何かと文献漁っても情報不足&知識足らずでして・・・。
>>782 それは既に知っててやってるんでしょ?
で、それと同じことを*.tagファイルに対してやるにはどうしたらよいのか、と
そういう質問じゃないかと。
*.tagファイルってなに
>>783 jstlとか、って言ってるし、taglibディレクティブの事でしょ?
だったら
>>782 のリンク先で出来るって書いてあるじゃん。
pageディレクティブと同じJSPに書いて<include-prelude>で指定すりゃいんだろ。
include-preludeはjsp-configの中の要素なので .jspに対するインクルードしかできないのでは。 試してないから知らんけど。
>>786 え?だから<@taglib>を集めたJSPをinclude-preludeでインクルードすればいいって話じゃないの?
リンク先でinclude-preludeの解説でインクルードしているJSPがそんな感じになってるし、
>>779 も >定型の宣言(jstlとか)って言ってるから、
>>782 が言いたかったのはそーゆーことだと思ってたけど・・・。
もしかして*.tagファイルっつーのがあってそのファイル自体をまとめてインクルードしたいって事なの?
だから
>>782 は、
「汎用的に用いたい@taglibなどをまとめて書いた.jsp」を
「アプリ内の*.jspにインクルードする方法」。
質問は、同じようなものを*.jspじゃなくて「*.tagにインクルードする方法」。
include-preludeはjsp-configの要素であるからして、
jspファイルに対する設定なのではないかと。
*.tagに対する設定として使えるのかどうか。俺は知らん。
だから*.tagって何?
://programnet.hp.infoseek.co.jp/jsp&servlet/tagfile.html
Servlet を書くために、Tomcat/4.1.31 のバイナリディストリビューションをダウンロードしました。
正確には、ダウンロードしたファイルは、 jakarta-tomcat-4.1.31.zip です。
この中に入っている、servlet.jar の、ソースはどこで手に入りますか?
jakarta-tomcat-4.1.31-src.zip のほうもダウンロードしてみたのですが、
中に、ServletAPI のソースが見当たりません。
googleして、このページを見つけました。
http://muimi.com/j/eclipse/struts03.html このページに書いてある、「ServletAPIソースアタッチ」というところの
説明にあるURL
http://cvs.apache.org/builds/jakarta-servletapi-4/nightly/src/ にアクセスしたのですが、空っぽのディレクトリリストがあらわれます。
やりたいことは、Servlet 2.3 API のソースを手に入れて、
Eclipse で servlet.jar のソースとしてアタッチすることです。
792 :
791 :05/03/16 19:27:59 ID:PDVekXVe
あげさせてください。 お願いします。
>jakarta-tomcat-4.1.31-src.zip のほうもダウンロードしてみたのですが、 >中に、ServletAPI のソースが見当たりません。 お前が目久良なだけ
794 :
791 :05/03/16 23:22:45 ID:PDVekXVe
jakarta-tomcat-4.1.31-src.zip を展開したディレクトリツリーに対して、 HttpServlet.java というファイル名で検索をかけたのですが、 やはり見当たりません。 探し方がまずいのでしょうか。
>>788 *.tagなんてあったんだね。
無知でしたごめんなさいorz
799 :
nobodyさん :2005/03/27(日) 00:14:19 ID:09CLh+Ql
lombozでサーブレットのソースを変更しても何にも反映されません 同じ症状の人いる?
マルチには答えません
801 :
nobodyさん :2005/03/27(日) 00:42:36 ID:k/c/cYW0
このソースで、sleep 中にブラウザのストップボタンを押すと、doPost()が2回呼ばれるのですが、 なぜだか分かりますか? Apache+JK2+Tomcatだとこの現象が発生し、Tomcat単体だと発生しません。 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doPost <<Start>>"); try { Thread.sleep(10000); } catch (InterruptedException e) { } PrintWriter pw = response.getWriter(); pw.println("1"); pw.flush(); pw.println("1"); pw.close(); System.out.println("doPost <<End>>"); }
802 :
nobodyさん :2005/03/27(日) 01:46:30 ID:k/c/cYW0
>>801 IEだと2回走るのですが、ネスケだと1回です。
IEはストップボタンを押したら変な信号送ってるんですか?
804 :
nobodyさん :2005/03/27(日) 23:10:16 ID:k/c/cYW0
>>803 情報ありがとうございます。
やってみましたが、これを通すと、IEでも1回しか走らなくなりました。
残念ながら、違いを確認することができませんでした。
別のモニタリングツールってありませんか?
ServletでHttpリクエストによるファイルアップロードをやりたいんですが、 (クライアントのWebブラウザ→サーバ) クライアントからアップロードする際の帯域制限って、Servletのレベルで 可能なんでしょうか?httpdサーバはapacheでつ。 (素直にmod_bandwidth使うのがデフォでつか?)
807 :
806 :2005/03/28(月) 15:42:28 ID:???
commonsのfileuploadを改造すればできるか?と 思ったけど、そもそもapacheのレベルでレスポンスキューを 全部読み込んだ状態でfileuploadがparseかけてるから、 どうあがいても無理ぽ・・・という結論でよろしいでしょうか?
想像だけど、あちこちで細かくバッファリングはしてるだろうけど、 いったん全部読むなんてことはしてないと思う。 単純なPOSTデータをServletでちょっとずつ読んでみるとかで 試してみては?
810 :
806 :2005/03/28(月) 18:40:00 ID:???
動かしてみますたが、sleepでウエイト入れた分、 確かにダウンロード時間は長くなって一見帯域制限やってるっぽいんですが、 本当にそうなのか確信が持てません。 _| ̄|○
811 :
806 :2005/03/28(月) 21:08:02 ID:???
>>808 御助言ありがとうございます。
ググっていろいろ調べてみましたが、
帯域制御をServletレベルで行うつーのはナシみたいっす。
普通にApacheのモジュールで行うのが無難っぽいですね。
もとよりServletでトラフィック制御を行わなければいけない理由は・・・え?ある?
なんですってぇーーー?!
ぐはぁ、無理だ無理だよママン _| ̄|○
つーわけであと2日で私は失踪予定でつ;
その口調のせいで答える意欲がなくなった人間がここにいる
813 :
806 :2005/03/28(月) 23:50:06 ID:???
>>812 なんともかんとも、すみません。
おやすみなさいませ。
先方には帯域制御機能付のルータとスイッチ買えと言っておきます。
814 :
nobodyさん :2005/03/29(火) 01:49:04 ID:vUOi85dz
WEBアプリを開発しているものです。 文字化けについて質問します。 Tomcatを3.3.1aから4.1.31にバージョンアップしたのですが、"〜"文字を画面表示する際にが"!)"と化けてしまいます。 Tomcatのserver.xml,web.xmlの設定はインストール時デフォルトにアプリ用のコンテキストを追加しただけで 特に文字コード関連の設定は行っていません。問題なく表示されていたものが、バージョンアップにより文字化け するようになる原因、またアドバイス等ございましたら、よろしくお願いします。 その他ミドルウェアも以下のように変更しています。 環境 RedHatLinux7.2 Tomcat3.3.1a→Tomcat4.1.31 Apache1.3.27→Apache1.3.31 jdk1.4.1_07→j2sdk1.4.2.07
> 特に文字コード関連の設定は行っていません ありえない。特にJavaでWeb系の開発するなら、文字コードについて きっちり勉強してからだ。ネット上に情報はあり余るほどある。 書いてないところを見ると、何の文字コードで開発しているかも解って いないんだろ?
バージョンアップする際にに変更してないってことならそれほど問題ないような。 エンコードをどういう風に指定しているのか晒してみ>814 ていうかtomcat4でどういう風に指定するべきか調べてきたほうが早いか。
>>814 Shift_JIS と Windows-31J でぐぐってみそ。
818 :
nobodyさん :2005/03/30(水) 23:48:12 ID:EireGDek
>817 〜が化けているのではなく、 データベースはoracle9.2.0(Shift_JIS)で、DBに格納されている"〜£¬"をjava.sql.ResultSetのgetStringで取得時に、 "〜!)!)"となります。JDBCドライバは、JDK1.4用のojdbc14.jar,nls_charset12.jarを使用。
>>818 だからエンコードの設定間違ってる/やってないんだろ?
常道パターンだと…
・ソースやJSPはShift_JIS(CP932)で書いてcharsetはWindows-31J
・web.xmlのjavaEncodingにWindows-31J指定
・あとはServletのフィルタでWindows-31Jに変換
文字コードをダンプするなりして、何が行われているのか確認すればいいのに。
>818 ボラクル良く分からんが、DBから取り出した時点で化けてるなら、 それはShift_JIS使ってるからじゃない? ms932(Windows-31J)やUTF-8使ってみ。 ていうかTomcatのバージョンだけ変わったって話だったようだが?
Oracleから取得したデータを出力する時点でも変換がかかるから 化けてるかどうかは視認ではなくダンプデータが基本。
822 :
801 :皇紀2665/04/01(金) 23:12:54 ID:sDyCtp7e
どうやらJK2が悪いようです。WindowsでもLinuxでも起こる問題なので、 皆さんどうやって回避してるのでしょうか? Apache+JK2+Tomcatって一般的な構成だと思ってたのになあ。 結局、JK2はやめて、JKにします。
みんなNetBeansとEclipse、どっち使ってますか?
Apache でSSL使うとき、1つのIPで複数ドメインって定義できないのでしょうか?
NetBeans。
826 :
nobodyさん :2005/04/06(水) 00:39:32 ID:oNySr3Gj
appletの質問はこのスレでいいですか?
いまネットスケープ対応の署名アプレットを下のサイトを参考に作成しています。
ttp://hata.cc/docs/SignedObj/index.html SignToolを使って署名アプレットを作るところまではできたのですが、
配布する段階になって、アプレットをブラウザにダウンロードするタイミングで、
「java.lang.SecurityException:cannot verify signature block file META-INF/ZIGBERT」
という例外が発生します。
署名時に生成されたx509.cacertはブラウザにインポートしており、なぜこの例外が発生するのか皆目見当が付きません。
どなたか回避方法を知りませんでしょうか。
アプレットは違いそうだな。マ板の方がよくね?
ム板だった。
829 :
826 :2005/04/06(水) 08:06:03 ID:???
>>828 レスありがとうございます。
はじめにム板のほうを見てきたのですが、
該当するようなスレッドが見つけられませんでした、、、
ム板に限らず、appletについて取り上げているスレをご存じでしたら、
誘導して頂ければ幸いです。
831 :
830 :2005/04/06(水) 21:55:01 ID:???
あ、ちなみに、自分で、 Authorization: BASIC hogehoge を作ってヘッダーに挿入したら、tomcat側がexceptionを吐きました。orz
初心者加減が露呈しますがどうかご教授ください。
先日「はじめてのJSP&サーブレットプログラミング」を購入しました↓
http://www.amazon.co.jp/exec/obidos/ASIN/4798003123/250-8270605-2087416 この書籍にそって勉強してるのですが、この本の流れは同一の端末にTomcat MySQL Eclipse
を導入して開発するということになっています。でも実際にやりたいことは、開発はWindows端末、
WebサーバはLinuxで実現したいと思っています。
【質問】この開発環境の構築に参考になる書籍、ページ、キーワードでもいいのでヒントをください。
現在LinuxサーバはApache+Tomcat連携にDBはMySQLが動いています。動きますが放置してます(JDBCの接続テストだけしました)
Windows端末の方は上記書籍の内容にそって(TomcatとMySQLをしかたなく入れて)勉強してます。
こっちの端末は実際にはサーバとして使わないのでTomcatとMySQLを切り離したいです。
すいませんageさせてください。
>>832 DBホストをlocalhostじゃなくて、DBサーバの名前なりIPアドレスなりを指定すればいいじゃない
しかし、今更Tomcat4にMySQL3か。 とくにTomcat4は今からやるには情報として古すぎる。
>>832 Windows上でEclipse+Tomcat+MySQLの環境が正しく構築済みなら、順番に
切り離していけば特に問題は無いと思う。とりあえずデータベースの接続先を
LinuxのMySQLに変更するところからやってみれば?やり方が解らなければ、
どこが解らないか具体的に書くべし。
ただ、Tomcatはローカルにもあったほうがいいよ。リモートデバッグは遅すぎて
開発効率が悪いと思う。
> とくにTomcat4は今からやるには情報として古すぎる。 そうは言っても情報量としては一番多いだろ。 今から始めるにはTomcat5からというのは同意だけど、過去の書籍とか ネットの情報でTomcat4以前の情報がほとんど活用できないことを考えると 4から始めるのは悪くないと思うけど。
なんか勉強しなきゃいけなくなったんだが、 ASP.N○Tからするとあまりの原始ぶり、非効率ぶりにビックリしてもた。 よく暴動起きないもんだ。
単に原始的で非効率な勉強してるからでしょ。
840 :
832 :2005/04/18(月) 21:36:25 ID:???
>>835 学生のお勉強かよw
現状でTomcat使っての仕事なら、ようやくTomcat3.Xから4.Xに変わり始めた頃だろ。
Tomcat5なんて業務として使ってるところなんて皆無。
遊びでやるなら最新バージョンで、そういう仕事につきたいのなら2世代前のバージョンからってのは常識。
>>841 古くて狭い常識だね。
というか、勉強の話と運用の話を混同してるのが痛い。
>>841 仕事でやるなら、案件の性質と開発環境や開発しやすさと安定性を考慮して、適切なバージョンを採用するというのが常識。
やみくもに新しいバージョンを使ったり、逆にやみくもに古いバージョンを使ったりするのは適応性がない証拠。
さらに、自分のところの開発での傾向を常識として押し付けるのは愚の骨頂。
> Tomcat5なんて業務として使ってるところなんて皆無。 いつの時代の話しをしているのやら。 普通にTomcat5を使っていますが、何か?
とゆーか3って使えるのか?
さすがに3は無いだろう。今使うなら4か5で、 Web上に転がる資料は4の方が豊富、これから増えるのは5ってとこだろ 5.5はどうなることやら、
開発者MLを見ていれば、Tomcat4はもうずっとメンテされていないことは明らかなのだが、それでも使う?
枯れているって事だろ
>>848 おめでたいな。
もうメンテされないとドキュメントにも書いてあるよ。
で?
公式サイトの Tomcat 4.x のところに We encourage all users to upgrade to Tomcat 5.x whenever possible. とあるけどね。
>>853 セキュリティホールとかにはちゃんと対処されてると思うけど。
>>851 枯れているんじゃないんだ。廃れているんだ。
Tomcat5(Tomcat5.0.28)だとデフォルトでajp12のポート (同じくデフォルトで8007)をlistenしないようなのですが、 これを有効にするにはどこを有効にすれば良いのでしょうか? Tomcat3.x当時は org.apache.tomcat.service.connector.Ajp12ConnectionHandler あたりを有効にしたのですが...
857 :
nobodyさん :2005/04/28(木) 14:52:16 ID:JL7cKaDn
すみません。
tomcat5.0.28をWin2003サーバのサービスとして動かしたいのですが、なぜかサーブレットを認識してくれません。
jspはちゃんと読み込むのですが…。
理由としては、strutsなどは使用せず、かつ個々のアプリのweb.xmlを記述せず、invokerのデフォルトの
http://localhost:8080/hogetest/servlet/hogeServlet のような形で直接アクセスしようとしているからだと思います。
環境変数のCLASSPATHに、
%TOMCAT_HOME%\hogetest\WEB-INF\classes
を通しているので、サービスではなく、startup.batからtomcatを起動した場合には起こりません。
(startup.bat起動時にも、setclasspath.batの中でシステムの環境変数を
上書いているようなので、その中を修正しました)
サービスの時だけに使う環境変数などがあるのでしょうか?
なお、service.batファイルのPR_CLASSPATHに、%TOMCAT_HOME%\hogetest\WEB-INF\classesを
追加してみてもだめでした…。
わかりにくいので修正。 ×を通しているので、サービスではなく、startup.batからtomcatを起動した場合には起こりません。 ○を通しているので、サービスではなく、startup.batからtomcatを起動した場合には、サーブレットが動きます。
>>857 環境変数をいじるのは愚の骨頂。
1. invokerを使うな、web.xmlを書け。
2. invokerはデフォルトで無効になっているので、有効化しろ。
1.がベスト。どうしてもinvokerを使いたかったら2.。
環境変数でどうにかしようと考えるのは糞。
>859 助言サンクス invokerは有効化してるよ。だからサービス以外では動く。 諸事情でweb.xmlを書くなと言われてる。 だから漏れも困ってるんだよ…。
Eclipse関連スレって無かった?探してみたけど見当たらなかったんだが・・・ ネタ:画像ファイルをテーブルに切り貼りするときに夢波とか写真屋を立ち上げるのが面倒なので、 ライトな機能美のプラグインがありませんかあ?
862 :
857 :2005/04/28(木) 16:22:30 ID:???
自己レスだが、tomcatをServiceにチェック入れた状態で再インスコしたらうまくいきました。 なんだよそれ…○| ̄|_
>>861 Eclipseは、此処じゃなくプログラム板の方じゃないかと思うが・・・。
>>857 環境変数をユーザ固有のものに設定してるのでは?
デフォだとサービスはLOCAL SERVICEとかで実行されてる。
質問です。
Tomcat5.5なのですが、
jspでPathInfoを取得するには
どのようなurl-patternでマッピングすればいいのでしょうか?
866 :
プログラマをされている方にお尋ねします。 :2005/04/28(木) 20:03:11 ID:N9QivnjG
>>857 JAVA SUN APPSERVERを試してみたらいかがですか。DEPLOYTOOLでEAR,WARを構築して、VALIDATOR使えばそのような問題は予防できると思います。
「質問」
こちらで、サーブレットに詳しい方いらっしゃいますか。
・ユーザー(認証してセッション開始済み)が入力した変数(name, birthday)を受け取る。
・name, birthday の内容を含むPDFファイルを作成して、サーバー内に保存する(WEB-INFとは違う外付けHD)。
・PDFファイルを、同ユーザーのブラウザに出力する。
・同ユーザーだけには、再ログインした時に同じファイルの閲覧を許す。
この3行目が問題なのですが、setContentTypeに与えるMIMEの変数を工夫すればよろしいのでしょうか。
どなたか、解決策をご存知でしたらお助けくださいませんでしょうか。
宜しくお願いします。
あさか
PDFファイルをブラウザに出力するには AdobeのReaderインストールする必要がある。 実際に表示してるのはAdobeのActiveXプラグインか何かだった気がする。 クライアントの環境に依存するようだが ヘッダにContent-Disposition: inline を入れるとうまくいく場合もある
868 :
プログラマをされている方にお尋ねします。 :2005/04/28(木) 21:02:33 ID:N9QivnjG
>>867 早速のご解答をどうもありがとうございます。
response.setContentType("Content-Disposition: inline");
とするのでしょうか。多分、このような変数を指定するのだろうなと
思っているのですが、その後どうすればいいのかなと考えると、
どんどん分からなくなります。
もう、PDFファイルは外部HDに保存済みですから、サーブレットで
HTMLファイルを作って、そのHTMLファイルに上のような変数を
していして、それから外部HDからPDFを読み込めばよろしいのでしょうか。
あさか
>>868 少しは自分で調べたらどうだね?
response.setContentType("application/pdf");
// ↓ filename の所にファイル名を埋め込む
response.setHeader("Content-disposition","inline; filename=\"" + fileName + "\"");
// ↓これが無いと、https通信の際にIEで表示できない
response.setHeader("Pragma", "");
response.setHeader("Cache-Control", "");
response.setContentType("type")はresponse.setHeader("Content-Type","type")と同じ。 だからやるならresponse.setHeader("Content-Disposition","inline") Content-Typeの指定がどのていど影響あるのかはよくわからないな application/pdfかapplication/octet-streamあたりになるのだろうけど Googleとかで見つかるPDFをクリックした場合、ブラウザ内に表示される? されないならクライアントの環境に原因がありそう
あとURLの最後が.pdfじゃないとうまくいかないかも
872 :
プログラマをされている方にお尋ねします。 :2005/04/28(木) 21:16:09 ID:N9QivnjG
>>869−871 大変ご丁寧なご指導をどうもありがとうございました。 はい、ここまでご教示いただけましたら、後は自分で調べられると思います。 重ねて御礼申し上げます。 あさか
873 :
プログラマをされている方にお尋ねします。 :2005/04/28(木) 22:07:45 ID:N9QivnjG
>>871 下の通りにしてみたのですが、どうもうまくいきません。全く何も表示 されませんし、「保存しますか、開きますか」のダイアログボックスも 出てきません。 WEB-INFの下ではなくて、独立した外部HDにPDFを溜めたいのですが、 どうやらここで問題が出ているみたいです。 大変お手数ではありますが、再度ご教示頂けませんでしょうか。 どうぞ宜しくお願い致します。 ASAKA <%@ page pageEncoding="UTF8" %> <%@ page import="java.io.*" %> <%@ page import="java.net.*" %> <%@ page import="java.util.*" %> <% final String filename = "C:/Documents and Settings/Administrator/Desktop/medway_ss.pdf"; response.setContentType("application/pdf"); response.setHeader("Pragma", ""); response.setHeader("Cache-Control", ""); response.setHeader("Content-disposition", "inline; filename=\"" + filename + "\""); %>
クライアントに対してどんなHTTPメッセージを返すのかを考えれば、 そのコードが根本的におかしいと分かるはず。 それと動作するところまでできたら、 If-Modified-Sinceヘッダに対応するとさらに良くなります。
サーブレットじゃないじゃん
// レスポンスのをセット response.setContentType(application/pdf); // レスポンスのHTTPヘッダにファイル名をセット response.setHeader( "Content-disposition", "inline; filename=\"" + fileName + "\""); response.setHeader("Pragma", ""); response.setHeader("Cache-Control", ""); // ファイル読み込み用バッファ byte buffer[] = new byte[4096]; // ファイルをレスポンスのストリーム(ServletOutputStream)へ出力 OutputStream os = response.getOutputStream(); FileInputStream fin = new FileInputStream("C:/Documents and Settings/Administrator/Desktop/medway_ss.pdf"); int size; while ((size = fin.read(buffer)) != -1) { os.write(buffer, 0, size); } fin.close(); os.close();
877 :
プログラマをされている方にお尋ねします。 :2005/04/29(金) 09:30:35 ID:eNtQn2YF
皆さん、どうもありがとうございました。 大変おもしろいです。普段は、テキストファイルしか扱いませんから、良い勉強をさせて頂きました。 私がずっと理解できなかったことを、上手な方はいとも簡単にこなしてしまうのですね。 重ねて御礼申しあげます。 あさか
878 :
プログラマをされている方にお尋ねします。 :2005/04/29(金) 09:34:06 ID:eNtQn2YF
>>874 If-Modified-Sinceは大変便利そうですね。
あと、HTTPS通信時の対応まで教えてくださって、どうもありがとうございました。
本当に嬉しいです。皆さん、どうもありがとうございました。
あさか
879 :
おばけQ :2005/04/29(金) 11:18:35 ID:???
どもどもおばけQこれからよろ
Tomcat5.5.xでjsvcツール使って起動してる人いますか? そして問題なく動いてますか?
881 :
& ◆ZVUKXxfXHM :2005/05/04(水) 17:57:54 ID:3i9h8z1f
文字化けで困っています。 ----------------- input_id_pw.html ----------------- <html> <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" /> <head> <title>ID・パスワード登録</title> </head> <body> ID・パスワード登録<br> <form method="post" action="input_id_pw_check.jsp"> 名前:<input type="text" name="new_name" size="20" /><br> ID:<input type="text" name="new_id" size="10" /><br> パスワード:<input type="password" name="new_pw" size="10" /><br> <input type="submit" value="登録" /> <input type="reset" value="取消" /> </form> </body> </html>
882 :
& ◆GabKxMH/0A :2005/05/04(水) 18:00:42 ID:3i9h8z1f
--------------------- input_id_pw_check.jsp --------------------- <%@ page contentType="text/html;charset=Shift-JIS" %> <html><head><title>ID・パスワード登録</title></head><body> ID・パスワード登録<br> <% out.println("<br>名前:"); out.println(get_name); out.println("<br>ID:"); out.println(get_id); out.println("<br>パスワード:"); out.println(get_pw); out.println("<br>登録しますか?"); %> </body></html> 日本語でhtmlからjspにデータを渡した結果が 文字化けしてしまいます。 なぜでしょうか・・・
883 :
881 :2005/05/04(水) 18:17:17 ID:3i9h8z1f
<% %> 内に request.setCharacterEncoding("Windows-31J"); を入れることにより解決しました お騒がせしました。
884 :
nobodyさん :2005/05/07(土) 17:25:31 ID:/pBZAjNL
ページの遷移でいったんページを移動して ツールバーの戻るボタンを押したとき JSP側のHTTPメソッドでGETかPOSTと違う事でデータの受け渡しなど多少動きに違いがあるのでしょうか? それともブラウザ上の戻るボタンに関しては全く同じなのでしょうか?
885 :
nobodyさん :2005/05/07(土) 18:05:25 ID:U7wdq9wc
886 :
nobodyさん :2005/05/07(土) 18:23:56 ID:0AZAgz0s
887 :
nobodyさん :2005/05/08(日) 02:37:10 ID:elVIc2fQ
JSP/Servlet で画像掲示板作ってみたんだけど 瞬間的にOUt Of Memory エラーがでます こういう場合はそうすればいいですか?
まずはヒープサイズのオプション -Xms -Xmxあたりをしらべてみ あと-Xloggcで出したログをGCViewerでみてみるとか
889 :
プログラマをされている方にお尋ねします。 :2005/05/08(日) 11:07:47 ID:EcAkcyME
>>887、888 私は積極的に(GCに任せずに)不要になったオブジェクトには NULL入れています。JDKの1.3あたりまでは、これでかなり 助かったことを覚えています(SWINGでGUIをつくっていました)。 「質問」 ユーザーからの入力(NAME,ADDRESS)を受け取り、 HTMLファイルをつくります。そのファイルを、みなさんでしたら どうしますか。HTMLファイルは、ディレクトリ作って溜め込みますか、 それともSQLのデーターベースへHTMLのデーター全部入れますか? もう、データーベースとファイルシステムの使い方さえわからなく なりました。プロのかた、お助けください。お願い致します。
>不要になったオブジェクトにはNULL入れています それは、GCに任せているのとどう違うの? > 「質問」 HTMLファイルを作る必要がある?俺ならその部分はJSPで処理をする。
891 :
プログラマをされている方にお尋ねします。 :2005/05/08(日) 11:47:16 ID:EcAkcyME
>>890 こんにちは。どうもありがとうございます。
NULLを入れるのは、できるだけ早くメモリの解放をしたいときです。
ファイルハンドラが閉じられる後ではなくて、前にしたいときだとか。
例えばサーブレットでSTRINGBUFFにHTML溜め込んで、ファイル
ストリームへ吐き出すとします。もう、その直後にSTRINGBUFFを
NULLにしたい時には、積極的にNULL入れます。
GCは、ファイルストリームが閉じられてから
STRINGBUFFをNULLにしているかもしれませんし。
質問についてですが、HTMLファイルは、後で
何度も再利用される予定です。JSPで処理をする
ということは、必要なデーターだけをデータ
ベースへ溜め込んで、あとで利用するときは、
DBからそれをまた取り出すということですね。
プロの方は、みな、そうされているのでしょうか。
わたしは、HTMLどんどんつくってしまって、
一つのディレクトリに溜めています。これなら、
アプリケーションサーバーが動いてなくても、
あとで利用できますし。
そこで、考えたのが、HTMLごと、HTMLの内容全部を
VARCHAR として、DBへ溜めることだったのですが。。。
また、ご教示ください。大変勉強になります。
参照にnullを代入した瞬間にゴミ集めが行なわれるわけじゃないでしょう。
>>891 どこからも参照されなくなったオブジェクトはGCの対象としてマーキングされる
だけで、その都度GCされるわけじゃない。VMが適切なタイミングでまとめて
GCする。
ちなみに、JavaにおいてはNULLじゃなくてnullだ。
>>889 質問の意味が分からない。
何がしたいんだ?
あと、他の人も書いているけど、nullを入れても入れなくても、
メモリの回収はGCがする。いつするかはGC次第。
JDKのバージョンがあがって改良されているので、
古いJDKのバージョンだったら有効だったのかもしれない。
変数が適切なスコープにないってオチじゃないよね?
それならGC関係ないし、自分でnull入れたらどうこうって
なるだろうし。
896 :
プログラマをされている方にお尋ねします :2005/05/09(月) 13:58:27 ID:0n/h3hsi
>>895 お世話になります。HTMLファイルを自動生成しているんです(ユーザーの入力を得てから)。
生成されたHTMLは一つのディレクトリに溜め込んでおいて、あとで利用するときは、
一行ずつHTML読んで、OUT.PRINTLN()を使っています。
問題は、ディレクトリに溜め込まないで、SQLデーターベースへ(ユーザー入力ではなくて)、
作成したファイルごと、VARCHARのデーターとして溜め込めないかな、プロの方だったらこんな
ことするのかな、ということです。
いかがなものでしょうか。
GCにつきましては、たしか強制的にGCを呼び出す方法があったはずですので、
もう少し勉強してみます。どうもありがとうございます。
>強制的にGCを呼び出す方法 System.gc() ね。 ほとんどの場合、アプリから強制的に呼び出す必要はない。 GC処理そのものはかなりコストのかかる処理なので アプリから強制的に呼び出したほうが効率的な場合よりも パフォーマンスを低下させることの方が多く、逆効果。
>>896 DBに入れて、必要な場合にファイルとして書き出すぐらいなら
JSP使った方がいいと思うよ
899 :
nobodyさん :2005/05/09(月) 14:20:13 ID:PtO611Xm
>>896 ふつーはHTMLのガワだけ作っといて変化する部分(AME, ADDRESS)を埋め込んで出す、そのためにあるのがJSPやらテンプレートフレームワークやら、
鯖負荷が問題になる場合は静的HTML作っといてそっちにアクセスさせる、Servlet(だよな?)でファイル読んで表示したりはしない。
>>896 ユーザが「あ」と入れたら「あ」と書かれた*.htmlを作成して保存するの?
わざわざ*.htmlのファイルを作る意味が分からん。
いちいちファイルにするなりDBに格納するなりしてたら、ゴミが残るでしょ。
その保存したファイルをどうするのよ?
ログとして残したいだけなら「あ」だけDBにでもログファイルにでも残しときゃいいだけだし、
902 :
プログラマをされている方にお尋ねします :2005/05/09(月) 21:57:08 ID:0n/h3hsi
みなさん、どうもありがとうございます。896のようなことは、 する意味がありませんね。 901さんのご指摘は、もっともだと思います。 もっと、入力が複雑で、HTMLの作成もかなり面倒な アルゴリズムですから、HTMLで残しておいているのですが、 設計が上手ではありませんでしたね。 どうもありがとうございました。勉強になりました。
903 :
nobodyさん :2005/05/09(月) 22:03:23 ID:9BI6J6UW
904 :
nobodyさん :2005/05/09(月) 22:31:52 ID:oj96+Y+F
905 :
nobodyさん :2005/05/09(月) 23:21:09 ID:VIkDkqEH
tomcatでサーバを起動してJSPを表示させる場合
初期設定では
http://localhost:8080/ みたいにURLがなっていると思いますが
これを任意の名称にURLを変更させる事は出来るのでしょうか?
実際に開発などで社内システムなどを作る時は
実際に使う時は各社内で任意になると思いますが
>>906 Servlet開発以前の基礎知識が不足していると思われるので、
先輩や同僚にみっちり教えてもらった方がよさげかもしれない。
ヒントになるかどうかわからないけど、
http://www.example.jp:8080/path/to/hoehoe の構成要素の一般的な解釈は
http ---> スキーム名
www.example.jp ---> ホスト名
8080 ---> ホスト上でのサービスしているポート番号
/path/to/hoehoe ---> サービス内でのパス名
になります。(厳密ではないかもしれないけど)
servletからjspに値を渡す事はできないのでしょうか? イマイチservletとjspの連携が分からなくて・・・。
Servlet間で値のやりとりをするときは Application、Session、Request というスコープ(≒寿命)の違う格納域が用意されており、 一般的にそれらを利用します。 # もちろんデータベースなど外部のリソースも使えますが JSPはServletの一形態でしかないので、 ServletからJSPへの連携でも同様の考えになります。 で、JSP環境では便利なようにそれらに対応する application、session、requestという変数が定義済みになっています。
JSP2からは、受け取った値は式言語で扱うのが楽だな
現在、WebLogic 8.1上でServlet/JSP+EJB(+Webサービス)を
用いたWebアプリケーションを作ろうとしています。
そこで、認証に関して質問させてください。
満たしたい要件は次の通りです。
・ユーザはDBで管理されている
・権限毎にアクセスできる領域が異なる
・ユーザは日々増える
このような要件を満たす為に最初に思いついたのは、
TomcatにあるようなJDBC(DataSource)Realmを使う方法でした。
ところが、WebLogic8.1にはJDBCRealmに代わる物が無い。
「じゃ、自分で作るか」と思っていたのですが、
http://dev2dev.bea.com/pub/a/2004/01/whitepaper_tomcat_migration.html ↑このサイトで「WebLogic 6.0まではあったけど、7.0で無くなった」
という記述を見つけ悩んでいます。
というのも、わざわざあったものを無くしたというのは他の開発者たちが
JDBCRealmによる認証を使ってないからではないかと思ったからです。
ならば、みなさんはどのように認証を行っているのか知りたく、質問させていただきました。
913 :
nobodyさん :2005/05/12(木) 23:10:50 ID:SAjnBRZ0
JSPでDBからデータを取得して表示するとき While文で <td>\<%= result.getInt("price") %></td> にするのですが このときデータを取得するたびにデータの合計を加算させたい場合はどうすればいいのでしょうか? <%= の中に変数などを入れても、なかなかうまくいきませんので教えてください
<% int total = 0;%> ・ ・ <% int price = result.getInt("price"); total += price %> <%=price%> とかやればいいんでねーの?
915 :
nobodyさん :2005/05/13(金) 19:34:13 ID:iHOWVBQE
>>912 File Realm はバグだらけだからね、FRだけはやめたほうが
いいです。
916 :
nobodyさん :2005/05/13(金) 22:56:32 ID:f30Z4gnN
>>915 FileRealm にそんなにバグあったかなぁ。
いずれにせよ 8.1 ならデフォルトで組み込みの LDAP が使われるね。
>>912 DB 使うのが要件なら作るしかないんじゃないの?
917 :
nobodyさん :2005/05/14(土) 02:19:53 ID:YT4K1s3l
リストボックスの中のデータを指定のカラムから抜き出して 候補として表示させたいのですが どうすればいいのでしょうか?
指定のカラムから抜き出したデータをリストボックスの候補として設定すればいいと思います。
こんな感じです。 1.指定のカラムからデータを抜き出す (詳しいやりかたはあなたがお使いのデータの扱い方に従ってください) 2.リストボックスの候補として設定する (詳しいやりかたはあなたがお使いのユーザインターフェイス出力方式に従ってください)
921 :
nobodyさん :2005/05/15(日) 11:54:49 ID:5xJ/seB9
>>916 LDAPが8.1?
WEBLOGICですよね、SUNのAPP.SERVERじゃないですよね。
>>920 わろた
>>921 WebLogic の内部で LDAP サーバが動いてる。7.0 から。
923 :
nobodyさん :2005/05/17(火) 21:15:14 ID:Wptu6pDN
windows serverのファイルサーバにサーブレットからアクセスする場合 ファイルサーバへのアクセス情報(アカウントやパスワード)は サーブレット側に記述すればいいの? それともサーブレットのコンテナ側に記述するの?
サーブレット側とサーブレットのコンテナ側がどうちがうのか説明してくれ
925 :
nobodyさん :2005/05/17(火) 23:11:55 ID:Wptu6pDN
サーブレットのコードに記述するのか、 サーブレットコンテナ(jbossとか)に設定するのか、ってことです どうなんでしょう?
jbossはサーブレットコンテ以下略 どっちでもできるんじゃないの。
>>925 できる・できないで言えばどっちでもかまわんが、
そういう環境依存な情報はアプリよりコンテナに持たせた方がいいだろうね。
928 :
nobodyさん :2005/05/18(水) 19:24:26 ID:RnyP/LlE
JSPで、セッションのタイムアウトが発生したときに 特定の処理をおこなうようにするには、どうしたら いいでしょうか? 開発中の環境は、NetBeans 4.0を使っています。
929 :
nobodyさん :2005/05/18(水) 21:30:14 ID:hY8x0JfO
セッションが無効かどうかを調べれば?
>>928 SessionListenerを使う。
クライアントのリクエストとは非同期に セッション(変数)が無効になったのをキャッチしたいなら、 javax.servlet.http.HttpSessionBindingListener これが利用できるけど、JSPで実装するのはトリッキーかな。
932 :
nobodyさん :2005/05/19(木) 21:45:06 ID:6L/NrBef
Tomcat4でしつもんなんですが、server.xmlに記述されている FileLoggerオブジェクトってどう取得すれば良いんでしょうか?
933 :
928 :
2005/05/20(金) 14:21:42 ID:??? >>930 ,931さんありがとうございます。
やはりサーブレットを使わないとスムーズに実装できませんでした。
930さんのいうとおり、HttpSessionListenerをimplementした
サーブレットで、セッション破棄時の処理を行うようにしました。