5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :nobodyさん:02/06/08 11:03 ID:Kkr1yl67
って無いよな?
というわけでつくたよ。


2 :1:02/06/08 11:14 ID:Kkr1yl67
まず漏れがサンプル質問。
てかマジ質問です。w

sessionのタイムアウト時に、何か特定の処理をはさむことってできるのかね?

ログイン制のシステムで、ログアウトボタンを押さずにブラウザ閉じられるとか
かなりよくあるシチュエーションでしょ?その対策として。

もっというと、
ショッピングサイトで、カゴに入っているものを戻す(在庫をDBに戻す)
とか。

どうよ。

3 :nobodyさん:02/06/08 13:41 ID:???
          ,,..--―-、       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ヽ
         /, -----、.ヽ,     /   いまだ、    |
         |  i_,,,,_  __゙l |    |     3げっと。  |
         ,!、i'゙-‐-: '-、|/   /  _______/
        /'') ..., '‐-‐、.j     ̄ ̄
        / ,‐!::...`'''''''`ノ
      _,,,l ;! ::|ヽ、二 イ
   , -‐'゙゛ i::..  | .ヽ/;ヽj!`‐-、_
   l     ノ::. .:|、 .ヽ,:ヽ|  <゛~ヽ、
  ,:''`` ''"゙.|;;:‐''゙|.ヽ、 ヽ;::|  /  .|゙l
  ,:     ヽ::il;;!  ヽ、ヽ| /   | :|
  i    o゚ :`;''゙     ヽ| /   | .|
  i   ..:::::,:::'::::: .      |゚    |,,;:->、
  `.、__;;/:::::::::: :     |    !''"  |
     i  ::.:::: :       |    |   .|  
     |          |゚   /    |
................::i          :|   .i::、: .,,...、_|....
    .::|          ::|  .::; ゙i゙.、, 、`、


4 :nobodyさん:02/06/08 13:56 ID:cWcy7ZD7
>2
加護に入れた時点でDB上のテーブルから数減らすの?
いや、実際造ったことないからわからないんだけど。

5 :nobodyさん:02/06/08 14:01 ID:???
正常にセッション終了しなかった時点でカゴに入ってるものをDBに戻すってことでしょ?
いや、実際造ったことないからわからないんだけど。

6 :nobodyさん:02/06/08 14:27 ID:???
タイムアウトのイベントでそれは拾えないかね?
http://ash.jp/java/webapp_session.htm
いや、実際造ったことないからわからないんだけど。

7 :nobodyさん:02/06/08 15:09 ID:???
つまり誰かがカゴに入れたものは、ほかの客から注文できない(在庫があれば出来る)
ような仕様って事なんですか?
購入決定したら、「ついさっきほかの客が買ったので、なくなっちゃいました」ていうのを
防いでいるって事ですよね?なんか重そう。
いや、実際造ったことないからわからないんだけど。


8 :質問:02/06/09 02:47 ID:???
JSPでRMIクライアント処理をさせて戻り値を表示させてあげたいのですが、
リモートインターフェースクラスを呼び出せていない(nullオブジェクトを
作るところでエラー)みたいです。
インターフェースクラスて言ったて普通のクラスなんだからclassesフォルダ
の中にclassファイルをほりこんでるんですが。。。

なにかお気づきの点があれば指摘してください。


9 :nobodyさん:02/06/10 23:23 ID:El4cfp7U
内部のサーブレットのエラー:
java.lang.NoClassDefFoundError: tools/fIO
でるのですが、どしてでしょう?

tomcatは3.3.1使ってます。
webappはc:\ja\servletがルート、toolsは
c:\ja\toolsとして、いろんなところから使う*.classおいてますが、
どうも呼び出せないのですが。

10 :2:02/06/11 00:59 ID:nmCoemWD
> 4, 5, 7
そうそう。そういう場合です。
在庫引き当てを、カゴに入れたじてんで行うか、
会計終了時におこなうかでは、システムの完成度が全然ちがうと思いません?
(もちろん、カゴにいれた時点で在庫引き当ての方がすまーと)

> 6
あ、これです!
まさにこの仕組みを探していたんです。
いやぁ、長い間調べていたんですが、やっとすっきりしました。
でももう少し早くしりたかった。謎


11 :質問:02/06/11 01:51 ID:???
>9
ServletではないJAVAから"tools/fIO"が読み込めていて、Servletからは
読み込めないのであれば、環境変数では?

CLASSPATHがと通っていない。jarファイルを直接指定するようにして設定して
やらないといけないんじゃなかったかな。tomcat.bat(?)とかで無理やり指定も
できたような気もします。


12 :nobodyさん:02/06/11 11:48 ID:ZIBpVAlY
>11
ありがとうございました。PATH通したらうまくいきました。
で、また別のエラーなんですが、
メッセージ読んでも、何が問題かまったくわからないです。

内部のサーブレットのエラー:

java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(StringTokenizer.java:232)
at java.util.StringTokenizer.nextToken(StringTokenizer.java:259)
at tools.fIO.f_read(fIO.java:114)
とかが続きます。
どなたかわかりましたらよろしくお願いします。

13 :nobodyさん:02/06/11 12:00 ID:???
>>12
少しは自分で調べてるか?

StringTokenizer と NoSuchElementException のドキュメント見て、
fIO.java : 114 あたりを見直してみろ。


14 :nobodyさん:02/06/11 18:06 ID:???
>13

調べてるよ〜。
結論としては、プログラムが悪くなくて、
入力したデータが悪かったようで、解決しました。
ドキュメントってどこにあるの?

15 :nobodyさん:02/06/11 18:16 ID:???
入力データにより、「内部のサーブレットのエラー」を出すのが正しい動作なのか。
すげえな。


16 :sa:02/06/14 14:12 ID:AWU9hoAA
JavaScriptを使わずにブラウザを閉じたり
ヒストリーバックしたりすることはできますか?

17 :nobodyさん:02/06/14 23:36 ID:???
>>16
若干板違いだと思われ。

ちなみに答えは「無理」。

18 :nobodyさん:02/06/15 18:47 ID:SERZ+ITN
>>17
できるよ。ちなみにマジレス。

19 :nobodyさん:02/06/15 18:52 ID:???
俺もやったことある。

20 :nobodyさん:02/06/16 23:59 ID:???
>>14
Sunへいけ。

こんなやつがサーブレットなんぞ作っていいのかと思うね、まったく。

21 :sa:02/06/18 14:23 ID:aKLwa3K0
>>18
どうすんの?

22 :nobodyさん:02/06/18 14:50 ID:???
>>18
マウスを使うに決まってるだろ(w

23 :nobodyさん:02/06/18 15:29 ID:???
[BackSpace]、もしくは[Alt+←]っていう手もあるな

24 :nobodyさん:02/06/19 10:45 ID:g1N05cnZ
厨質問で申し訳ないのですが。。。

現在、TomcatにWebsphere環境で動作しているアプリ
を移植しているのですが、(移植先が非力なマシンなので)
Webアプリディレクトリ配下にある、htmlにアクセス
できません。
環境は
Apache1.3.24+Tomcat4.0.3です。
tomcat、apache共rootでこの順番で起動しています。

ブラウザから見ると、
http://hostname/examples/
以下のServlet、Jspは動作しているので、
apacheとtomcatの連携はとれていると思います。

現在の状況は、ブラウザ上で、
http://hostname/app_name/
としても、http://hostname/examples/
で出力されるような設置配下のディレクトリ
リストが出力されません。
(リストを表示するHTML自体は表示されます。
リストが空という意味です)


25 :nobodyさん:02/06/19 10:46 ID:g1N05cnZ
>>24の設定状況です。
アプリ配置は
${CATALINA_HOME}/webapps/app_name/
(システムパスには$TOMCAT_HOMEも$CATALINA_HOMEも
インストールディレクトリに設定してある)

htmlは${CATALINA_HOME}/webapps/app_name/mng/a.html
でa.htmlが読めなく、tomcatから、HTTP status 404が
出力されます。mngというディレクトリもアクセス
できません。

apacheのhttpd.confには
最後の行に
WebAppConnection conn warp localhost:8008
WebAppDeploy app_name conn /app_name/

tomcatのserver.xml
(server-noexamples.xml.configから生成)には
<Context path="/app_name" docBase="webapps/app_name"
reloadable="true" crossContext="true" debug="0" />
を追加。

長々とすみませんが、ご存じの方ご教授ください。


26 :nobodyさん:02/06/20 20:00 ID:???
まずtomcat単体で起動してwebapps/app_name/にアクセスできるかチェック。
ただ見た感じtomcatのserver.xmlは問題なさそうなのでhttpd.confに
以下のような感じでAliasを設定してみる。

Alias /testsites "/path/to/TestSites"
<Directory "/path/to/TestSites">
Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>

ちょっと自信ないのでsage

27 :nobodyさん:02/06/21 08:57 ID:FDQGCYA3
>>26
回答ありがとうございます。
まだ、行っていないのですが、
助言をもとに実行し、結果も
報告します。

Thanx age


28 :nobodyさん:02/06/23 23:32 ID:ZCGD5Lku
質問です。
オブジェクトの格納には、ConnectionPoorDataSourceを使うのが
一般的と聞いたのですが、本当ですか?
java1.4でのオブジェクトのようなのですが、みなさんは使わ
れてます?

参考
http://java-house.jp/ml/archive/j-h-b/044767.html

29 :nobodyさん:02/06/27 11:04 ID:wgVdc2Uq
質問:
 Win2000 で Tomcat4.0.3 を使っているのですが、
apacge と連携させたほうがイイですか?
# mod_webapp.so など、コンパイルせんといかんみたいで、面倒ですぅ。


30 :nobodyさん:02/06/27 11:09 ID:???
好きにすれば?

31 :nobodyさん:02/06/27 13:40 ID:???
apacge

32 :nobodyさん:02/06/28 06:02 ID:???
>>29
Tomcat単体だと
・静的HTMLの処理が遅い
・設定項目がしょぼい
・セキュリティが微妙
・CGIとかPHPとかが使えない
って事が手元の本には書いてある.

33 :nobodyさん:02/06/28 23:10 ID:???
>>29
win2k tomcat4.0.3 apache1.3.24で動かしてみた。
apache\modulesにmod_webapp.soとlibapr.dllを入れて、
apache\conf内にあるhttpd.confに何行か追加したら
うまく動いたよ。
moduleのコンパイルとかは手動でやるの?
フォルダに入れただけなんだけど。それとも俺おかしいのかな?
32さんの書き込みにもあるけど、
tomcatはJSPやServletのコンテナだからCGIとかPHPは使えないよね。
後はtomcat単体では普通使わないみたいだね。apacheとの連携が一般的みたい。
俺も初心者だから説明とか間違ってたらスマソ。

34 :29:02/07/01 15:21 ID:YP8+yFDR
>>32-33
とりあえず、説明(http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2/doc-ja/tomcat-apache-howto.html#intro
でも、連携すべし、なので、連携にしますた。
で、以下のものをそろえました。
 ・SSL 対応の apache。
  mod_ddl(http://www.modssl.org/contrib/)で
  Apache_1.3.22-Mod_SSL_2.8.5-OpenSSL_0.9.6b-WIN32.zip をダウンロード。
 ・OpenSSL
  mod_ddl(http://www.modssl.org/contrib/)で
  OpenSSL-0.9.6c-Windows.zip をダウンロード
 ・Tomcat 4.*
  The Jakarta Project(http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/)で
  jakarta-tomcat-4.0.3.zip をダウンロード
で、うまくいきました。(結構時間くったけど。)


35 :nobodyさん:02/07/01 23:37 ID:???
33氏と同じ環境を作ってみた。
が、フレームタグ使ってるページに飛ぶとApacheが固まる頻度がやたら高い。
mod_webapp.soじゃなくてmod_jkを使ったら…という話を聞いてやってみたが
うまくいかないっすね。
厨房質問で申し訳ない限りですがフレーム使ってるページ問題なく動かせてる
人、アドバイスorお話キボン。

36 :nobodyさん:02/07/03 10:09 ID:???
一応 Tomcat 単体でも CGI は動く。ただパフォーマンスと耐久性はどうだか
しらんが。

37 :nobodyさん:02/07/03 10:14 ID:???
そうそう、DLL とか SO に惑わされたくなければ mod_proxy を使って
リクエストを飛ばすほうがトラブル少なくていいかも。

ProxyPass /foo http://server:8080/foo
ProxyPassReverse /foo http://server:8080/foo

httpd.conf にこれ書いとけば http://www.aaa.com/foo/ がすべて Tomcat に
まわされるようになる (server で Tomcat が動いているとする)。主だった問題
といえば REMOTE_ADDR の代わりに X-Forwarded-For を見なきゃいけないところか。

38 :nobodyさん:02/07/03 17:44 ID:???
>>37
proxy 使った方法だと、
ページ有効期限きって、Back を押しても「警告 : ページの有効期限切れ 」にならなかった。


39 :nobodyさん:02/07/04 00:22 ID:???
>>35
俺も同じ現象が。おまけにLifeCycleExpectionなるものが。
いろんなサイトを見よう見まねでやってみたが色々エラー出るな。
無駄な書き込みだったか。スマソ

40 :nobodyさん:02/07/04 09:50 ID:???
>>38
?
この手のリバースプロキシはページ有効期限に関係しないはずだが…

41 :nobodyさん:02/07/05 23:41 ID:???
誰かお助け。>>33-35と同じ…
mod_jk使えばいいのか?
それでもいかないのは俺の設定ミス?

42 :nobodyさん:02/07/06 18:08 ID:9EuBmznp
XML  データベース サーブレット などを使って新しいWebアプリケーション
を考えたいのですが何かないですかね?

43 :nobodyさん:02/07/06 22:22 ID:sbrRXVWb
Servletのデバッグってどうすんの?

44 :nobodyさん:02/07/06 22:57 ID:1kLkeT4w
http://www.atmarkit.co.jp/fjava/rensai/jsp10/jsp10.html
を参考にして、JSPとPostgreSQLの連携を図ったのですが、
javax.servlet.ServletException: org.postgresql.Driver
エラーが出力されてしまします。
PostgreSQLのデータベースアクセス用のドライバ名は、org.postgresql.Driver
ですよね?何がいけないのでしょうか???




45 :nobodyさん:02/07/07 00:57 ID:???
>>44
文法や綴りはチェックしたよね?
俺はMYSQL派だからPSQLはよく解らんが
ドライバ名にバージョンとか何らかのオプションとかついてたりしないかな?

46 :nobodyさん:02/07/07 01:14 ID:nfgvYLJa

http://www.inoueworld.gr.jp/worldranking/090/rank.cgi?id=stano

47 :44:02/07/07 13:51 ID:vB9yJ20Z
自レスです。

http://jdbc.postgresql.org/download
からPostgreSQLとバージョンの同じjdbcを$TOMCAT_HOME/lib以下にコピー。
その後でTOMCAT再起動でOKでした!


48 :nobodyさん:02/07/07 16:48 ID:Emb7lIr1
Servlet XML DBを使って新しいWebアプリケーションを考えたいのですが
何かないですかね?


49 : :02/07/08 07:50 ID:???
>>48
サーバリレー方式 (NNTP 型) の 2ch でも作ってください。

50 :nobodyさん:02/07/08 11:54 ID:Z0coAw0K
>>41
うちの場合 httpd.conf は
Listen 443

<IfModule !mod_jk.c>
  LoadModule jk_module modules/mod_jk.dll
</IfModule>
JkWorkersFile "C:/java/jakarta-tomcat-4.0.3/conf/jk/workers.properties"
JkLogFile "C:/java/jakarta-tomcat-4.0.3/logs/mod_jk.log"
JkLogLevel emerg
LoadModule ssl_module modules/mod_ssl.so

# see http://www.modssl.org/docs/2.4/ssl_reference.html for more info
SSLMutex sem
SSLRandomSeed startup builtin
SSLSessionCache none

SSLLog logs/SSL.log
SSLLogLevel info
# You can later change "info" to "warn" if everything is OK

<VirtualHost _default_:443>
  SSLEngine On
  SSLCertificateFile conf/ssl/my-server.cert
  SSLCertificateKeyFile conf/ssl/my-server.key

  JkMount /test ajp13
  JkMount /test/* ajp13
</VirtualHost>
となってる。
SSL 使わないんなら、SSL 関連消して、ポート 80 にすればよいかな。

51 :nobodyさん:02/07/09 00:21 ID:???
>>50
使っているソフトのバージョンとか教えてくださいませんか?
ちなみに私は
WinXP Pro
Tomcat4.0.3
Apache1.3.24
で、連携モジュールはmod_webapp.soとlibapr.dllです。
やっぱり不安定。
Apacheのhttpd.confは

LoadModule webapp_module modules/mod_webapp.so
WebAppConnection conn warp localhost:8008
WebAppDeploy examples conn /examples

多分、システム構成似てる人みんな同じような設定じゃないですか?
50さんの

<IfModule !mod_jk.c>
  LoadModule jk_module modules/mod_jk.dll
</IfModule>
JkWorkersFile "C:/java/jakarta-tomcat-4.0.3/conf/jk/workers.properties"
JkLogFile "C:/java/jakarta-tomcat-4.0.3/logs/mod_jk.log"
JkLogLevel emerg

の部分と取り替えればいいんでしょうか?

52 :nobodyさん:02/07/09 01:22 ID:???
Tomcat 4 系は Apache との連携がまだ安定しないケースが多い。当面は
mod_proxy で Tomcat の 8080 ポートへ飛ばして、安定版が出たら入れ
替えるのが良いと思われ。

53 :50:02/07/09 11:44 ID:V8OiKoyI
>>51
Win2000
Apache_1.3.22-Mod_SSL_2.8.5-OpenSSL_0.9.6b-WIN32
jakarta-tomcat-4.0.3

mod_webapp.so を使う予定でいたんだが、どうもよく、Error500 になってしまうため、
mod_jk.dll を使うことにした。

> の部分と取り替・・・
workers.properties はサンプルまねて作らねばならんが。
mod_jk.dll も jakarta のどっかからDLせねばならんが


54 :51:02/07/09 23:08 ID:???
>>53
ありがとです。
私もmod_jk.dllでやってみます。

55 :51:02/07/10 22:25 ID:???
>>54
うまくいきましたか?
>>50
出来ればもう少し詳しく情報キボン

ちなにみ私も今Tomcat4.0.3でmod_jk使う方法探り中です。

56 :50:02/07/12 10:06 ID:q1BPHgJK
>>55
http://members.tripod.co.jp/emasuken/open/apache_mod_ssl_tomcat.txt
http://members.tripod.co.jp/emasuken/open/workers.properties


57 :hoge:02/07/12 16:45 ID:???
マジ質問です。
Win2000、WebLogic6.1上で
作成したJSPのコソパイル時に
「try文のコードが大き過ぎます。」
とでてきます。
ソースを削る以外の方法をご存じの方
いらっしゃいますか?

58 :55:02/07/13 00:19 ID:???
>>50
マジでありがとう!

59 :初期不良:02/07/15 00:56 ID:36+uH1YE
Win2k+Apache2.0.39+mod_jk.dll+Tomcat4.4 でなんとかでけたー
examples のやつが動いたよ(T-T
Servlet 初めてなんでよく分かんなかったけど、
なんというかここまでで満足しちゃいそうw
これから設定の意味とか調べないと...

60 :初期不良:02/07/15 01:23 ID:36+uH1YE
>>59
>Tomcat4.4
Tomcat4.0.4 の間違い...

61 :nobodyさん:02/07/15 22:30 ID:4ggzX3jC
微妙にスレちがいかもしんないけど。

今、VB-oo4o-OracleのシステムをServlet/JSP-JDBC-Oracleのシステムに
移植中なんだけど、どーやってもJDBCでストアドプロシージャからバインド配列を
受け取る方法がわからん。
もしかしてJDBCだとバインド配列使えない?誰か教えてー

モシカシテジョウシキ?
ダッタラチュウボウッテサゲズンデ

62 :初期不良:02/07/16 13:41 ID:???
>>61
oracle 関連だったらこっちの方がいいような
http://www7.big.or.jp/~pinball/discus/oracle/index.html
JDBC とバインド配列の関係は知らんです

63 :初期不良:02/07/17 15:50 ID:R7nkntsq
前から Forte for Java 使ってたんで J2SE1.4 とパッケージされてる
60MB くらいのファイルを使ったら JRE がまともにアンインストール
できない状況になっちゃったよ。JDK と Forte は別々に
インストールした方がいいみたい。別々だったら
特に問題はなかった。

ところでいつから Forte for Java を SunONE Studio って
呼ぶようになったんだ?

64 :nobodyさん:02/07/18 20:11 ID:vfBDOFER
今JSP・JavaBeans・XMLでWEBアプリを作ってますが、やたら重いです。
DOMは重いってのは分かるけど、皆さんどうですか?
ちなみに私はDOMで読み込んだデータをHashtable+ArrayListでいじってます。
何か良い方法あります?

ついでに
52さんが書いてますが、Tomcat4系は不安定なので今のところ3系お勧め。
Apache1.3.24使ってる人早いとこ1.3.26くらいにしときましょ。

65 :初期不良:02/07/18 20:36 ID:???
>>64
>>52 は連携が安定しないと書いてるけど
Tomcat4 自体が不安定と?

66 :nobodyさん:02/07/18 21:52 ID:???
>>65
Tomcat自体が安定してるしてないではなくて、
ApacheとTomcatを連携させるモジュールが不完全なのでは?
モジュールと一緒にDLしたリファレンスみたけど、
Windowsは動作の対象からはずされてるね。
英語がそんなに堪能なわけじゃないから隅から隅まで読めたわけじゃないけど。

67 :52:02/07/18 22:03 ID:???
mod_proxy で使う分には 4 系も安定してる (たいした負荷かけたわけじゃないけど)。
ヤヴァイ のは mod_webapp に関連するところのようだ。

68 :64:02/07/18 23:28 ID:vfBDOFER
>65
いや連携ですね。単体ではテストくらいしか使えないでしょ。
>67
確かに・・・mod_webapp.soだっけ?どうにもまだ不安定らしい。
ApacheとTomcat4系でテストしてみたけど、色々不具合あるし。

69 :nobodyさん:02/07/19 00:01 ID:q9jXNp5v
皆さんIDEとか使ってますか?
Linuxサーバ(コンソールのみ)でTomcat + JDK動かしてるんですが、
毎回javaをコンパイルするのは面倒になってきました。
開発環境はwinです。何か良い方法とかありませんか?

70 :初期不良:02/07/19 01:51 ID:???
>>69
もなじ環境を win で作ってみれば?
java 環境のいいところは環境に依存しないところだし。
IDE は無料のがたくさんあるし試してみればいい。
もれは Forte for Java(JavaONE Studio) CE 使ってる。
補完機能ないと生きてけません。

71 :nobodyさん:02/07/20 23:48 ID:l62hSW+Y
apache(PHP入り)にtomcatをアドインして使ってるんですが、
getHeaderNames()メソッドでヘッダを確認してみると
cookieのIDに何故かPHPSESSIDが使われています。
そのため当然というか、クッキーの機能を使うことが出来ません。
どのようにすればJSSESSIONIDを使えるんでしょうか。

72 :nobodyさん:02/07/21 02:41 ID:???
>>69
AppサーバやRDBの製品名、Verがあってさえ居れば

開発: Win
本番: Unix or Linux

で問題は起きないはず。
パスのセパレータの違いなどプログラミングで配慮すべき事項はあるにしても。


もれは開発はWinのJBuilder7Ent + Postgres(cygein) + 案件ごとのAppサーバでやって、
LinuxやSolarisの同構成の本番機に持って逝ったりしてるけどOSの差が問題になったことはないよ。



73 :nobodyさん:02/07/21 03:46 ID:n5759lTx
jdk1.3.1_04 と tomcat4.0.4 を RehHat7.3 にインストールした
のですが、tomcatの起動ができません。

[root@localhost bin]# ./startup.sh
Using CATALINA_BASE: /usr/local/jakarta-tomcat-4.0.4
Using CATALINA_HOME: /usr/local/jakarta-tomcat-4.0.4
Using CATALINA_TMPDIR: /usr/local/jakarta-tomcat-4.0.4/temp
Using JAVA_HOME: /usr/java/jdk1.3.1_04
起動時に出るメッセージは↑のようなもので、特にエラーが出ているわけ
ではないようなのですが、、、

なぜなのでしょうか?

74 :nobodyさん:02/07/21 04:01 ID:t5nOs/tF
>>73

「起動できない」とは何をもってして判断してのこと?
ps ax
とかでプロセスが無いのは間違いないの毛?
それともプロセスは立ち上がっているが動作が確認できないってこと?


75 :nobodyさん:02/07/21 14:34 ID:n5759lTx
>>74
ps ax やってもそれらしい名前がでてないです。
ちなみに、プロセス名はなんて表示されるのでしょうか?

あと、ブラウザから8080ポートにアクセスしても、tomcatのサンプル
画面が表示されませんでした。

76 :74:02/07/21 16:43 ID:t5nOs/tF
>>75
手元に RedHat Linux 7.2 + Tomcat4.0.3 の環境があるので確認したけど
プロセス名の文字列は超長い文字列になってて正確なところがわからない。(^^;

ただ Tomcat の起動スクリプトは $JAVA_HOME/bin/java を引数付きで立ち上げてるだけっぽいので

ps ax | grep java

で出てきなものの中にそれらしいものはない?

起動できていないのであれば、
あるいは、Tomcatのログが $CATALINA_HOME/logs にいくつか吐き出されるようなので
その中のどれかに起動できない旨のメッセージが理由付き(stackTraceとか)で吐き出されているかも。

あどヴぁいすできるのはこの辺までだけど、なんか単純な理由な気がするぞなもし。


77 :nobodyさん:02/07/21 19:41 ID:BdL4fkR2
server.xmlに/home/(user acount)/public_htmlを追加したんですが、
セッションが上手く動作してくれません。
session.isNews()で確認してみたところ、何度リロードしても値がfalseで返ってくることはありませんでした。

/webapps/examples/以下で実行すると、二回目以降はfalseを返します。
何か設定する項目はあるのでしょうか。


sever.xmlはこんな感じです。
<Context path="/~(アカウント)" docBase="/home/(アカウント)/public_html"
crossContext="false" debug="0" r
eloadable="true"></Context>


78 :nobodyさん:02/07/22 09:27 ID:???
サーブレットと JSP でアップローダー作ってみた。テスト運用中。
3MB 以下のファイルを 3 日間保存。削除パスワード付き。
http://tool-ya.ddo.jp/2ch/trash-box/index.html


79 :nobodyさん:02/07/22 10:45 ID:/lVk0RoZ
>>77
<Context path="/~(アカウント)" docBase="/home/(アカウント)"
でない?

80 :初期不良:02/07/22 11:05 ID:???
>>78
ヤモリって君どこに住んでるのYO...

81 :nobodyさん:02/07/22 11:25 ID:???
>>80
一応渋谷区内なんだが…
だれかアップロードしてくれんかな。

82 :nobodyさん:02/07/22 12:37 ID:???
>>81
IP 晒さの止めてくれたらアップするよ。

83 :nobodyさん:02/07/22 21:06 ID:???
>>77
どうも、/public_htmlにjspのディレクトリをラッパー出来ないことが分かりました。
セッション関係が上手く動きません。
違う場所に移動させたら動きました。うーん…。

84 :Java初心者:02/07/23 02:57 ID:x4PamoCA
今、簡単なカートシステムを作っているのですが、
HTML(フォーム入力ページ)が格納されているサーバーと
Javaが格納されているサーバーが違う為にセッション情報が
壊れまくりで受け渡しが上手くいかない状況です。
何かうまい方法無いですかね??
ちなみにDB等は使用してないです。


85 :78:02/07/23 05:54 ID:???
リモホとユーザエージェント晒すの止めてみた。

86 :nobodyさん:02/07/23 22:22 ID:qz9rcVGm
ディレクトリアクセスでファイル一覧を表示しないようにするには
どこを設定すればよいのでしょうか

87 :jerry:02/07/24 00:24 ID:wF0zuFj0
nobodyさんへ
はじめまして。jerryと申すものです。
私もServlet/JSPでファイルのアップローダーを作成しようとたくらんでいるのですが、
multipart/form-data形式でPOSTされたデータを読むのに苦労しています。
そもそも、multipart/form-data形式がどのようなものか理解できないでいます。
アップローダーを作成するにあたって、わかりやすいテキストなどがあれば教えて頂けないでしょうか?
なにぶん初心者ですのでよろしくお願いいたします。

88 :nobodyさん:02/07/24 00:39 ID:???
夏ですねぇ。


89 :nobodyさん:02/07/24 00:43 ID:???
>>87
そのうち公開する予定だけど、メアド晒してくれたら multipart/form-data の
解析方法をソース付きで送ったるよ。

90 :nobodyさん:02/07/24 00:47 ID:???
と思ったがせっかくだからアップローダーにうpしとくわ。
もともと自作したソースを某社システムで使うように磨き上げて、(結局
使われなかったので) またさらに自分で改良した奴だから、著作権的に
まずい文言が入ってないかチェックするので 2 〜 3 日待て。
解析方法の HTML ドキュメントとツールキットのソースをセットで。

91 :nobodyさん:02/07/24 01:01 ID:???
>>87
JavaMail使え。

92 :jerry:02/07/24 01:01 ID:???
>>90
ありがとうございます。
感謝感謝です。
お手数おかけしてしまいますが、よろしくお願いいたします。
2,3日後、またのぞいてみます。

93 :nobodyさん:02/07/24 10:27 ID:9hoilkkE
>>86
 ダミーの index.html を作る。

 apache なら httpd.conf で
Options Indexes
 と書かれている所 の Indexes を削除


94 :nobodyさん:02/07/24 11:33 ID:9hoilkkE
>>90
どんな構造にしてる?
織れは HttpServletRequest を 継承した MultipartRequest クラスを作ってる。
送られてきたファイルはサーバの temp フォルダに置くようにしてる。


95 :90:02/07/24 14:50 ID:???
とりあえずパッケージドキュメントにしていた分だけアップした。ソースと JAR ファイルは
しばし待て。
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20020724143928004.html

>>94
まず InputStream と boundary 文字列渡して、先頭の form-data から逐次ストリームまたは
文字列を取り出すようなツールキットがある (上の URL にサンプルコードあり)。

そのツールキットを使うサーブレットとして、所定のパラメータ名のデータを一時ディレクトリに
保存し、残りのデータをハッシュテーブルに格納してから、ほかのサーブレットや JSP へチェー
ンするってのがもう一つ。

できれば >>93 のように HttpServletRequest のサブクラス化がきれいだが、サーブレット
コンテナによってはチェーン時にトラブる恐れがあると思ってやらなかった (Servlet API
仕様的に「forward はコンテナから渡されたものをそのまま渡せ」とあったはず)。

# なんか入力コメントの日本語が激しく文字化けしてるな… 週末に調べるか。

96 :nobodyさん:02/07/24 15:21 ID:???
>>86
TOMCAT4 なら
http://java-house.jp/ml/archive/j-h-b/050831.html#body
参照

97 :nobodyさん:02/07/24 18:56 ID:???
JavaMail、マ、゙、タネス、、ア、ノ。「シォコ、ケ、・「・ユ・ゥ、ャ、、、、ネ、。」」

>>87
com.oreilly.servlet.MultipartRequest サネ、ィ、陦」

----------------------------------------
import com.oreilly.servlet.MultipartRequest;
.....

// ・「・テ・ラ・。シ・ノ、ヌ、ュ、コヌツ逾オ・、・コ。ハ200KB。ヒ
int max = 1024 * 200;

// ・「・テ・ラ・。シ・ノイ霖ハンツクタ
String dir = "/tmp";

MultipartRequest mreq = new MultipartRequest(request, dir, max);
File uploadedFile = mreq.getFile("FILE_NAME");
----------------------------------------

ーハセ蝪」

API
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html

98 :97:02/07/24 19:08 ID:???
化けたからもいっかい。
JavaMailはまだ判るけど、自作するアフォがいるとわ。w

>>87
com.oreilly.servlet.MultipartRequest 使えよ。

----------------------------------------
import com.oreilly.servlet.MultipartRequest;
.....

// アップロードできる最大サイズ(200KB)
int max = 1024 * 200;
// アップロード画像保存先
String dir = "/tmp";

MultipartRequest mreq = new MultipartRequest(request, dir, max);
File uploadedFile = mreq.getFile("FILE_NAME");

----------------------------------------
以上。

API
http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartRequest.html

99 :nobodyさん:02/07/24 19:33 ID:go5BIxYg
>>87
俺はその部分だけstruts使ってます。

そうか、JavaMailでもよかったんだ…

100 :90:02/07/24 20:09 ID:???
自作する アフォ って…
98 年から使ってるんだが。その頃あったの ソレ?

101 :jerry:02/07/24 20:14 ID:???
>>95
ドキュメントありがとうございました。
早速拝見させていただきます。


102 :nobodyさん:02/07/24 22:06 ID:???
>>86
ありがとう。直りました。

103 :nobodyさん:02/07/26 20:57 ID:SfSBcX3z
apacheのpublic_htmlにindex.jspを置いてディレクトリアクセスすると、
自動でindex.jspが開くには開くんですが、URIの~(チルダ)が%7Eに
置き換わってしまいます。
しかもその状態だとセッションが無効になってしまうようなんですが、
対処方法はないものでしょうか。

104 :91:02/07/27 00:07 ID:C2iiEdJi
>>98
com.orailly...の奴って、「開発者はみんな本買え」とか変なライセンスじゃなかったか(w
まあ全然しかとしてもOKっぽいが。俺は客が使うライブラリとして提供しないとだめだったから
com.oraillyのは念のため避けた。
あの実装見てると、とても自作しようという気にはならんな(w

105 :50 :02/07/29 13:38 ID:???
・SSL 通信を使うと「ペ ージが表示できません」が良く出る。
どうも、IE のバグっぽい。以下を参照
 ・E 5.01 をインストール後に SSL や SSPI を使う゚ログラムが機能しない
 http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp247%2F3%2F67%2Easp&LN=JA
でも、IE6 でも起こる!!

で、IE で以下の設定をすると、おきなくなった。
・インターネットオプション --> 詳細設定 --> セキュリティの「SSL 3.0 を使用する」をはずす。


106 :nobodyさん:02/07/30 11:29 ID:???
マシンの負荷が増えてきたので有効期限が明確なページに Expires ヘッダ
付けまくったらアクセス量が激減しちまったよ。

107 :nobodyさん:02/08/01 00:58 ID:obwMsnIv
/WEB-INF/classes/ ディレクトリ以下におかれた
普通のJavaプログラムクラスをサーブレットから
呼び出して使うとします。MVCでいうModelに
あたるものです。

そのクラスから/WEB-INF/classes/ディレクトリ内に
あるファイルを読み込みたいのですが、ServletConfig
は使わない、絶対パスでの指定も無し、という条件の
場合、そのファイルのパスを取得する方法はあるのでしょうか?

108 :nobodyさん:02/08/01 04:21 ID:???
>>107
classes 直下の foo.txt を読むとして:

ClassLoader loader = this.getClass().getClassLoader();
InputStream in = loader.getResourceAsStream("foo.txt");

または
ServletContext context = getServletContext();
InputStream in = context.getResourceAsStream("foo.txt");

または
ServletContext context = getServletContext();
String path = context.getRealPath("/WEB-INF/classes/foo.txt");

2 個目は実際にやったことがないので本当に出来るか分からん。
俺はいつもリソースバンドルを使うか /WEB-INF/conf とかに置いて
getRealPath() でやってる。

109 :age:02/08/01 09:13 ID:VxoEhz+q
>>90
アップローダーのソースいただけないでしょうか!?
お願いします!

110 :107:02/08/01 11:53 ID:???
>>108
Servletなら3つ目の方法を使えばスマートなんだけど、
Servletから呼び出されるクラス内での処理だから
getServletContext()はできないよね。
Servletでfilepathまで取得して、その呼び出すクラスに
渡してあげるしかないのかな。

111 :nobodyさん:02/08/01 15:36 ID:???
>>109
あいよ。会社名とか入ってるの見つけたらこっそり教えてくれ。フリー、商用利用、改変、再配布可。
詳しくは javadoc の下のほうを見てくれ。
http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20020801152859020.zip

>>110
サーブレットや JSP から呼び出された先で Web アプリケーションルートを取る
のは、システムプロパティにでも設定しておかない限り無理だろう。ただの設定
ファイルやデータファイル (読み出し専用ファイル) ならリソースとして
getResourceAsStream() で読めば良いだろうけど、書き込みもするのならサーブ
レット/JSP 側から getRealPath() でパス名取って渡すしかない。

112 :nobodyさん:02/08/02 10:46 ID:KliK+F7e
>>86
の便乗質問だが、
>>93の方法でやっても駄目で、
>>96の方法はTomcat4なので駄目(当方Tomcat3.3.1)です。

さて、WEB上であっちこっちで調べたのだが分かりません。

皆さん、どーしているのですか?!


113 :nobodyさん:02/08/02 12:44 ID:hNq5//MC
>>111
どうもありがとうございました。
これから見てみます。

114 :nobodyさん:02/08/02 13:48 ID:???
>>112
Apache 使えばよいかと。


115 :112:02/08/02 16:00 ID:KliK+F7e
>>114
Apache2.0.39
Tomcat3.3.1
の組み合わせです。

<Directory "D:/Tomcat/webapps/hoge">
Options -Indexes
</Directory>
と遣っているのだが駄目です。

一体どーやったら出来るのでしょうか??


116 :nobodyさん:02/08/02 18:26 ID:???
>>112
とりあえず、httpd.conf を教えてくれんと、原因はわからん。

117 :112:02/08/02 18:46 ID:KliK+F7e
>>116
<pre>
■Apache2.0.39のhttpd.confで修正した箇所は以下の通りです。
(1).jaを先頭に持ってきた。
LanguagePriority ja en da nl et fr de el it ko no pl pt pt-br ltz ca es sv tw

(2).コメントアウトした。
#AddDefaultCharset ISO-8859-1

(3).最後尾に追加した。
Include "D:/jakarta-tomcat-3.3.1/conf/auto/mod_jk.conf"
<Directory "D:/jakarta-tomcat-3.3.1/webapps/hoge">
Options -Indexes
AllowOverride None
</Directory>
</pre>

つづく。。。

118 :112:02/08/02 18:48 ID:KliK+F7e
>>117
つづき、、、

■Tomcat3.3.1の修正したファイル、箇所は以下の通りです。
(1).D:/jakarta-tomcat-3.3.1/conf/auto/mod_jk.conf
JkWorkersFile "D:/jakarta-tomcat-3.3.1/conf/jk/workers.properties"

以下追加した。
JkMount /hoge ajp13
JkMount /hoge/* ajp13

(2).D:/jakarta-tomcat-3.3.1/conf/jk/wrapper.properties
wrapper.tomcat_home=d:\jakarta-tomcat-3.3.1
wrapper.java_home=d:\j2sdk1.4.0

(3).D:/jakarta-tomcat-3.3.1/conf/server.xml
<!-- コメントアウトした。
<Http10Connector port="8080"
secure="false"
maxThreads="100"
maxSpareThreads="50"
minSpareThreads="10" />
-->

119 :112:02/08/02 18:48 ID:KliK+F7e
>>118

順調にservlet/jspは動いています。
しかしWebブラウザのアドレスに例えば http://server/hoge/jsp/ と入れると
ディレクトリのリストが表示されてしまう。
表示しないようにしたいのです。
しかし、ApacheやTomcatのサイトに行ったり、Googleなんかで検索して色々と
調べたのだが駄目でした。

多分設定漏れがあると思うのだが、さっぱり判らないのが現状です。

お願いいたします。


120 :nobodyさん:02/08/02 19:08 ID:???
JkMount /hoge ajp13
JkMount /hoge/* ajp13

JkMount /hoge/*.jsp ajp13
JkMount /hoge/servlet/* ajp13
かな。
リクエストを丸投げしてしまっているのを止めればいけるはず。

121 :nobodyさん:02/08/02 19:23 ID:???
>>119
デフォルトのファイルサーブレットを使わないようにするとか、
ディレクトリリストを表示しない版を自作して入れ替えれば?
ふつーにサーブレット登録するのと同じようにファイルサーブ
レットも差し替え出来るけど。

122 :112:02/08/05 09:53 ID:skGy3+Xd
>>120
の方法でも駄目でした。

>>96
の方法はTomcat4みたいだし

>>121
の方法はちょっとわかりません。
申し訳ありませんがサンプルとかを紹介しているサイトを
教えていただけるとありがたいです。



123 :nobodyさん:02/08/05 10:50 ID:7tZAuiIw
>>111
パッケージbiz.moyo.leaflet.toolkit.net.http
を使うにはどうすればよいのでしょうか?
何かダウンロードする必要がありますか?
サーブレットファイルをコンパイルしてもうまくいきません。

124 :nobodyさん:02/08/05 10:52 ID:???
>>122
表示されるディレクトリ一覧は Apacheの? それとも Tomcatの?

125 :112:02/08/05 13:25 ID:skGy3+Xd
>>124
Tomcat Web Server v3.3.1 Finalと表示されている。
Tomcatみたい。


126 :nobodyさん:02/08/05 15:25 ID:???
>>125
http://server/hoge/jsp/ のリクエストを Tomcat に投げているので、
httpd.conf、mod_jk.conf に問題がある。中身見れんとこれ以上は・

たしか、mod_jk.conf は自動生成させるから、こいつは修正せんほうがいい。
ser.verxml に Context を設定するだけどよかったはず。

# いっそのこと、Tom4 にすれば。

127 :112:02/08/05 16:18 ID:skGy3+Xd
>>126
Tomcat4は色々と問題があるような(?)報告を読んだことがあるので
ちょっと不安なのです。また研究用、学習用とあるみたいで、
またServletAPI/JSP APIも上位だし、何となくですが未だ避けたい。

で、httpd.confとかmod_jk.conf等は殆どデフォルトで使用しています。
触った場所は>>117>>118程度です。
mod_jk.confはファイル名を変更して使用しています。

httpd.confには
Include "D:/jakarta-tomcat-3.3.1/conf/auto/mod_jk.conf.Apache2"
としています。

何時でもApache1に戻れるようにmod_jk.conf.Apache1を用意しています。
この辺の逃げ腰が駄目なのかなぁ?!

実際のところTomcat4でも構わないのですが、安定性など如何なものですか?

128 :nobodyさん:02/08/05 16:51 ID:???
>>122
うちは Tomcat-4.0.3 で問題なく稼動してます。


129 :112:02/08/05 17:48 ID:skGy3+Xd
>>128
安定稼動ですか。。。

確かに、Googleで検索してもTomcat3.3.1とTomcat4.0.3のヒット数が
全然違うのだし、そろそろTomcat4.0.3に移行しますか。

今回は閉じたネットワークだからこのまま納品して
Tomcat4.0.3への導入を検討します。

今までありがとうございました。

130 :nobodyさん:02/08/05 20:31 ID:???
>>123
コンパイルに必要なのは zip ファイルの中の WEB-INF/lib に置いてある leaflet-http.jar って奴。
まずこれをクラスパスに入れる (か WEB-INF/lib を -extdirs に指定する)。コードの書き方は
WEB-INF/classes にある FileUploadServlet.java か WEB-INF/doc のパッケージドキュメントを参考に
してくれ。

131 :nobodyさん:02/08/06 05:28 ID:???
結局俺は Linux + Tomcat 4 + mod_webapp.so の組み合わせで起動できなくて、
Tomcat 3.3 + mod_jk.so の組み合わせに戻してしまった。mod_webapp の問題って
言うより必要な glibc のバージョンを満たせなかったんだけど (アプライアンス
鯖なもんで)。

132 :nobodyさん:02/08/07 15:22 ID:???
サーブレットを使えるようにしたいのですが、
ゼロからインストールの仕方が載っているHPってないでしょうか?
いろいろ検索してんですが、どうもよくわかりません。
JDKとApacheとTomcatはインストールしたんですが、
ぜんぜんわかりません。
よかったらお願いします。

133 :nobodyさん:02/08/07 18:06 ID:???
>>132
http://www.ingrid.org/jajakarta/tomcat/

134 :nobodyさん:02/08/08 10:30 ID:YE9LQNzW
Tomcat 4.0.1 って Win2k/XP のサービス起動出来なくなってね?
家の VAIO, 仕事場の ThinkPad, NetVista の 3 台とも全滅。

> C:\localhost\home>net start "Apache Tomcat"
> Apache Tomcat サービスを開始します.
> Apache Tomcat サービスを開始できませんでした。
>
> サービスはエラーを報告しませんでした。
>
> NET HELPMSG 3534 と入力すると、より詳しい説明が得られます。

イベントビューアーを見ると
> The LoadLibrary function failed for the following reason: 指定された
> モジュールが見つかりません。

どこかに PATH でも通す必要があるのか?

135 :nobodyさん:02/08/08 17:45 ID:???
JNDIを使って、JAVAとLDAPを繋げようとしているのだが、うまくいかない。
java.lang.ClassCastException:com.sum.jndi.ldap.LdapCtx
というエラーが出る。
意味わかる人がいたら何が悪いか教えてください。
もしスレ違いでしたら、適当なスレを教えていただけると幸いです。

136 :nobodyさん:02/08/08 22:08 ID:???
ホームページみてやるより、初めて挑戦するならごくごく初心者用の
本が最近はたくさん出てるから1冊参考に買ってみるといいですよ。
その方が必要最低限の事はザーっと見れると思うし。

137 :nobodyさん:02/08/09 01:07 ID:???
>>135
スタックトレース出てる?

138 :135:02/08/09 02:43 ID:???
>>137
長いものは出ていません。
java.lang.ClassCastException:com.sum.jndi.ldap.LdapCtx
at ×××.main(×××.java:50)
と出ています。(×××はプログラム名です。)

139 :nobodyさん:02/08/09 02:50 ID:???
>>138
じゃ、その ×××.java の 50 行目で Context のキャストに失敗してるだけ。


140 :135と138:02/08/09 13:43 ID:???
>>139
ありがとうございます。
javaのプログラムは問題ないと思うので、
キャストが失敗しているということはldapの問題かな、やっぱり。


141 :nobodyさん:02/08/09 14:34 ID:???
>>140
ちげーよ、オイ! とりあえず 50 行目のコード出してみろ。
大方↓こんなことでもやってるんじゃないのか?
InitialContext ctx = (InitialContext)hashtable.get("hoge");

142 :140:02/08/09 16:56 ID:???
>>141さん
ありがとうございます。
いろいろと試してみたのですが同じエラーが出たり、別のエラーが出たりといった状態で
相変わらず繋がりません。基本的なことがわかっていないのかも・・・。

JAVAのプログラムは
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://localhost:389/");
InitialContext ctx = new InitialContext(env);
topicConnectionFactory=(TopicConnectionFactory)ctx.lookup("dc=sample,dc=jp");←これが50行目
です。

ちなみにLDAPファイルの中身が下記のような形です。
dn:dc=sample,dc=jp
objectclass: dcObject
objectclass:organization
o:Factory00
dc:sample

lookupの部分はldapのどの部分を指定すれば良いのでしょうか?
わかりましたらよろしくお願いします。

143 :nobodyさん:02/08/09 17:17 ID:uYc6rPBJ
サーブレットで呼び元を知るにはどうしたらいのでしょうか?

144 :nobodyさん:02/08/09 17:31 ID:???
>>142
じつは LDAP は使ったことが無いので詳しくは分からないのだが、ctx.lookup()
が返しているものは Topic〜じゃなくて com.sum.jndi.ldap.LdapCtx のイン
スタンスだ。だから多分↓こう書かなきゃいけない。そこから Topic〜 の取得
方法は知らない。

Context ldapCtx = (Context)ctx.lookup("dc=sample,dc=jp");

>>143
String yobimotoURL = request.getHeader("Referer");
// ↑不明なときは null になるので注意

145 :143:02/08/09 19:29 ID:uYc6rPBJ
>>144
thanks

146 :142:02/08/09 21:09 ID:???
>>144さん
ありがとうございます。ややこしくて頭混乱気味です。一度整理しないと。
それとTopicConnectionFactoryの所得方法を知っている方がいましたら
教えてください。お願いします。

しかしよぅ、多少プログラミング言語ができるとどんなプログラムでも
作れると周りから思われるのは何とかならんかい



147 :nobodyさん:02/08/12 00:53 ID:???
Tomcat4.0.4のWin用って、servlet.jar無いんですか?
厨房質問で申し訳ないのですが・・・

148 :nobodyさん:02/08/12 02:34 ID:???
>>147
common/lib にないの?

149 :nobodyさん:02/08/15 02:30 ID:???
大それた質問なのですが、お願いします。

jsp:forward って「他のサーバ」のリソースにフォワード出来たりしますか?

150 :nobodyさん:02/08/15 07:11 ID:nluYDw9h
>>149
むり。リダイレクトしろ。

151 :147:02/08/15 23:15 ID:???
148>>
遅くなってしまった。148さんレスありがとうございます。
自宅でTomcat4.0.4をDLしてみたらありました。
今更ですが無いわけ無いですよね。すみません!

152 :まつ:02/08/20 02:17 ID:yjCVey5W
テキストフォームに文字を入力して表示されている文字にマッチすると
赤く置換されるサンプルのJSPを作ってみた。

\を入れてもエラーを回避してヒットする方法を誰かしってる?
(\\を入れるとヒットします。)

JSPってなんで String tuka = "\"; って\を""で囲ってエラーになるんだろ?


<!-------- moji.jsp -------------------------->
<%@ page contentType="text/html; charset=SJIS"%>
<%
String inputMoji = request.getParameter("inputMoji");
String moji = "ABCDEFG\\HIJKLMN\\OPQRSTU\\VWXYZ";

//文字置換
moji = moji.replaceFirst("("+ inputMoji +")","<font color='red'><B>$1<\\/B><\\/font>");
%>
<HTML>
<FORM METHOD=POST ACTION="./moji.jsp">
<%=moji%><BR>
<input type="text" name="inputMoji">
<input type="submit">
</FORM>
</HTML>

153 :v:02/08/20 06:25 ID:FJl0QgGS
http://muvc.net/jsweb/

154 :初めてのサーバーサイドjava:02/08/20 15:15 ID:???
Apache1.3.26 Tomcat4.0.4 mod_jk.dll j2sdk1.4.0_01 WinXP
で組んでみました。するとHTMLファイルは問題なく表示されるのですが
JSPだとstatus500 Internal Server Error がでます。それから参照先の
フォルダの中身がリストになって表示されてしまいます。
こういう時は何処からチェックしていけばいいのでしょうか?
見よう見まねでチャレンジしてます。どなたかご助言をお願いします。

155 :nobodyさん:02/08/20 20:39 ID:RuSa0Yqx
Apache1.3.22 Tomcat4.04 で連携させるため
mod_webapp.soをビルドしようとしていますが失敗します。
./support/buildconf.shの実行まではうまくいく
のですが次のconfigureで失敗します。
./configure --enable-docs --with-PACKAGE=yes --with-apxs=/usr/sbin/apxs --with-apr=./apr
途中で

checking for apr CC variable... error
configure: error: cannot find APRVARS file in /home/test/webapp/apr

のようになってしまいます。なにかご助言があればお願いいたします。

156 :nobodyさん:02/08/21 19:48 ID:wTMM6SK6
PHPで言うところの、連想配列って作ること可能ですか?


157 :あぼーん:あぼーん
あぼーん

158 :nobodyさん:02/08/22 03:00 ID:???
>>156
可能ですよ。

159 :tomcat:02/08/22 23:23 ID:???
>>155
cp ./apr/apr-config ./apr/APRVARS


160 :nobodyさん:02/08/24 00:32 ID:/szaZI0N
>>154
Apacheのmod_jkの設定内容と、Tomcatのworkers.properties、server.xmlの内容。
そこらへん掲示してもらえればもうちょっと具体的にいえるかも?

161 :nobodyさん:02/08/24 03:20 ID:utJTQwUG
JSPからの入力値をServletで受け取って、別のJSPを返す処理をやっています。

このとき、ブラウザのURL欄にServletのURLが出てしまうのですが、これを
JSPのURLにすることは可能でしょうか。。。

サーバ:Tomcat3.3.2(単体)、Solaris8
クライアント:IE、Operaともにだめでした、Windows2000
---
最初のJSPの一部
<form method="GET" action="ServletのURL">
<input type="submit" name="Submit" value="Submit">
</form>
---
Servletの一部
public void doGet( .....) throws ....{
//途中の処理
RequestDispatcher rd = context.getRequestDispatcher("次のJSP"); //この"次のJSP"のURLを出したい
rd.forward(request,response);
}
----


162 :nobodyさん:02/08/24 03:29 ID:V0UGUmX8
JSPの勉強をし始めたところなんですが、
JSP上で「Vector ary = new Vector();」を実行すると、
Class org.apache.jsp.Vector not found.

と言われてしまいます。
何かインポートしなければいけないんでしょうか。


163 :nobodyさん:02/08/24 11:29 ID:/szaZI0N
>162
<%@ page import="java.util.*" %>
を追加。


164 :nobodyさん:02/08/24 14:43 ID:H7leyWd6
>>161
sendRedirectにしたらどう?
ところで、なぜそこまでしてブラウザにJSPファイル名出したいのですか?

165 :初めてのサーバーサイドjava:02/08/24 22:16 ID:???
>>160 レスありがとうございます。

私が行ったのは
Apache\modulesにmod_jk.dllを入れる。
Apache\confの中のhttpd.confの末尾にInclude "C:\tomcat\conf\mod_jk.conf-auto"を追加。

tomcat\confのなかにmod_jk.conf-autoを入れる。
(以前tom3.2.x系で試したのをバックアップしていてそれからコピー。)
最初のJkWorkersFile・・・に"C:/tomcat/conf/jk/workers.properties"に書き換え。
mod_jk.conf-auto内のajp12をajp13に置換。

workers.propertiesもtom3系のを流用。
途中のworker.tomcat_homeとworker.java_homeにそれぞれのパスを記入。
ajp12をajp13に置換。

server.xmlは
<Server port="8005" shutdown="SHUTDOWN" debug="0">の下に
<Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" modJk="C:\Apache\modules\mod_jk.dll" />
 を追記。
<Host name="localhost" debug="0" appBase="webapps" ・・・> の下に
  <Listener className="org.apache.ajp.tomcat4.config.ApacheConfig" append="true" />
 を追記しています。

ちなみにJSPは動きました。ですがリスト表示されるのは相変わらずです。
Apacheのhttpd.confのDocumentrootにtomcat\webapps内の使っているフォルダ名までパスを記述して
ブラウザ上でlocalhostでアクセスすると404エラーになり、パスを全部記述しないと
表示できない状況です。

何だかレベルの低い質問で恐縮の限りですがアドバイスをいただければ嬉しいです。

166 :nobodyさん:02/08/24 23:34 ID:/szaZI0N
>165
>ちなみにJSPは動きました。ですがリスト表示されるのは相変わらずです。
??。JSPが動かなかったんじゃないの?>154
リスト表示?されるのは>>96ではないかと。
JSP・Servletの何れかが正常動作しないのは現在の情報ではmod_jk.conf-autoに問題があるような。。。


167 :161:02/08/25 01:07 ID:???
>>164
レスありがとうございます。
sendRedirect()ではできました。。。

>ところで、なぜそこまでしてブラウザにJSPファイル名出したいのですか?
たいした理由じゃないんですが、クライアントにとっては表示しているのは
2枚目のJSPの内容なので、URL欄もそうじゃなきゃおかしいと思ったからです。。。

JSP/Servletの開発がはじめてなので、Servletの名前がでるのが普通かどうか
判断できなかったですう。。。


168 :初めてのサーバーサイドjava:02/08/28 00:27 ID:???
>>166
レスありがとうございます。
mod_jk.conf-autoですね、もう少し勉強して色々やってみます。

169 :nobodyさん:02/08/28 06:31 ID:r028kWh6
神聖銀行がソフトバンクの会社更生申立を損に通告!!
又、預保に瑕疵担保条項に基づく買い戻し請求!!
神聖銀行がソフトバンクの会社更生申立を損に通告!!
又、預保に瑕疵担保条項に基づく買い戻し請求!!
神聖銀行がソフトバンクの会社更生申立を損に通告!!
又、預保に瑕疵担保条項に基づく買い戻し請求!!
神聖銀行がソフトバンクの会社更生申立を損に通告!!
又、預保に瑕疵担保条項に基づく買い戻し請求!!

170 :nobodyさん:02/08/28 13:29 ID:tGW5fHH2
Servletかじりたてなんですが、サーバ側でイベントが発生したらリアルタイムで
情報をPushさせたい場合は、素直にAppletを勉強すべきなんでしょうか?

制御システムとWebをくっつけるものを作ってて、ふと
ユーザが手を出さないとイベントもへったくれもない気がして・・・無知ゴメソ・・・。

171 :nobodyさん:02/08/31 22:57 ID:mJeuMnFZ
JSPはソースコンパイルしなくてイイし便利なんだけどServletっていちいちコンパイルした後にtomcat再起動しなくちゃダメじゃん
あれってどうにかならないの?
サーバが別マシンなんだけど激しくめんどくさいんだよね。特にtomcatは再起動に時間がかかる・・

classファイル変更したときにtomcat再起動せずにすむ方法ってないかな?
環境はapache+tomcatっす

172 :nobodyさん:02/09/01 00:01 ID:???
>>171
resinにすれ

173 :73へ:02/09/01 22:52 ID:NNPDCqX6
jdkを1.4にしたらどうですかな?

私も同じ症状だったけど、いけましたぞ

174 :nobodyさん:02/09/02 02:15 ID:2oT4bP/+
>>171
Tomcatだったらmanagerアプリが入ってるだろ?
/manager/reload?path=/YOUR_CONTEXT_PATH
を呼べばリロードできる。
tomcat-users.xmlにmanager権限を持つユーザを追加する必要があるが。

175 :初期不良:02/09/02 03:08 ID:???
>>174
勉強になりまふ

176 :nobodyさん:02/09/02 21:31 ID:???
上の方で話題になってたmultipart/form-dataのパースクラス、
漏れも欲しいんだけどもう1度うpしてもらえませんか?
オライリーのはいきなり保存されちゃってなんか好かん。

177 :nobodyさん:02/09/02 23:21 ID:???
>>177
JakartaのCommonsプロジェクトに、マルチパート解析用のユーティリティ出てたよ
今後はこれがいいかも。

178 :nobodyさん:02/09/03 11:06 ID:???
>>177
これかな?
ttp://jakarta.apache.org/commons/sandbox/fileupload/

179 :nobodyさん:02/09/03 12:11 ID:???
>>176
はいよ。

http://tool-ya.ddo.jp/2ch/trash-box/contents.jsp?file=20020903121055000.zip


180 :nobodyさん:02/09/03 12:25 ID:???
俺のは一時ファイルに保存しないでパート単位で (名前付き) ストリームを取り
出す感じだから、余分なオーバーヘッドが発生しない代わりにプログラマ的に
面倒かも。

↓いままでこう書いてた奴が
String value1 = request.getParameter("value1");
String value2 = request.getParameter("value2");

↓こういう感じになる。
String value1 = null;
while(true){
  FormData part = multipart.getNextFormData();
  if(part == null)  break;
  if(part.getName().equals("value1")){
    value1 = part.getValue("Shift_JIS");
  } else if(part.getName().equals("file1")){
    InputStream in = part.getInputStream();
    …
  }
}

181 :ふぉ:02/09/06 09:36 ID:sFTL/UD4
↑一連のFileUpLoad参考にしちゃってます。
フォルダごとアップロードってできんのかな?

182 :180:02/09/06 12:01 ID:???
>>181
フォルダごとは無理かな。いくつかのファイルをまとめてってんだったら
クライアント側で ZIP か LZH に固めてもらってる。イントラ開発なら
アプレットのセキュリティレベル下げて、フォルダごと ZIP に固めて POST
するようなアプレット作る。

183 :nobodyさん:02/09/07 00:27 ID:41V0KowW
>>177

> 今後はこれがいいかも。

オライリのとくらべて格段にメンドクセー気がすんだけど、どんなメリットがあんの?


184 :nobodyさん:02/09/07 02:56 ID:???
>>177
オライリーのと >>180 の悪いとこ取りみたいな感じが…
オライリーのはプログラマ的に楽だし、>>180 のは完全にストリームベースで
できるので効率最優先の時に良いんだけど。

185 :nobodyさん:02/09/08 08:25 ID:+tHMOokM

JSPと言えど、ある程度のものを書くにはそれなりのJavaの知識が必要なんだ
ね。最初、JSPにデータベースの処理書いたら、先輩にBeansで3層にしろ、っ
て言われちゃったよ。Java初心者にとってBeansはちょっと壁が高いです..




186 :nobodyさん:02/09/08 09:08 ID:+tHMOokM
JSP書くときソフトは何使っていますか?
メモ帳は使いにくいです。



187 :nobodyさん:02/09/08 17:25 ID:???
>>186
秀丸。マクロと強調表示をうまく作ると使いやすい。
macromedia の Ultra Developer で JSP は使いにくかったが、サイト管理系のところ
だけなら結構良い。

188 :nobodyさん:02/09/10 22:26 ID:SB/7i5JH
JSPにはHTML::Templateみたいなクロスサイトスクリプティング脆弱性を
事前に防止するために役に立ちそうな機構はありますか?

189 :177:02/09/10 23:47 ID:???
Jakarataで作ったものなら皆結構使うからいいかなぁ、と思って脊髄反射で書き込んだだけですた
漏れだめぽ・・・
>>178
JavaDoc見てると、ストリームベースで扱えるっぽいよ。
FileItem#getInputStreamでストリームが取れそうな感じ。


190 :180:02/09/11 01:50 ID:???
>>189
ふっふっふ
俺のはメモリや一時ファイルにデータを保管してからあらためて取り出す
ようなことはやらんのだよ。でかい CSV ファイルを先頭から DB にぶち
込んだり、馬鹿でかい XML ファイルを SAX に食わせたりするときに
有利かな。
アップしてたソースがまた落ちたので、アップロードのページにリンク
貼っときますた。

191 :nobodyさん:02/09/11 18:40 ID:KsAJ6jkE
javax.servlet.http.HttpSession を invalidate で無効化できるとどこかで見たんだけど、本当に消えるの?

192 :nobodyさん:02/09/11 19:27 ID:???
>>191
「消える」の定義がよく分からんが、次回のリクエスト時に request.getSession(false) を
やると null が返ってくる。getSession(true) なら何も入っていないセッションが取れる。
また、invalidate() を呼び出したときに HttpSessionBindingListener#unbound() も
呼び出される。これを「消えた」というなら消える。

実を言うと鯖をクラスタ化して DB でセッション管理している時のそこらへんの動きは
禿しく微妙なんだけどね。

193 :nobodyさん:02/09/12 20:15 ID:EiytWMDM
クッキーを使ったセッションって、通常のHTMLファイルのリンクでも
維持されるものなのでしょうか?

クッキーをブラウザが送ってるのは当たり前として、サーバー側で
そのクッキーを元に、時間カウントをリフレッシュしてるんでしょうか?

こちら、Tomcat4.04 + JDK1.4です。


194 :nobodyさん:02/09/12 20:40 ID:EiytWMDM
すいません、アップローダ、さらにもう一度アップしていただけませんでしょうか?
数日も経たない間にお願いして申し訳ございませんが。お願いします。

オライリーのは開発チームみんなで本買ってねってのに加え、
基本的に商用利用不可って書いてるし。


195 :nobodyさん:02/09/12 20:41 ID:???
>>193
> そのクッキーを元に、時間カウントをリフレッシュしてるんでしょうか?

普通は HTML などのような静的なファイルへのアクセスでセッションの LastAccess
は変わりません。ただし大抵の環境は FileServlet を自作版と置き換えられる
ので、アクセスごとにセッションに触るサーブレットを自作して置き換えれば良い。
フルコーディングしなくてもオーバーライドすれば楽。

import java.io.*;
import javax.servlet.http.*;
import org.apache.catalina.servlets.*;

public clas OresamaServlet extends DefaultServlet{
  protected void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
  {
    request.getSession(true);
    super.doGet(req, res);
    return;
  }

}

$TOMCAT_HOME/conf/web.xml にある org.apache.catalina.servlets.DefaultServlet
というのをこのサーブレットクラスの名前に置き換えれ。

ただし HTML ファイルなどが Apache へマッピングされてたらどうしようもない。

196 :180:02/09/12 20:43 ID:???
>>194
アップロードのページの下のほうにリンク貼っといた。

http://tool-ya.ddo.jp/2ch/trash-box/

197 :nobodyさん:02/09/12 23:39 ID:???
Beansを作る場合ってpackage化しないといけないのですか?

198 :194:02/09/13 01:19 ID:rrE5hfdS
>196
ありがとうございます。

ukのHPとかオライリーって、ソース公開しておいて商用不可かよっ!
って感じで、Javaの世界はなんだかなーと思ってたので、すごい
助かります。


199 :193(=194):02/09/13 01:27 ID:rrE5hfdS
>195
なるほど。そういう仕組みになってるんですねぇ。
全然Servletコンテナの仕組みしらないので参考にします。


200 :nobodyさん:02/09/13 02:51 ID:N8mYZ7Nv
>>197
Beanに限らず、JavaプログラムはPackage化するのが普通。
無名Packageはあくまでも特殊なケース。



201 :nobodyさん:02/09/14 21:10 ID:???
linux+tomcat+apacheでアプリ作ってると、下のような現象に陥ることがある。
・ソースを書き変えてコンパイルしてクラスを更新しても、クライアント側に反映されない。
理由がさっぱりなので誰か教えてください。


202 :nobodyさん:02/09/14 21:15 ID:???
javamailで設定するsmtpホストのアドレスって自マシンのIPでいいの?
vine2.5+apache1.3.24+tomcat4.0でやってるんだけど、自マシンのIP設定するとメールおくれるんだよね。これってなんで?

203 :nobodyさん:02/09/15 13:41 ID:hcAsMafz
>>202
defaultでsendmailかPostfixがたちあがっているからじゃん?
rootになってntsysvコマンドでしらべてみな。

まぁ、psで調べてもいいけどさ。


204 :nobodyさん:02/09/15 23:27 ID:4RjfenHM
>>201
reloadable?

205 :201:02/09/16 18:54 ID:???
>>204
reloadableっていうのは、更新できるかってことですか?
エラーもなく更新はできてるよ。

206 :nobodyさん:02/09/16 18:59 ID:Fc5JTIXQ
servletでフォーム認証する方法知ってる人いる?
ちなみにユーザーは百人前後を予定してるんだけれども。



207 :nobodyさん:02/09/16 19:04 ID:???
>>203

立ち上がってたー。有り難う。

208 :177:02/09/16 19:57 ID:???
>>206
Servlet2.2で、Form認証に関する仕様が定められてるので、それ見れ。


209 :nobodyさん:02/09/16 21:47 ID:2vuqixrP
Apache 1.3.26 + Tomcat 3.3.1 + PostgreSQL 7.2.1 を使っています。
あるDBのコネクションプーリングをするクラス(ConnectionPool)を作成して、
下のような感じにしているのですが、

pubilc class TheDB {
 private static TheDB instance = null;
 private ConnectionPool pool = null;

 private TheDB {
  // serverの設定読み込み
  pool = new ConnectionPool(上で読み込んだ設定);
 }

 public static TheDB getInstance() {
  if (instance == null) instance = TheDB();
  return instance;
 }
 :
}

これを使っていると、(この部分とは別の)classを変更したときに
新しいTheDBインスタンスが作られて、DBへのコネクションがどんどん増える、
という状態になってしまいました。(古いインスタンスが残っているのだと思いますが…)
仕方ないので今はTomcatを再起動しています。
Javaは始めて日が浅いのでよく分からないのですが、参照されなくなった
インスタンスはGCに回収されないのでしょうか?


210 :nobodyさん:02/09/16 23:26 ID:???
>>209
Singletonで設計したTheDBが複数インスタンス化されてしまうこと自体、
おかしくないですか?
ひょっとして、似たようなクラスをコピペで大量生産してますか?

ちなみに上記のような設計にした場合、TheDBのインスタンスはGCに回収されません。
(TheDBのstatic属性として参照されつづけてますからね)


211 :209:02/09/17 00:19 ID:elworjfu
>>210
作ったクラスはTheDBだけです。

既存サーブレットを書き換えて、Tomcatが下記のメッセージを
吐いてリロード(?)したときに新たにインスタンス化されています。

2002-09-17 XX:XX:XX - ContextManager: Removing context DEFAULT:/hogehoge
2002-09-17 XX:XX:XX - ContextManager: Adding context DEFAULT:/hogehoge

古いインスタンスの方は、DBのコネクションが張られたままになって
いるので残っているようです。


212 :nobodyさん:02/09/17 00:39 ID:???
>>211
それは Tomcat のオートリロードが利いてるだけ。Java の static オブジェクトは
JavaVM に一つじゃなくて Class インスタンスに一つ。Tomcat のオートリロードは
Class インスタンスの入れ替えを行うので、同じ JVM 上に複数の static オブジェ
クトができるわけ。どっかのサーブレットの destroy() に TheDB インスタンスを
クリーンアップするようなコード書いとけ。

213 :nobodyさん:02/09/17 00:50 ID:???
>>211
すまん、クラスのオートリロード時にサーブレットの destroy() が呼び出されるかは
不明 (WebSphere だと destroy() 呼ばないで Web アプリケーションが再起動しちまう)。
まぁーそうだなぁ。$JAVA_HOME/lib/ext にその TheDB ってクラスの入った jar を放り
込んでおくか、環境系の変なトラブル出したくなかったら毎回ちゃんと再起動するかかな。
インスタンス内でサーバソケット開いて、新しいインスタンス生成する前に localhost
接続して前のに終了命令を出すってのもあるけどめんどくさい。

サーバサイドでリソースやスレッドを Singleton で管理するクラスを作った人間が大抵
ハマる罠。

214 :210:02/09/17 01:05 ID:???
>>213
Tomcatのオートリロードって、設定ファイルか何かではずせないものなんですか?

AppServerでクラスのリロードされると、はまることが多いですよね。
HttpSessionにいれたインスタンスのキャストに失敗したりしません?

215 :nobodyさん:02/09/17 03:28 ID:???
>>214
たしか $TOMCAT_HOME/conf/server.xml と apps-xxx.xml にオートリロードの
設定があったはず (3.3.1)。触ったことが無いのでよく知らんけど。

そう、オートリロードが走ると、既にセッションに入っているオブジェクトの
Class と新しいクラスローダー上での Class のインスタンスが違うからキャ
ストに失敗したりする。まぁ今さら起きても「あ〜再起動忘れた〜」で済んでる
けど、最初の頃は謎だった。よく考えたらなるほどね〜って感じ。

>>209
GC で消えないのは、どこかにリロード前のそのオブジェクト (か参照たどった
別のオブジェクト) を見てるスレッドが生き残ってるから。まぁコネクション
プールなら内部に「監視スレッド」持ってても不思議じゃないから、多分そいつが
生き残って古い TheDB を参照してるので GC の対象にならない。

と見たがどうか。

216 :nobodyさん:02/09/17 03:37 ID:???
ごめん、参照しているスレッドが居なくてもコンテキストが握ってれば
GC は走らないな。それから getInstance() には synchronized 修飾子
付けとけ。

217 :210:02/09/17 23:18 ID:???
>>215
調べてみた。Contextのりローダブルフラグで設定できるらしい(tomcat3.2.3)
ttp://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.3/doc-ja/uguide/tomcat_ug.html

209の作りはそもそもどう七日って気も少しするけど、気にしない方向で。

218 :nobodyさん:02/09/18 16:56 ID:???
servletから別のクラスを利用するときって、-classpathを付けなくてもコンパイルできるよね。なぜなのか誰かおせーて

219 :nobodyさん:02/09/18 17:07 ID:???
Error: No match was found for method "addElement(long)".
Error: No match was found for method "copyInto(long[])".

220 :219:02/09/18 17:09 ID:???
途中でカキコしちまった。スマソ

Vectorて何でも良いんじゃないの?
Stringじゃないとエラー出るんですけど何故?

221 :nobodyさん:02/09/18 18:08 ID:???
>>220
byte, int, long なんかのプリミティブ型じゃだめですな。
v.addElement(new Long(value)) みたいにせんと。

222 :219:02/09/18 18:29 ID:???
>>221
すんません。アホでした。
オブジェクトって書いてあったんで
・Longにして格納(220氏のご指摘どおり)
・l=(Long[])v.toArray();で配列化
・long=(long)l[i];
そしたら、type "Long" cannot be cast into type "long".
えーん(T_T)l[i].longValue()だと、java.lang.ClassCastException
どうやったらlongの値が取れますか?!

223 :219:02/09/18 18:41 ID:???
と、思ったら l=(Long[])v.toArray();
が、java.lang.ClassCastException でした。
ふ〜む?

224 :219:02/09/18 18:56 ID:???
http://www.asahi-net.or.jp/~dp8t-asm/java/tips/MakeArrayDynamically.html
を見て、v.copyInto(l);にすると
> null
> java.lang.ArrayStoreException
ひぇーん(p_;)

225 :もうちょっと基礎を勉強せい:02/09/19 01:32 ID:???
Vector v = new Vector();
v.add(new Long(0));
...

Long[] longArray = (Long[])(v.toArray(new Long[0]));
for(int i=0;i<longArray.length;i++){
long l = longArray[i].longValue();
System.out.println(l);
}


226 :nobodyさん:02/09/19 01:49 ID:???
先に解答を書かれたのでこれだけ言っとく


             板  違  い  で  つ


227 :nobodyさん:02/09/19 10:10 ID:3f2LBbrr
ブラウザで動くActiveXクライアントと
UnixのServletでHTTPを使ってやり取りできますか?
Servletで掲示板システムを作って
ActiveXクライアントから投稿したいんですけど。

228 :nobodyさん:02/09/19 10:52 ID:???
>>227
SOAPまたはSOAPモドキを使いたいということなのかもしれ
んが、そうでなきゃ、HTTPを扱うActiveXコントロールだけの
問題と思われ。

それなら、板違い。


229 :nobodyさん:02/09/19 11:20 ID:???
>228
ありがとうございました。
プログラム板でたずねて見ます。

230 :nobodyさん:02/09/19 22:57 ID:/RwVyOp1
組み込みブラウザ相手のWebアプリなんで、Servlet/JSP の出力に Filter かまして
Content-Length: を強制的に付けるようにしてるのだけど、doFilter() の中で
response の OutputStream を close() してしまうとストリームが既に閉じてる旨の
エラーをTomcatが時々出してくる。

ので close() しないようにしたんだけどこれは正しい?
モノの本のサンプルではclose()してるんだけど...

Tomcat 4.1.10 / RedHat7.3

231 :nobodyさん:02/09/19 23:01 ID:???
>>230
close() しなくても良い。とりあえずそのバカ本晒せ。

232 :219:02/09/19 23:33 ID:???
>>225-226
すんまへん。
有り難うございました。
でも、意外とこういう型変換は本にもサイトにも載ってないんですよね。
助かりました。次回はマ板などに行きますです。

233 :pan:02/09/20 10:38 ID:???
Win2K Pro + Apache2.0.4 + Tomcat4.0.4
という環境です。
連携には"mod_jk"を利用しようと思っています。

さて、本題ですが、
他のどこのサイトを参照しても、
「ソースからコンパイルして、DLLを作成しましょう。」となっています。
jakarta本家サイトもそう書いてあるので、それが正解なのはわかりますが、
私にはコンパイル環境がありません。

本家に3.3.x用の"mod_jk.dll"はあるのですが、
4.0.x用の"mod_jk.dll"はありませんので困っています。
どこか、ダウンロード出来る所とかないでしょうか?

以上、よろしくお願いします。


234 :nobodyさん:02/09/20 13:59 ID:???
> AgentInfo agent_info=(AgentInfo)session.getAttribute("AGENT_INFO");
で、ClassCastExceptionを吐きます。

入れる時は、
> AgentInfo agent_info=new AgentInfo();
> session.setAttribute("AGENT_INFO", agent_info);
で、エラーは出てないのですが。

AgentInfoは、
> <%@ include file="agent_info.jsp"%>
で指定してるんですが、これじゃあかんのでしょうか?

235 :230:02/09/20 22:23 ID:???
>>231
おおっ、即答どもです。安心できました。
ちなみに書籍は↓
http://www2.gihyo.co.jp/books/bookinfo.asp?ID=4-7741-1379-4

236 :nobodyさん:02/09/24 21:15 ID:CcL7X+71
クライアントから送られてきたデータをDBに格納する際、DBの外部参照等
の制約はみなさんどうしていますか?わざとSQLExceptionを発生させて、
データ不正とクライアントに返すのが一般的ですか?それともあらかじめ
INSERT(UPDATE)する前に対象DBを検索しServlet(Java)側でそのデータの
整合性を検証するのが一般的なのでしょうか?

237 :nobodyさん:02/09/24 22:27 ID:???
DB 更新前にデータの整合性を検証する (ストアドとかでやっても良いけど)。
SQLException の発生を期待すると、本当の DB 障害と区別をつけるために
SQLState や Error Code を見る羽目になる。DB の制約は (外部バッチ等も
考慮して) 保険と思え。

238 :nobodyさん:02/09/25 00:19 ID:???
>>233
mod_jk.dllはTomcat4.xと3.x両対応じゃないの?
workers.propertiesとかの設定で動くと思うが。
win環境ならそのdllそのまま使えるでしょ。

239 :pan:02/09/25 13:52 ID:???
>>238
最初はそう思って動作させたのですが、"mod_jk無いよ"みたいなメッセージがでてしまい、
上手い事動作しませんでした。

ってことでWEBを調べたら、>233のような感じだったんですよ。

ちなみにApache1.3.x+Tomcat4.0.xの場合は238さんのおっしゃる通り、
本家で配布しているdllがそのまま利用できるようです。
Apache2.0.x+Tomcat4.0.xの場合はTomcat4.0.xの配布場所から、
mod_jkのソースをダウソ、コンパイルしてdllを作成し、
それを利用しないとダメなんだそうです。


240 :nobodyさん:02/09/25 20:55 ID:???
スレ違いかもしれんけど、自動負荷ツールでフリーな奴のおすすめないっすかね..
某JMeterのうんこUIは正直耐えられな..

241 :nobodyさん:02/09/27 21:39 ID:RwP/8UIK
よく見かける、n個の接続を使いまわす「コネクションプーリング」と、
JDBC2.0で定義されている接続プーリングって全然違うものですか?

前者は、単純にDBの接続を使いまわすもの。後者は、ResultSetなどを
保持しつつ、他のクエリーを実行したあとに、また元の状態に復帰できる
ものという解釈で良いでしょうか?



242 :nobodyさん:02/09/28 13:22 ID:???
コネクション、和訳をすれば、接続よ。575

243 :241:02/09/28 18:32 ID:JW6zvc4Y
>242
そそ、だから謎なの。
わざわざJDBCで用意されてるのに、なんで商用Servletコンテナ
では用意されてたりするのかなーとかが、謎で。


244 :nobodyさん:02/09/28 22:35 ID:???
>>243
JDBC 2.0 で提供されてるのはインターフェースだけ。中身はない。
その実装を商用アプリケーションサーバのメーカーが行っている。

と、それが聞きたかったのか?

245 :241:02/09/29 00:45 ID:SRhsLTZc
>244
すいません。最も聞きたいことは、

OracleのJDBCドライバに実装されているConnectionPoolDataSource
を使うならば、Tomcat4.0.4でコネクションプーリングのクラスを作らなくて
も良いのでしょうか?ということです。

というか、Webアプリの視点から見たときに、本来、アプリケーションサーバが
実装してるものを、Oracleは、JDBCドライバで実装してくれていると考えても
良いのでしょうか。


246 :nobodyさん:02/09/29 02:35 ID:???
>>245
そういうこと。
完全なコネクションプールは接続対象のデータベース製品の特性を
熟知しているところでないと実装が難しい。

247 :nobodyさん:02/09/29 11:10 ID:SRhsLTZc
>246
なるほど、ありがとうございます。

アプリケーションサーバも、Oracle JDBC2.0のドライバも
同じインターフェースに実装してるということを知って、
驚きでした。早速、Oracleのドライバを使って、実現することにします。


248 :nobodyさん:02/09/29 23:13 ID:???
>>247
多分 Oracle にしてみれば、アプリケーションサーバみたいなコネクションプールを
デフォルト装備した環境だけじゃなく、普通の Java アプリケーションでもコネク
ションプールを使えるように用意してくれていると思う。蔵鯖でプールが必要かと
いわれれば激しく疑問なので、用途が特化された (Web じゃない) 鯖とかゲート
ウェイ鯖開発用に。

249 :238:02/10/01 23:11 ID:???
>>239
レス遅れた。スマソ。
最近発売されたサーバーサイドJAVA系の本にApache2.0.x+Tomcat4.0.xの
設定例が載っているそうだよ。
本の種類はそんな多い方じゃないと思うから、本屋さんで立ち読みしてみたらどうでしょう?


250 :nobodyさん:02/10/02 13:07 ID:???
>>249
mod_jk2 がちゃんと出るまで待った方がいいような気がする。

251 :アーフォー:02/10/02 15:52 ID:???
EJB と JavaBeans の違いがよく分かりません。
簡単なサンプル・ソースとかが載っている書籍、ホームページがあれば教えていただけませんでしょうか?


252 :nobodyさん:02/10/03 14:07 ID:KDvau4q1
>>250
ほらよ。
俺は結局1.3で運用してるがな。

ttp://www.acg-gmbh.de/mod_jk/

253 :nobodyさん:02/10/03 14:33 ID:5xq1UjDr
>>251
ここは?
http://www.cc.rim.or.jp/~egami3/ejb/#4

254 :pan:02/10/03 15:25 ID:???
>>249
有難うございます。
色々と調査した結果、Apache2.0.x用のmod_jkを発見できました。
コレを利用して立ち上げた所、正常に起動し、
exmaples以下のサーブレット&JSPが正常に動作するのを確認できました。
色々とアドバイス有難うございました。

ちなみにmod_jkの場所は、
ttp://www.acg-gmbh.de/mod_jk/ です。
tomcat-users MLにPOSTされていたのを発見しました。

255 :nobodyさん:02/10/04 11:27 ID:???


256 :nobodyさん:02/10/04 11:33 ID:gpSssjjt
JSPからServletのクラスを参照するにはどうすればいいのですか。
JSPファイルを表示させるときに「シンボルが解決できません」になります。
一緒に動かすServletの方はコンパイルできているのですが…。


257 :nobodyさん:02/10/04 12:05 ID:???
JSP やサーブレットから他のサーブレットを参照するなんてことは普通やらない。
どうせデータの受け渡しをしたいだけだろ? ServletContext, HttpSession, HttpServletRequest
の setAttribute()/getAttribute() 使え。

258 : :02/10/04 19:29 ID:???
Staticallyにtomcatとapacheを連係させる方法しらべてるんですけど、
なかなかインターネットに情報がないですぅ。
どこもDSOをつかったインストール方法ばかりです。
どなたかStaticにApacheにインストールしてる方はいませんでしょうか?
ちなみに、mod_perlとPHPはDSOなしでApacheに組み込んでます。

259 :254:02/10/04 21:35 ID:???
>>255
なるほど。
ということは、ServletにNikki classを作って、JSPファイル内に
NIkki nikki = new Nikki(引数)
みたいな書き方はおかしいですか?


260 :259=256:02/10/05 06:54 ID:???
誤爆してる…
>>257でした。すまそ。


261 :nobodyさん:02/10/05 09:56 ID:???
>>259
JSP のコンパイルが通らないんだろ? import でちゃんとパッケージを指定
してる?

262 :nobodyさん:02/10/05 13:16 ID:2e8trTi8
JDK1.4 + Oracle JDBC経由で Oracle9iに接続しています。

transaction内で、複数のデータをINSERTをしたいのですが、
1つ目のINSERTするレコードがないと、2個目以降のINSERT(別テーブル)は
成功しないテーブル構造になっているのですが、

1つ目のINSERT成功後、2個目のINSERT処理の、executeUpdate()
で、処理が止まってしまいます。(ロックされてる?)

特徴としては、関数呼び出しの構造上、以下のように動作します。

setAutoCommit(false)

createStatement
1つ目のexecute
Statementを開放

createStatement
2つ目のexecute
 <〜ここで止まる〜>
Statementを開放

 以降n回繰り返し

comit

これは、transactionのアイソレーションとかと関係あるのでしょうか?
executeをexecuteUpdateにしても同じ動きをしました。


263 :nobodyさん:02/10/05 16:43 ID:/Ylxg1h6
丁度こっちにも同様の質問があがっとるぞ
http://pc3.2ch.net/test/read.cgi/tech/1032944246/l50
だ、SQL分自体はどおなっとるの?

264 :nobodyさん:02/10/05 19:06 ID:2e8trTi8
>263
ほんとだ、同じことで悩んでる。

SQL文自体は、単体ごとにUPDATEすると実行されます。
(ちなみに、バッチ処理にして、executeBatchすると登録は成功します。)

各文ごとに、違うStatementを使うことが問題なんじゃないのかと
いう気がしてきました。世の中のサンプル見ても、Statementを開放
してることと、テーブルのリレーションの問題以外は問題がなさそう。

そもそも、1つめのレコードを予めDBに書いておいて、
2番目移行のUPDATEを実行すると、最後にUPDATEした奴
しかDBに書き込まれてないんですよね。

うーん。


265 :259=256:02/10/05 20:03 ID:???
>>261
してるけど、通らないっす。
でも、指定の仕方が間違ってるのかも。

jspファイルが
USR_ROOT/###.jsp
にあって、参照したいServletは
USR_ROOT/WEB-INF/classes/###.class
にあります。
classpathはUSR_ROOT/WEB-INF/classes
で指定してあるのですが、
jspにimportを書く場合
<%@ import ### %>
であってますか?


266 :nobodyさん:02/10/05 23:27 ID:???
>>265
デフォルトパッケージのクラスか? ちゃんとパッケージ名付けれ。

// USR_ROOT/WEB-INF/classes/jp/co/hoge/HageServlet.java
package jp.co.hoge;
...
public class HageServlet extends HttpServlet{
...

こういうサーブレットがあったとき、下のような使い方が出来なくも無い。

<%@ page import="jp.co.hoge.*" %>
<%
  HageServlet s = new HageServlet();
%>

普通はこんなことしないけど。

267 :265:02/10/07 21:51 ID:???
>>266
うおおっ!ようやくできました!!本当にありがとうございました!!

えっと、行った手順としては、
USR_ROOT/WEB-INF/classes/

268 :265:02/10/07 22:08 ID:???
途中で送ってしまった…

えっと、行った手順は
USR_ROOT/###.jsp ←問題のコンパイルできなかったファイル
USR_ROOT/WEB-INF/classes/index.class ←このファイルを最初に読み込んで、###.jspに処理を飛ばす
USR_ROOT/WEB-INF/classes/sansyou1.class ←###.jspにimportしたかったclass
USR_ROOT/WEB-INF/classes/sansyou2.class ←その他の外部クラス

という風なファイル構成だったのですが、
USR_ROOT/WEB-INF/classes/pack/sansyou1.class
USR_ROOT/WEB-INF/classes/pack/sansyou2.class

という風にpackageにして、###.jspは言われたように
<%@ page import="pack.*" %>
とすると、コンパイルできました。

ただ、どうしてデフォルトの場所では読み込んでくれないのか
という疑問も残りましたが。
ともかくコンパイルできて良かったです。ありがとうございました。

ところで、普通はデータを利用するのに外部クラスのメソッドをそのまま読み込まずに
setAttribute()/getAttribute()を使うのですか?
そうした方がメリットがあるのでしょうか。
もしよかったらもう少し教えて下さい。


269 :nobodyさん:02/10/07 23:51 ID:???
とりあえずクラス名の先頭は大文字にしてくれ
話はそれから

270 :nobodyさん:02/10/08 13:49 ID:???
>>111
送られるファイルのサイズを制限しているようなのですが、その処理を行っている実装部分はどこなのでしょうか?
web.xml に書かれている内容がどこで使われているのか、私の能力不足により解析できなかったので…。

271 :265:02/10/08 21:20 ID:???
>>269
なるほど。。。すみません。
そういった暗黙のルールが色々とあるのですね。
勉強します。


272 :266:02/10/09 12:16 ID:???
>>268
後からメンテナンスしやすい設計にするためだよ。サーブレットが作るデータが
必要なら setAttribute()/getAttribute() で受け渡せばいいし、サーブレットの
メソッドが呼び出したいなら、そのメソッドは Bean 化して別クラスにするのが
いい。そうすることによってクラス間の関係が疎になるので再利用しやすく後の
メンテナンス性が上がる。

273 :265:02/10/09 21:46 ID:???
なるほど。
クラスを直接importしなくてもデータのやりとりとか
特に問題なくできるのですね。
クラス同士はあまり密接に関わらせない方が良いのですか。
勉強になりました。
ありがとうございます。


274 :nobodyさん:02/10/11 22:13 ID:4dmb/Mff
CompsitViewパターンにしてやろーと思っていて。
Strutsを使ってるのでTemplateタグで実現したいのですが

テンプレートから呼び出されるJSPのページにパラメータを渡すには
どうやればよいのでしょう?旨いやり方ありますか?

要はincludeならば
<jsp:include ...>
<jsp:param .../>
</jsp:include>
みたいなことがStrutsのTemplateタグで出来ないかと思案しているわけです。

template:insertをするPageのスコープにパラメータを埋め込んではみたんだけど
どーやらPageスコープってjsp:includeやらtemplateやら使ってもそれぞれのページ内
みたいで…まーあたりまえか(w
requestやらapplicationやらsessionに埋め込めばいいのだろうけど、なんとなく
イメージ的に違うって感じ。でもそれっきゃないのかなぁ?

誰かグルになってくださいませ。

275 :nobodyさん:02/10/11 22:31 ID:???
<template:put> と <template:get> じゃダメなのか?

276 :274:02/10/11 22:35 ID:???
>275
ダメやっちゅーに。
ページコンポーネントの組み込みはでけるけど、その組み込むページに
どやってパラメータを渡すかってことが知りたいのです。

277 :nobodyさん:02/10/12 01:01 ID:xShHXVsw
サーバー側に固有の数字をランダムに当てたディレクトリを
自動的に作成したいのですが、そのようなことができるメソッドってありますでしょうか?
ランダムな数字を作るのはわかっています。
ディレクトリを自動的に作成するメソッドがありましたらご教授ください。
おながいします。


278 :nobodyさん:02/10/12 01:05 ID:???
>>277
File#mkdir(), File#mkdirs() の API リファレンス嫁

279 :277:02/10/12 01:58 ID:xShHXVsw
ホント馬鹿ですみませんがもう少しヒントをくらはい・・・。

String dirname = "場所";
boolean a = mkdir(dirname);

ってやると
シンボルを解釈できません。
シンボル:メソッドmkdir(java.lang.String)
ってでます。import java.lang.*;は書いてあります。

280 :nobodyさん:02/10/12 02:01 ID:???
File directory = new File("C:\\あほ\\氏ね");
directory.mkdirs();

281 :277:02/10/12 03:34 ID:???
あほです。できましたです。
本当にありがとうございます。
氏ぬ前にもっと勉強します。

282 :nobodyさん:02/10/12 13:39 ID:???
>276

だから渡したい値は<template:put>で<template:include>時に渡して、
組み込まれたページ側で<template:get>使って受け取ったら後は好きにすれば?

283 :nobodyさん:02/10/12 16:09 ID:6y7+FqP1
>282
そっかそーゆ意味ね。
言葉足りなかったなぁ。それでもダメっす。
パラメータとして渡したいってのは受け取ったパラメータをlogicタグなどで表示切替
に使いたいって意味だす。

ん?もしかしてbean:defineの中でvalue="<template:get ...>"みたいなことができるってこと?
無理だとは思うが一応試してみるか…。ちょっと待っててな。

284 :nobodyさん:02/10/12 20:35 ID:8Xp20As7
eWave使ったことある人、います?

今、JSPページのコンパイルエラー直そうと思ったんだけど、コンパイル一度も通ってないJSP→Servletのソースが何処にも保存されてないのね、eWaveって(^^;
おそらく何かしらの設定があるんだろうけど、たぶんオイラの英語力が不足してるせいで(T_T)、よくわかりません。

「ここを見れ」でいいので、何か情報をお持ちの方がいらっしゃればアドバイスをお願いします(拝)

285 :M:02/10/14 00:27 ID:a3rDJN9b
JSPで掲示板を作ったのですが、TEXTAREAフィールドに入力されたコメント
の改行コードを<BR>に変換するにはどうすれば良いのでしょうか?

<PRE>入力コメント</PRE>で表示すると改行なしの長いコメントの場合
にページが横に伸びてしまうのです。どなたかお願いします。m(_ _)m


286 :nobodyさん:02/10/14 00:32 ID:???
J2SE 1.4以降なら正規表現使って置換でいいんじゃないでしょうか。
1.3ならjakrta oroですか?

287 :nobodyさん:02/10/14 01:23 ID:???
ガイシュツならすみません。

動的に作成したinputタグのnameを拾う方法はあるのでしょうか?

<form method="POST">
<input name="<%= temp[i][j] %>" type=text>
</form>

で、たとえばこの入力フィールドに"10"が
入っているか確認する場合、
if(temp[i][j].equals("10"))
とはできないですよね?
(変数名は、temp[i][j]の値そのものなので)

たとえば、POSTで投げられてくる値を
Iteratorとかで順番に拾えないのでしょうか?

288 :nobodyさん:02/10/14 02:29 ID:???
>>285
書き込みフォームに WRAP="HARD" +鯖側 <PRE> で良いんでない? まぁ
普通は 1 文字づつ評価して <BR> に書き換えるわな。どうせ < → &lt; の処理とか
やってるでしょ。

>>287
何言ってるかぜんぜんわかんねーんだけど request.getParameter(temp[i][i]).equals("10") の
事か? request.getParameterNames() か? request.getParameterValues(temp[i][i]) か?
日本語勉強してこいよ。

289 :287:02/10/14 08:10 ID:???
>>288
言いたいことがうまく伝わらなかったようですが、
どの辺を調べればよいかはよくわかりました。
ありがとうございました。

290 :M:02/10/14 09:39 ID:a3rDJN9b
>>288
返答ありがとです。

WRAP="HARD" +鯖側 <PRE> では<PRE>が優先されるようです。
ページが横に伸びてしまいました。

< → < の処理は次のようにやっててうまく処理されます。
でも改行の処理のやりかたがわかりません。
'\n','\r\n'はchar変数じゃないのです。

/** HTMLエンコードが必要な文字 **/
static char[] htmlEncChar = {'&', '"', '<', '>'};
/** HTMLエンコードした文字列 **/
static String[] htmlEncStr = {"&", "gg"", "<", ">"};





291 :nobodyさん:02/10/14 17:54 ID:???
>>290
入力側で <TEXTAREA ... WRAP="HARD"> でって意味なんだけど、ちゃんと伝わってる?
それから鯖側で <BR> 変換やるなら↓でいいんでないの。

static char[] htmlEncChar = {'&', '"', '<', '>', '\n', '\r'};
static String[] htmlEncStr = {"&amp;", "&quot;", "&lt;", "&gt;", "<BR>", ""};

292 :M:02/10/14 23:38 ID:a3rDJN9b
>>291
そうですよねー。
でも何回やっても<BR>に変換されない。。。。
もう少し頑張ってみます。ありがとうございました。

293 : :02/10/14 23:55 ID:???
>>292
ちゃんと htmlEncChar.length とか htmlEncStr.length 分のループ
してるか? 「4 回固定回数ループ」やってるんじゃねーだろーな。
てか、説明すんのめんどくせー

public static String escapeHTML(String text){
  StringBuffer content = new StringBuffer(text.length());
  for(int i=0; i<text.length; i++){
    for(int j=0; j<htmlEncChar.length){
      if(text.charAt(i) == htmlEncChar[j]){
        buffer.append(htmlEncStr);
      } else {
        buffer.append(text.charAt(i);
      }
    }
  }
  return buffer.toString();
}

294 :M:02/10/16 04:04 ID:icD2I6vX
http://www.atmarkit.co.jp/fjava/rensai/jsp2_03/jsp2_03_1.html
↑このソースを変えてみた。

static public String HTMLEscape(String input) {
input = substitute(input, "&", "&;");
input = substitute(input, "<", "<;");
input = substitute(input, ">", ">;");
input = substitute(input, "\"", "";");
input = substitute(input, "\n", "<BR>");//追加
input = substitute(input, "\r", "");//追加
return input;
}

でもだめぽ。(′д`⊂)


295 :nobodyさん:02/10/16 06:21 ID:???
>>294 のサイトだが…
すげぇ! こんな無駄な再帰を使うソースは初めて見た。しかもサーバサイド
想定なのに無駄な String/StringBuffer インスタンス作りまくりと来た
もんだ。まぁ表題見れば書いた人間のレベルが分かるか。

296 :nobodyさん:02/10/16 13:48 ID:jmKbXjPs
Java で作成しているアプリがあるんですが、みなさんのお知恵をお貸しください。
管理者が ServerSide に生成した Session の中身を全て調べて、特定のセッションに対して値を更新/削除/追加する、って事をしたいんですけど、これを実現するためにはどうすれば良いのでしょうか?

サーバ・サイドのセッション・オブジェクトを全てリストとかで取得できるんでしょうか?

297 :nobodyさん:02/10/16 14:37 ID:???
>>296
できません。データベースでやってください。

298 :x:02/10/16 15:08 ID:0vsiXYHc
これって本当か?

↓ ↓ ↓
http://www.dream-express-web.com/space-trust.htm


299 :nobodyさん:02/10/16 15:46 ID:???
>>297
やっぱり無理ですか…。
ありがとうございました。

300 :nobodyさん:02/10/16 16:54 ID:???
>>299
無理っつーか、普通そゆことsessionでやらんだろ、ということ。
>>297の指摘通りDB使いなよ

301 :nobodyさん:02/10/16 23:19 ID:R5uZ9QcZ
毎日使ってるPC(Windows)からTelnetしてLinuxのサーバに接続してます。
そこでサーバのTomcatやResinを立ち上げると
Telnetの画面がそのままコンソールになるようで
Telnetを閉じるとともにTomcatやResinまで落ちてしまいます。
Telnetを閉じても起動したままにできませんか?
(cronの1回だけバージョンとかあればよいのだろうか・・)

302 :nobodyさん:02/10/17 00:11 ID:???
nohup でも使っとけ

303 :nobodyさん:02/10/17 00:13 ID:???
>>301
disown

304 :nobodyさん:02/10/17 00:15 ID:7NQKU9UN
>296
SessionFacade使え。

305 :nobodyさん:02/10/17 01:19 ID:???
>>301
その Tomcat や Resin を立ち上げるコマンドの後ろに & を付けれ。
RPM で入れたんなら /etc/rc.d/init.d/tomcat ってコマンド無いか?
って俺それしか知らんのやけど >>302-304 のやり方って何すか?

306 :nobodyさん:02/10/17 01:43 ID:Xvd1/r7V
サーブレットでHTMLのボタンを押して
クライアント側でサーバ内にあるGUIアプリケーション(Javaのクラスファイル)
を実行させることってできるんでしょうか。

例えば
クライアントがボタンを押す

Javaで作ったサーバ内にある
オリジナルの音楽再生プレイヤーが呼び出されて実行される
というようなことってできますか?

気になってしょうがないのでよろしくお願いします。

307 :nobodyさん:02/10/17 01:51 ID:???
>306
気にすんな。

308 :301:02/10/17 02:10 ID:bSTwbaaG
>>305
&つけたらいけました。コンソールにやはり起動メッセージ出ますが
閉じても起動しっぱなし。感謝です!
>>302の方法ではTelnet終了したら落ちてしまった。
>>303は調べたけどzsh?

ちなみにこの現象はResinのみ。
Tomcatはコンソール支配されないです。嘘ついてゴメン


309 :nobodyさん:02/10/17 02:29 ID:???
>>306
出来る。

>>308
激しく疑問なんだが Resin ってシェルから叩ける start/stop 用のコマンド
って付いてないのか? 止めるとき ps aux でプロセス見て PID で kill して…
と激しく面倒だぞ。

310 :306:02/10/17 02:43 ID:???
>309
Appletで作ったゲームはよく見るんですけど
GUIアプリケーションを実行させるサイトに出くわしたことがないので
気になってました。ありがとうございました。
でも、実行するクライアントはちょっと勇気がいりそうですね。

311 :nobodyさん:02/10/17 03:00 ID:???
>>310
ちょっとまて、クライアントのボタンを押すとサーバ側でウィンドウが
立ち上がるような動きをするんだよな?

ちょっと自信が無いが Unix なら DISPLAY 変数をちゃんと設定しておいて
やれば大丈夫だと思う。Windows はどうなんだろう。サービス起動じゃな
ければ大丈夫かな。

312 :306=310:02/10/17 03:30 ID:???
>>311
Vectorに登録されているようなGUIアプリケーションが
あたかもブラウザ上で呼び出して実行されている、
というような動作をさせることができるかな、と…

安易に大それた質問をしてしまってすいませんでした。
自分はまだあまり知識が無いので、できるとわかっただけで十分です。
ありがとうございました。

313 :306=310:02/10/17 03:40 ID:???
例えば動画ファイルをクリックしてRealPlayerが起動するのは
クライアント側のGUIアプリケーションが起動するってことですよね。
そうじゃなくてサーバ側のRealPlayer(Java仕様)をブラウザ上で実行させる
ことができるかどうか気になったんです。

自分でも少しパニックになってきたので、放置していただいて結構です。

314 :nobodyさん:02/10/17 11:50 ID:6ucWf4YE
んと、>>294の逆で、<TEXTAREA>タグとかから改行込みで入力された文字列の改行を<BR>に置換するのって、どーやればいいのでしょう?

単純に\nを<BR>で置き換える、ぢゃだめぽ。


315 :hmk:02/10/17 12:34 ID:???
>>314
ドザから送られてきた改行は\r\nになってるっぽ?

316 :nobodyさん:02/10/17 13:21 ID:???
>>313
それは無理。

>>314
\r\n を <BR> に置き換えれば良いんと違うか? 何が問題やねん。

317 :nobodyさん:02/10/17 14:02 ID:???
>>313
HTTP上でX-WINDOW類似の仮想ターミナルやりたいってことね。
探せばそんな製品あるかもよ。まずはぐぐってみたら。

ひょっとして作ろうっての?
無理。
少なくとも>>313には絶対無理。

318 :nobodyさん:02/10/17 15:47 ID:???
>>317
ああ、その手の奴なら VNC のアプレット版があるよ。鯖側で VNC 鯖起動しておいて
アプレット版の VNC クライアントでブラウザ上に鯖画面を丸ごと表示する奴が。
多分 >>313 が考えてるのとは違うだろうけど。

319 :303:02/10/17 22:28 ID:???
>>308
Linuxって言うから、bashだと思ったのだが。
disownはbashとか、zshの組み込みコマンド。

320 :301:02/10/18 00:35 ID:y14T4jTt
>>309
うむぅ、そうですねぇ、自分もResinはkillで止めてます。

>>319
bash: disown: /opt/resin-2.1.5/bin/httpd.sh: no such job
こういったメッセージが出てしまうのであきらめていたのです。。。


321 :314:02/10/18 10:22 ID:AgYFvi+M
>>315
>>316

……Unicodeにした後は\nだけ置換すればいいと信じきっていた自分が激しく鬱だ(T_T)
アドバイスありがとうございました(拝)

322 :nobodyさん:02/10/18 15:06 ID:???
>>321
\n を <BR> に変換、\r を削除、が良いと思うが対 Mac でどうなるか分からん。

323 :nobodyさん:02/10/22 23:14 ID:3vYtKYtk
MVCモデルで開発する時ってさぁ、ServletとJSPとBeanはそれぞれ別のチームで開発するでしょ?
で、Beanチームは単体起動での確認とか比較的簡単にできそうだけど、
JSPやServletチームはどうやって単体で稼動確認取ればいいのかなぁ?
JSPはBeanがないと動かないでしょ?
Servletに至ってはBeanとJSP(ダミーでもいいけど)がないとまともに動かない。
みんなはこういう問題ってどうやって解決してるの?



324 :303:02/10/22 23:30 ID:???
>>320

おおっそんな勘違いしてたんか!!
disownは、既に実行中のジョブに対して使うんだよ。
例えば、($で始まるのは、コマンド入力)
$./httpd.sh&
$jobs
[1] +running httpd.sh
$disown
$jobs
(何も出力されない)

ってなるの。disownに%1とか%2とかジョブ番号を指定すること
もきる。例えば、disown %2なら、jobsで[2]って表示されてる
プロセスを切り離しできる。


325 :nobodyさん:02/10/23 02:37 ID:???
>>323
そればっかはダミーと言うかスタブ作るしかないな。後で差し替えが利くように
インターフェース切ってファクトリパターン使ったり、リフレクション使ったり
なるべく MVC 間の結合度を下げるようにする。

326 :nobodyさん:02/10/25 18:13 ID:VrJoiV/x
JavaMail使ってPOSTする方法を教えて

327 :nobodyさん:02/10/25 19:33 ID:???
>>326
そんなことできんの?
つーか URLConnection で十分じゃん。
つーか HTTP の POST の話?

328 :nobodyさん:02/10/26 01:40 ID:???
■DOMAPIを使ってXMLを読み込んで、適当に変換処理を行った後
 JSP等でHTML出力する
■TransformerオブジェクトでXML+XSLT変換処理を行った後
 JSP等でHTML出力する

XMLの内容(量)によるとこもあるだろうが、どちらが高速に変換させて
出力処理をさせることが出来るんでしょう?
※あくまで出力処理の範囲で、コーディングの開発は無視

329 :...:02/10/29 02:39 ID:???
ApacheとTomcatの連携がうまくいかず困っております。
Tomcatを startup.sh で起動すると
mod_jk.conf-auto が作成されるとあるのですが、
これが作成されません。何か条件があるのでしょうか?

#それぞれ独立しての稼動はできております
#server.xmlのPort8080の部分はコメントアウトしております
#Apache1.3.26 Tomcat3.x Debian

330 :nobodyさん:02/10/29 09:28 ID:???
>>329
Tomcatのバージョンは?
Tomcat4ならmod_webappを使ったほうが簡単

331 :...:02/10/29 19:54 ID:???
Tomcat3.3.1で不可能でしたので3.2.1にしたところあっさり解決してしまいました。
数々のモジュールを組み込んでおり、自分自身が混乱してました。
お騒がせいたしました。

332 :nobodyさん:02/10/29 20:40 ID:2+2rI4fz
あぱし2.0.X用mod-jkのwin32バイナリ、いつの間にかリリースされてますな。
ttp://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk/release/v1.2.0/bin/win32/

333 :nobodyさん:02/10/30 13:03 ID:3yGzF2Oi
Connectionクラスをinit()で作成して使いまわそうしたんですけど、うまくいきません。
いまはdoGet()が呼ばれる毎に作成しています。これってコスト高い?





334 :nobodyさん:02/10/30 23:31 ID:???
>>333
コストが高いかどうかは使われ方しだい。ちゃんと負荷テストやれ。
商用 AP サーバなら普通はコネクションプールを使う。

335 :nobodyさん:02/10/31 00:25 ID:???
商用じゃなくても使う

336 :ジョン・プレーヤ・スペシャル:02/10/31 19:41 ID:FYPcLGlN
質問といううかグチ。
仕事でJSPでメール送るプログラム組むなんて事を安請け合い
したんだけどさぁ、まぁ、sendmailでちょちょいでしょうなんて
perlライクに考えていたわけですよ。
テストサーバにjavaやらtomcat入れてとりあえずJSPが動くようにする
この頃からperlとは違いすぎるなぁと不安になる。
えーとメールを送るのは・・・・どうやらjavaMAILとJRFという
ライブラリを使うことがわかる。
JSPハンドブックを買ってサンプルプログラムを打ち込んで(ソース付け炉や!)
動かしてみる、、、エラーの嵐、、まるでベーマガの頃に戻ったかの
ように本を見ながらデバック、デバッグ、デバッグ、文法エラーはなく
なってコンパイルまでは出来ているみたいだが、変なエラーがドバっと
出る。どうやらSMTPサーバが「Could not connect」らすぃ。
サーバの事はよくわからんのだよ、JSPくん!
SMTPサーバってそのサーバのIPじゃいけないのか?sendmailの設定
が問題なのか?さっぱりわけワカメ。ギャーーー!誰か変わってぇぇ!

337 :nobodyさん:02/10/31 21:24 ID:D/zYL1kU
http://www4.big.or.jp/~tan-y/programming/javamail.html
「SMTPによるメール送信」を読めば救われるかも。
>props.put("mail.smtp.host", smtpHost);
>Session sess = Session.getDefaultInstance(props, null);
このへんがキモかと思われる。

338 :ジョン・プレーヤ・スペシャル:02/11/01 22:02 ID:???
>>337 sama
ありがとうございます。でも、SMTPが通ってなかったわけでは
なくて、実はもっと、、、もっと初歩的なスペルマミスでっすた。
はぁぁぁ
でも、遠回りしてイロイロ調べたせいでJSP/サーブレットの事が
なんとなくわかってきたぞ。なんか言語覚えるのってココまでが
大変で、これからはけっこう楽なんだよな(楽観)。

339 :nobodyさん:02/11/05 22:01 ID:R2YenpcU
Tomcat4.1でサーブレットのお勉強をしようと思い、導入してみたのですが・・・
動きません・・・
Tomcatはjakarta-tomcat-4.1.12-LE-jdk14.exe
JAVAはSDK1.4.1
OS Win2000
を使っています。webappsの下にaというフォルダをつくり、web.xmlやclassesなどの
ディレクトリをつくって、server.xmlを編集しました。フォルダaにあるindex.htmなど
は見れるのですが、サーブレットが動きません。サーブレット自体は以前のヴァージョンの
Tomcatで動作確認済みです。プリーズヘルプミー!

340 :nobodyさん:02/11/05 22:12 ID:???
とりあえずserver.xmlは元に戻してみたら。書かなくても動くし。
てゆうかwebappsの直下に前バージョンで動いていたヤツをjarで固めて置いて置けばいいじゃん。
Tomcatが起動時に勝手に解凍して配置してくれるんだから。



341 :nobodyさん:02/11/05 22:23 ID:R2YenpcU
>>340
レスありがとうございます。server.xmlをもとにもどしてやってみます。
以前のヴァージョンはアンインストしちまいました。
手元にはclassファイルしかないのでとりあえずserver.xmlをもとにもどし
てみます。



342 :339:02/11/05 22:39 ID:R2YenpcU
server.xmlをもとにもどしてやってみたら404でした。
exampleフォルダのclassesにクラスファイルを入れた動いたのですが・・・
どうしたら任意のフォルダからサーブレットを動かせるのでしょうか?

343 :nobodyさん:02/11/05 22:57 ID:???
そもそもそのディレクトリはTomcatが起動時に正しくコンテキスト化してくれてるかな?
localhost_log.YYYY-MM-DD.txtみたいなログファイルで起動時に例外が発生してないかどうか
確認したほうがいいかも。(コンソールには起動時例外は表示されなかっちょうな気がする)

Tomcatは起動時に、webappsの下にフォルダがあり、かつその下のweb-infディレクトリに
web.xmlがあるものを自分のコンテキストだと認識するらしいから、まずweb.xmlを疑った
ほうがいいかも。






344 :nobodyさん:02/11/05 22:58 ID:???
表示されなかっちょうな気がする
   ↓
表示されなかったような気がする


345 :339:02/11/05 23:14 ID:R2YenpcU
>>343
コンテキスト化とはなんでしょう?
ログファイルを確認したところ起動時に例外が発生したような形跡はないように
思います。普通に「Webアプリケーションディレクトリ a を配備します」というような
感じになってました。
web.xmlの内容は以下の通りなのですが・・・まずいところありますか? 

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

</web-app>


346 :nobodyさん:02/11/05 23:27 ID:???
web.xmlが空やねん・・・。
web.xmlには普通Servletのマッピング情報を書くんだよ。
例えばこんな感じ。(うろ覚えなので間違っているかも)

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <servlet>
  <servlet-name>TestServlet</servlet-name>
  <servlet-class>sample.test.TestServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>TestServlet</servlet-name>
  <url-pattern>/servlet/TestServlet</url-pattern>
 </servlet-mapping>
</web-app>

これで、WEB-INF/classesの下にあるsample.test.TestServletという名前のServletが
http://localhost:8080/xxxxx/servlet/TestServletで呼び出せるようになるはず。
(微妙にミスってたらごめん)

J2EEではアプリケーション単位でxmlファイルに構成情報を記述して、自己完結性の高い
パッケージ配布方式を実現しようとしているから、web.xmlはしっかり勉強しておいたほうがいいよ。
だっていちいちWebアプリをインストールする度にserver.xmlみたいなミドルウエアの根幹に
手を入れるのは面倒くさいし危険でしょ?
ここら辺を抑えておくと、やがてEJBのような高度なものをやることになっても、
デプロイの仕組みがちゃーんと理解できるようになる。基本は一緒だから。




347 :nobodyさん:02/11/06 00:33 ID:???
>>344

土佐弁みたいでカコイイぞ。>なかっちょう

348 :339:02/11/06 00:34 ID:brJh6AGy
>>346
動きました! ありがとうございます。
しかし、新しいアプリの度にweb.xmlを更新しなくてはならないのでしょうか? exampleフォルダにいれた場合はweb.xml
を更新せずともサーブレットが動作しました。
また、以前のヴァージョンのときもweb.xmlは345に書き込んだ通りで動きました。

そのあたりをご教授願います。

349 :nobodyさん:02/11/06 00:38 ID:QtBZH+Bh
質問なのですが、
Javaの開発でIISって使えるのでしょうか?
それともアプリケーションサーバーはWASとかでないと
無理なのでしょうか?

350 :nobodyさん:02/11/06 01:27 ID:???
>>349
IIS は Java の動くアプリケーションサーバではありません。
WAS 以外にも Tomcat, WebLogic, iPlanet, JRun などもありますので要件に
あったものをどうぞ。


351 :nobodyさん:02/11/06 01:29 ID:???
>>348
examples はあらかじめ出来上がった web.xml が入ってたから。
前バージョンで web.xml に記述が無くてもサーブレットが動いていたのは
Servlet Invoker という、サーブレットを起動するサーブレットがデフォ
ルトで server.xml に設定されていたから。

352 :339:02/11/06 03:10 ID:brJh6AGy
>>351さん
なるほど。よくわかりました。ありがとうございます。

しつこくてすいませんがまだ質問があります・・・
しかしもってexamplesにあるweb.xmlに追記せずに動いたということはexamplesにあるweb.xmlには
 <servlet>
  <servlet-name>TestServlet</servlet-name>
  <servlet-class>sample.test.TestServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>TestServlet</servlet-name>
  <url-pattern>/servlet/TestServlet</url-pattern>
 </servlet-mapping>
というような一つのクラスファイルのみにむけた記述以外にも何か他に特別な記述があったのでしょうか?

353 :nobodyさん:02/11/06 20:46 ID:???
>>352
そういう記述があったか、もしくは Servlet Invoker が有効になってて /servlet/org.hoge.SampleServlet
というクラス名指定の呼び出しをしていたかのどちらかだろう。

354 :nobodyさん:02/11/07 01:38 ID:+oMkddUQ
アプリケーションAのWEB-INF/classes/packageName/ 以下にクラスが
あって、アプリケーションBのServletも、アプリケーションAのクラスと
同じパッケージ下に置きたい場合は、どこに、アプリケーションB用の
サーブレット等のクラスを構築したら良いでしょうか?

やはり、アプリA/WEB-INF/classes/packageName/ 以下に
アプリBのサーブレットを置かなくてはダメなのでしょうか?

ポイントは、アプリBから、現状、アプリAのフォルダに配置してある
共通クラスを利用する必要があるのと、会社のドメインのTLDから
パッケージ名をつけているので、共通化したいです。




355 :nobodyさん:02/11/07 01:57 ID:???

アプリA/WEB-INF/classes/net/2ch/hiroyuko/umaibou.class
アプリB/WEB-INF/classes/net/2ch/hiroyuko/umaibou.class
これじゃダメ?

ソースだけは一括管理しておいてコンパイルは2回行う
javac -d アプリA/WEB-INF/classes net\2ch\hiroyuko\*.java
javac -d アプリB/WEB-INF/classes net\2ch\hiroyuko\*.java



356 :nobodyさん:02/11/07 02:01 ID:???
ln -s アプリA/WEB-INF/classes アプリB/WEB-INF/classes

classes まるごとじゃなくてもサブパッケージごとでリンク張れ。
Windows だと? 2000 以降ならパーティション丸ごとディレクトリにマウント
できるだろ。

357 :nobodyさん:02/11/07 02:06 ID:???
パーティションのマウントでは無理だな、スマソ

358 :nobodyさん:02/11/07 03:22 ID:???
>>354
共通部分のクラスを jar にまとめて $JAVA_HOME/lib/ext に入れとくとか
CLASSPATH に設定しておくとか。

359 :354:02/11/08 01:18 ID:uREFPWAh
ありがとうございます。
大体の方針はわかりました。

ところで、InvokerServletはOffにして、ServletMapping経由で
サーブレットにアクセスさせるなら、classes以下にサーブレットクラスを
配置しなくても動くんでしょうか?これできるならクラスパス設定すれば
解決しますね。あとは、共通領域に置くか、否かという話になりますね。

(ちなみに、Tomcat4.1.12(? 最新を利用)です。)


360 :nobodyさん:02/11/08 02:54 ID:???
>>359
実運用時は Web アプリケーション jar にまとめて WEB-INF/lib にぶち込んで
おくのが普通。この場合 CLASSPATH を通す必要がなく、Web アプリケーション
コンテキストでクラスローダーが分けられる。WEB-INF/classes 以下のクラスは
オートリロード対象なので、(オートリロードがオンになってるなら) 開発時に
チョコチョコ修正するところだと思っておけば良い。システムの CLASSPATH 環境
変数にサーブレットやそれを含む jar を通すのはあまり一般的ではない。

361 :nobodyさん:02/11/08 03:04 ID:???
> Web アプリケーション jar にまとめて
  ↓
Web アプリケーションで使うクラスを jar にまとめて

362 :354:02/11/08 11:18 ID:JbsLZRZL
うーん。Winで開発して、Linuxが本番なので、やはり共通部分は
jar化してサーバースコープで共有化しておいて、サーブレットは、
WEB-INF/lib以下にjar化しろってのが正解ですか。

開発がWinであることと、数ヵ月後の保守を考えたら、各Webアプリの
サーブレットには、共通モジュールとは違うパッケージ名をつけた方が
良さそうですね。jp.co.companyを頭につけちゃうと、jpのフォルダが
クラスパスの最初に見つかってしまう場所に置かなきゃいけないんですよね?

ショートカットなどのOS固有の方法は、扱いが複雑になるので避けたいです。


363 :354:02/11/08 11:45 ID:JbsLZRZL
自己レスですが、カレントも含め、ちゃんと全部のクラスパスを指定しておけば、
パッケージ階層以下の構造が複数のフォルダに分かれても、クラスの検索が
可能なんですね。

サンプル作って確認しました。スマソです。
ということで、パッケージ名は今のまま、本番運用時には共通モジュールを
jar化して切り出すことにします。

結局、時間をかけて、358さんの内容を理解したって感じです。
ありがとうございました。


364 :nobodyさん:02/11/08 17:23 ID:B5HgIdqz
invokerをoffにした場合、WEB-INF配下にweb.xmlがないと動きませんよね。
その場合のもっとも簡単なweb.xmlの記述の仕方を教えてください。
要するに、サーブレットが起動すれば(classファイルを認識してくれれば)
いいレベルです。

365 :nobodyさん:02/11/10 20:02 ID:ykyYofKk
jspで扱ってるrequestオブジェクトの中身を、JAVAクラス内で使うには、

public void proc(HttpServletRequest req) {}

と記述する他方法は無いのでしょうか。


366 :名無しさん@Emacs:02/11/11 01:15 ID:???
>>365
requestオブジェクトは、jspの場合、何も宣言しなくても使えるか
ら、そんな訳の分らん錯覚に陥ってるんだろう。
jspファイルから生成されたjavaのソースファイルを見れば分るが、
jspのページを生成する_jspServiceメソッドは、コンテナが、
(予め生成した)requestやresponseオブジェクトへの参照を渡してる
から、requestとかがjsp内で使えるんだよ。

要するにjavaの基本と同じで、参照を何らかの形で渡さないと使えない。
最も、customタグのように、ハンドラ作って、jspcに組み込めば、引数に
渡さなくてもいいようにできるけど、だったらcustomタグ使うか、
requestオブジェクト渡した方がまし。

367 :nobodyさん:02/11/15 22:05 ID:???
TomcatでIP制限する方法ってありますか?
それと、Apache+Tomcatでクラスファイルをオートリロードする方法。
知ってる方がいたら是非教えてください!

368 :名無しさん@Emacs:02/11/15 22:43 ID:???
>>367
フィルタ使うか、OS側で制限するしかない。


369 :nobodyさん:02/11/16 01:44 ID:???
>>367
Apache と連携してるなら Apache 側で出来ないのか?
オートリロードの設定は $TOMCAT_HOME/conf/server.xml の中で。

370 :nobodyさん:02/11/16 03:18 ID:???
認証をtomcatに任せたいんです。
ユーザ管理はmysqlでやってます。
JDBCRealm使ってる方居ますか?
検索しても引っかからないんです。


371 :nobodyさん:02/11/16 06:44 ID:???
>>370
英語だが付属のユーザマニュアルか何かに付いてなかったか?

372 :370:02/11/16 14:02 ID:???
>>371
英語しか無いですか?
頑張って読んでみます。
やりたいことはアクセス制限とログの取得です。

373 :367:02/11/16 15:52 ID:???
>>369
apachedと連携してると、server.xmlのcontextでreloadable="true"にしててもservletクラスのアンロード、リロードがされないんですよ...
tomcatオンリーならOKなんですが。

374 :367:02/11/16 16:11 ID:???
>>368
フィルタによるプログラムセキュリティのレベルはどのくらいなものでしょう?外部からフィルタを通さずにプログラムを実行されてしまう、なんてことはあり得ないのでしょうか?

375 :nobodyさん:02/11/16 22:19 ID:???
>374
368ではないが、バグと設定ミスがなければ、おき得ない。


376 :nobodyさん:02/11/17 17:58 ID:dnX2K2BK
JBossはインターネットに接続できる環境でなければ正常に動作しないというのは本当でしょうか?
実際やってみたところhttp://localhost:8080/が表示されませんでした。
またそれはなぜなのでしょうか?(すごく漠然とした質問ですが・・・)

377 :370:02/11/18 22:28 ID:???
JDBCRealm動きました。テスト用DBですけど。
server.xmlとweb.xmlに書き足すだけで動くんですね。
認証部分の実装は一切してません。

378 :371:02/11/19 00:38 ID:???
>>377
俺が言うのもナンだが後学のためにおせーて (w

379 :novadyさん:02/11/19 11:35 ID:???
Apacheでのhttd.confのIndexesを削除するとディレクトリ構造が見れなくできますが、
webapps以下には適応されません。
どのようにしたら良いかお教えください。

380 :nobodyさん:02/11/19 12:49 ID:???
Tomcat のバージョンはいくつだ。

381 :novadyさん:02/11/19 14:59 ID:???
お騒がせしました。
listingsとmod_jk.conf-autoに手を加えて解決しました。

382 :370:02/11/19 23:48 ID:???
>>377
その1
ttp://www.ingrid.org/jajakarta/tomcat/tomcat-4.0b5/src-ja/catalina/docs/JDBCRealm-howto.html
に翻訳されたものがありました。最近出来たみたい。
標準のserver.xmlはuser.xml(users.xml?)を使う設定になってます。
ここをコメントアウトします。「Realm」で検索すれば見つかります。
その近くに各種DB用のテンプレートがありました。
あとは上記のURLの様にやれば出来ると思います。
connectionNameとconnectionPasswordは設定したほうが良いかも。

383 :370:02/11/19 23:58 ID:???
>>377
その2
ttp://kamakura.cool.ne.jp/oppama/ssja/tomcatauth.html
にMemoryRealmでのやり方が書いてました。
これを参考にしてweb.xmlを書き足せば動くと思います。
動かない場合はlogs/catalina.outを読めば分かると思います。
実はパスワードの暗号化はまだやってないんですけどね。

384 :370:02/11/20 00:10 ID:???
上の2つ参照先が違った。
>>378が正解。
apacheと連動させる場合はserver.xmlのapache-tomcat部分も
書きかえる必要があります。

385 :nobodyさん:02/11/20 14:49 ID:B0p7tRKQ
tomcatでIEからxxxx.lzhファイルをダウンロードさせようとすると文字バケ表示になってしまいます。
web.xmlにmime-typeを追加すれば出来るのですが、あらゆる拡張子をダウンロードさせたいため、
mime-typeに指定なしのファイルをダウンロードさせるなにか良い方法はあるでしょうか?

386 :nobodyさん:02/11/20 15:12 ID:dpW8VNzd
JavaBean からデータベースに SQL を投げる際に、
DB Server 自体が落ちているとかっていう情報を
拾うことは出来るんでしょうか?

DB は Oracle なんですが。

387 :名無しさん@Emacs:02/11/20 23:59 ID:???
>>386
例外になったら落ちてんじゃない?

388 :m:02/11/21 23:59 ID:2Ed6O/dE
                                     ∩     ∩
                                     | つ   「,"|
                                     .!,'っ_ ⊂_,! 
              ∩     ∩               /  ・ ヽつ ミ
              | つ   「,"|     ギュッ      ▼,__  | 
              .!,'っ_ ⊂_,!                (゚Д゚ ,)・|  ミ
              /  ・ ヽつ     ∩     ∩     (|   、)| 
  ̄ ̄ ̄ ̄ ̄ ̄\  ▼,__  |      | つ   「,"|     |   ・・| ミ
 しかばねだYO!>   (゚Д゚ ,)・|       !,'っ_ ⊂_,!      ヽ.._人 
 ______/   (|   、)|      /  ・ ヽつ       ⊂二⊃ ミ
               |   ・・|     ▼,__  |        .⊂二⊃ 
               ヽ.._人       (゚Д゚ ,)・|        ⊂二⊃ ミ
               ⊂二⊃       (|   、)|         ⊂二⊃ 
               ⊂二⊃       |   ・・|         ⊂二⊃ ミ
               ⊂二⊃       ヽ.._人 
               ⊂二⊃      ヾ⊆≡⊇ ″       みょーん
_________  ⊂二⊃____ ヾ⊆≡⊇ ″__________


389 :nobodyさん:02/11/22 18:06 ID:b/1bts2b
地図と連動したiアプリ出会い掲示板を
java言語で制作したいです
手伝って下さい

実際に稼動し売上の50%あげます


390 :nobodyさん:02/11/22 23:07 ID:???
>>389
わかりました。連絡先教えてください。

391 :nobodyさん:02/11/23 17:05 ID:fnU7YKt0
jspとjavabeansについて質問です。
JavaBeansのオブジェクトを転送してjspファイルで使用したいのですが、
この場合、2行めのrequestオブジェクトに設定した名前と8行目に設定した
id="obj"のとこは一致させないといけないのでしょうか?
自分はforwardで呼び出されたjspが8行目で値が取り出され使用されていると思っているのですが。

0:呼び出し元:サーブレット部(CtrlServlet.java)
1:myJavaBean myObj = new MyJavaBean();
2:request.setAttribute("obj",myObj);
3:
4:RequestDispatcher rd = getServletContext().getRequestDispacther("/Output.jsp");
5:rd.forward(request,response);
6:
7:呼び出し先:JSP部(Outout.jsp)///////
8:<jsp:useBean id = "obj" class="ctrlServlet" scope="request"/>






392 :nobodyさん:02/11/23 17:57 ID:UbdTqBEx
JBossのServletAPIでコンパイルしてクラスファイルを作成し、
jarでWARファイルを作成してJBossにデプロイしたらエラーがでました。
エラーメッセージは以下の通り

[ERROR,AutoDeployer] DeploymentInfo failed:file:/D:/ProgramFiles/JBoss-2.4.6_Tom
cat-4.0.3/jboss/deploy/ROOT.war
org.jboss.deployment.J2eeDeploymentException: Error while starting ROOT.war: Err
or during deploy, Cause: org.jboss.deployment.DeploymentException: Error during
deploy, Cause: java.lang.IllegalArgumentException: addChild: Child name '' is n
ot unique

どなたかヒントください・・・

393 :nobodyさん:02/11/24 00:43 ID:???
> この場合、2行めのrequestオブジェクトに設定した名前と8行目に設定した
> id="obj"のとこは一致させないといけないのでしょうか?

その通り。request、sessionなんてあたりのオブジェクトは
「名前の文字列=関連付けられたオブジェクト」
という形でAtrributeに登録される。




394 :既出でつか?:02/11/25 18:43 ID:???
そういえば、おまえらJ2EE1.3.1 APIの
日本語オンラインドキュメントが公開されたみたいですよ?

http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/index.html


395 :354:02/11/26 01:34 ID:2NlroRg/
以前、複数のWebアプリ間で、classes以下の共有をしたいと書いた
ものですが、WindowsのTomcat4では、相互のパスをクラスパスに
書くことで、相互参照ができていたのですが、
LinuxのTomcat4に持っていったら動かなくなりました。

具体的には、自分のアプリのWEB-INF/classesの絶対パスをクラスパスに
設定すると(catalina.shに記述)、HttpServletExceptionが出て正常に動作しません。
そのパスを変えると正常に動作します。

Linuxに限りクラスパスに、自己アプリケーションのWEB-INF/classesを書いては
いけないなどの話ってあるのでしょうか???

ここでお聞きした話どおり、共通部をjarにまとめることで、目的の動作自体は
できてるのですが、WinでできてLinuxでできないというのが、どうも解せないところで。



396 :nobodyさん:02/11/26 04:12 ID:???
>>395
>ものですが、WindowsのTomcat4では、相互のパスをクラスパスに
>書くことで、相互参照ができていたのですが、
>LinuxのTomcat4に持っていったら動かなくなりました。

単にclasspathが通ってないだけだろ。
System.out.println(System.getProperty("java.class.path"));
とでもして確かめてみれば?

そんな面倒な事しなくても、CATALINA_HOME/shared/classes or lib に配置するのでは
ダメなのか?試したことないが。


397 :nobodyさん:02/11/26 07:01 ID:yx5pl41J
mysqlとjdbcの連動がうまく行きません
環境はTURBOLINUXです。

WNINDOWS2000serverの方がTOMCAT+MYSQLの構築は簡単なんですかねぇ?

398 :nobodyさん:02/11/26 08:22 ID:???
WindowsもLinuxも変わらん。JDBCドライバコピーするだけ

399 :nobodyさん:02/11/29 15:24 ID:???
スラッシュで終わるリクエストが来た場合,(禁止していなければ)
ディレクトリの一覧がクライアント返りますよね。この画面をServlet
で制御したいのです。実際のディレクトリをみてファイルを一覧を取
得して動的にページを作ればいいわけすが,.warにまとめてしまうと
「実際のディレクトリ」が存在しないので,この手が使えません。

.war内の特定のディレクトリ内にあるリソースの一覧を取得する方法
はないのでしょうか?

400 :nobodyさん:02/11/30 03:18 ID:N3cPDgWW
JSPの質問でつ。

関数の中でhtmlを吐き出すときこういう↓書き方は無理なんですか? out.printしないとだめぽ?
%>
<HTML>
<HEAD>
<TITLE>test</TITLE>
<%

401 :nobodyさん:02/11/30 11:00 ID:q4zNHxed
>400
フラグ検査だけを関数に切り出して、

<%! func定義 %>

<% if (func() == true){ %>
 テキスト情報
<%}%>

などとやる。
そうすれば、Servlet翻訳時に自動的にif文の間にout.printlnが挿入される。


402 :nobodyさん:02/11/30 23:17 ID:VzfGXbBx
>>401
つまり一番外のスコープでしかむりぽってことでつか?

403 :nobodyさん:02/12/01 06:35 ID:???
>>402
そんな馬鹿なことはするなってことだ。絶対に後で後悔する。

404 :nobodyさん:02/12/02 00:31 ID:FZnx/Sv6
たとえばヘッダ部分は(いろんなページで)何回も使うから
サブルーチンにしといて…みたいなことはできないんでつか?
もちろんout.printすればできるだろうけど、

out.print("<HTML>");
out.print("<HEAD>");
// (ここらへんにTITLEやらMETAやらSTYLEやらSCRIPTやらイパーイ)
out.print("</HEAD>");

↑これじゃ嬉しくないっすよね。
ソースのごちゃごちゃさはPerlでCGI書くときとかわらん…
ダブルクォートはいちいちエスケープせなあかんし。

ASPならできるのにな(ぼそっ

なんか漏れが激しく勘違いしてるなら指摘してください。

405 :nobodyさん:02/12/02 00:51 ID:???
// (ここらへんにTITLEやらMETAやらSTYLEやらSCRIPTやらイパーイ)

↑の部分を別ファイルにして <jsp:include page="そのファイル.jsp" flush="true" />
とやっときませう。

…JSP からじゃないのかな。サーブレットなら request.getRequestDispatcher("そのファイル.jsp").include(request, response)
してくれ。

406 :403:02/12/02 06:53 ID:???
>>404
>ASPならできるのにな(ぼそっ

何故ASPXで*出来なくなった*のかその無い頭で考えてみてください。

407 :nobodyさん:02/12/02 08:44 ID:j/3KH6Gx
JSPにしてIncludeすればいいのに。ボソ

408 :bloom:02/12/02 08:53 ID:Ss+94/LC

http://www.agemasukudasai.com/bloom/

409 :nobodyさん:02/12/03 06:45 ID:Vbwn1Jvx
数行のインクルードファイルいっぱいでuzaaaaaa-----!!!な感じだな。

410 :nobodyさん:02/12/04 02:12 ID:6EZVQnk9
実際、ウザーーーーなソースが多すぎる

411 :nobodyさん:02/12/05 11:12 ID:???
cocoon XSPで、うま〜

412 :nicebodyさん:02/12/05 22:16 ID:9IL6Ad5C
質問ですが。
サーブレット作ってみたんですが、よく分からんことがあります。
catch(Exception e){}とかだけだと、ちゃんと動くのに、
catch(NullPointerException nullpo){}とかを足すと、動かなくなって
しまいます。 どんな時にどんな例外が発生するのか、ほとんど知らんですが、
どの程度catchすればいいんでしょ?トリアエズ今は、知ってる限りのExceptionを
連ねて、コンパイル時にエラーが起きたものだけ削ってます。
ダメ??

413 :nobodyさん:02/12/05 22:29 ID:???
412>>
何でもいいのでServletのサンプルを一度見たほうがいいよ。
Exceptionは、
try {
    :
}
catch( 自分で定義したException e ) {
    :
}
catch( Javaに登録されているException e ) { // NullPointerExceptionとかIOExceptionとか
    :
}
catch( Exception e ) { // java.lang.Exception(全ての例外の基底クラス)
    :
}
finally {
    :
}
という感じに記述する。
とりあえず、「ユーザ定義例外(もしあれば)」→「Javaに登録されている既知の例外(もし必要ならば)」→「Exception(これか必ずつける習慣をつけよう)」→「finally」の順に記述しよう。
知ってる限りのExceptionを並べるというのは意味がない。
NullPointerExceptionを記述するとエラーが出るというのは、try節の中に書いてある君のコードに、NullPointerExceptionを報告するコードが存在しないことを意味する。
「報告」の意味は、throwsでJavaの本を調べれ。てゆうか後は面倒くさいのでJavaの本を読んでくれ。



414 :nicebodyさん:02/12/05 23:07 ID:???
>>413
ありがとうです。
もっと勉強しなくちゃです。っていうか、
僕の持ってる本にはfinary{}なんて書いてなかった。

415 :nobodyさん:02/12/05 23:16 ID:???
> 僕の持ってる本にはfinary{}なんて書いてなかった。

DB接続を行う処理の場合は「必須」です。
てゆうかコネクションの解放にfinallyを使わない厨房ソースが多いこと・・・。



416 :nicebodyさん:02/12/05 23:21 ID:???
>>415
あ、なるほど。DB接続とかをclose()しないといけないってことですね?
tryの中には書いていたけど、catchの方は気にしてなかったです。

417 :nobodyさん:02/12/06 00:47 ID:???
DBのcloseはfinallyで書く。これ常識。むしろそこらへんで厨房度が分かる。
さらにfinallyの中にさらにtry...catchを入れるのが由!(今月号の日経OSでも載ってたNE)

ちなみにfinallyは正常ケースだろうがcatch節に飛んだケースだろうが、そのメソッドを抜ける際に必ず実行されるYO!



418 :miya:02/12/06 03:57 ID:ICF5OpxX
すいません。今壁にぶち当たっているのですが、だれかたすけてください。
 Win2k + Tomcat4.1 + Apache2 で連携していて
 環境変数 CLASSPATH にC:\classesを追加しています

 /アプリケーションコンテキスト/WEB-INF/classes/TestServletから
 CLASSPATHに設定したC:\classesディレクトリ以下のクラスファイル
 が見えなくなっています。 コンパイル時は何ともないのに実行時に
 NoClassDefFoundErrorが発生してしまいます。

だれかたすけてください。うぅ。


419 :nobodyさん:02/12/06 08:32 ID:???
J2EEではServletコンテナやAPサーバに勝手にclasspathを追加しないのが基本。
Tomcatなら環境変数CATALONA_HOMEを通して、common/libまたはcommon/classに必要なJARまたはclassを置く。
そうすればTomcatが起動時に勝手にこいつらにPathを通してくれる。
また、特定のWebアプリケーションからしか参照しないclassであれば、WEB-INF/classesまたはWEB-INF/libに配置してWAR化すること。



420 :nobodyさん:02/12/06 08:33 ID:???
CATALONA_HOME

CATALINA_HOME



421 :nobodyさん:02/12/06 10:57 ID:Kdf5QYtb
>>406
なんでできなくなったんですか?

422 :nobodyさん:02/12/06 20:02 ID:aSWE3JmD
Win2000でtomcat4.0+apache1.3をmod_jk.dllで繋いでいるんですが、少々
困っていると言うか、疑問なんですけれど、web.xmlで設定した<url-pattern>が、
tomcat単体ではちゃんと反映されるのに、apache経由だと404になってしまいます。
これは正常なことなのか、はたまた僕の設定が甘いのか、ググってもイマイチ
それらしい答えがありません。はたしてどうなんでしょうか?

423 :nobodyさん:02/12/06 20:51 ID:???
>>421
ソースぐちゃぐちゃ。メンテナンス性最悪

424 :nobodyさん:02/12/07 03:45 ID:6B+N2QJl
>>423
そ、そうか?

425 :nobodyさん:02/12/07 03:50 ID:NfROD7dM
>>407
結局、激しくインクルードファイルに分割するってことは
CGIやASPと同じくデザイナーさん泣かせなわけですね。
デザインとプログラムの分離は無理と。

426 :miya:02/12/07 08:42 ID:dCIzefcY
>>419
419番さん、ありがとうございます。なんとか理解できました。これで先に
 すすむことができます。近いうちにまた壁にぶつかるとおもうけど・・・。
 J2EEも勉強しなくちゃいけないですね。



427 :バイク犬:02/12/08 09:12 ID:???
Linux Apache 1.3.27、tomcat 4.0.4 で mod_webapps.so で連携を
計ってるのですが、やはり、DocumentRootを共有するってのは出来ないん
でしょうか?
webapps以下に、シンボリックリンクでapacheのDocumentRootを置いて
みたのですが、その場合、すべてtomcatに転送されている感じで、phpや
cgiが動きません。cgiはplain/textに、phpはmimeを吐かない書類として
実行されません。

上の方にproxyでとか、mod_jkを利用する方法なども見かけたのですが…

428 :nobodyさん:02/12/08 19:32 ID:???
マルチポストしていいですか?


429 :webApp:02/12/09 01:37 ID:6eYifm2a
WebSphereをアプリケーションサーバとしてJAVA開発を行っているものです。

複数端末でのユーザの2重ログインチェックを行いたいのですが。


ある端末Aのログイン画面で「user001」というユーザで
ログイン認証を行った場合、端末Aにユーザが
ログインしている間はその端末Aや
他の端末Bのログイン画面で「user001」というユーザで
ログイン認証を行えないようにしたいのです。

セッション変数を使用するという手もあるとおもうのですが、
1つのブラウザの範囲内でしかセッション変数の格納や取得ができないもの
と思っています。
全てのブラウザのセッション変数を管理するようなしくみなどないもので
しょうか?
なにかいい方法がございましたらご教授お願いします。

430 :nobodyさん:02/12/09 01:55 ID:???
普通そういうものこそDBで管理しないだろうか(ログオン管理TBLまたは監査証跡TBLとか作って)。
DB使いたくないならStateful Session Beans。



431 :workaholic:02/12/09 03:01 ID:???
>>429
俺も以前仕事でそんな処理を書いたことあるけど、
>>430 の言うように、さくっとDBで管理したよ。
つーか 完全にClientが別なのに(端末A,端末B)ステ付Session Beansで、
管理ってできるんだっけ???

432 :430:02/12/09 11:39 ID:???
ごめんStateful Session Beanは勘違い。


433 :webApp:02/12/09 12:20 ID:10t8e7Hw
>>430,431
あの後、Stateful SessionBeanを調べてみましたが
どうも、別端末からは出来ないようです。
やはり、DBで管理しないといけないですか。
そうなると、ユーザがログアウトした場合を考えると
ログアウトボタンなどで正しい方法でログアウトして
くれる場合はよいのですが、ブラウザの×ボタンを押さ
れた場合、DBの情報を更新することが出来るのでしょうか。


434 :workaholic:02/12/09 12:39 ID:rnIhPMMe
>>433
javaScript使って、onUnload(あるいはonBeforeUnload)等のイベント拾って、
「ログアウト」の旨を伝える内容を、自動submit。
それ以外の方法取りたかったら、もっとキっついClientサイドの
処理書かないといけない。ActiveX使うとか。
...っつても、処理内容はjavaScriptでやるのと同じだから、意味無し。
ギャフン。

435 :430:02/12/09 13:08 ID:???
タイマー使って定期的にDB調べて、一定期間アクセスがないユーザがいたらログアウト扱いで更新。
監査証跡の場合によく使う手口です。記録に残るのでタイムアウトでログアウトさせたという明確な証拠として残る。
ちなみに監査証跡にするんだったら、ユーザの1つ1つのアクションすべてに対してロギングするよ。
(いつ誰がどのページに遷移してどんな操作を行ったか、とか)

ユーザ管理(アクセス権管理やログオン制御も行う)+監査証跡という組み合わせって一般的だと思うんだけど。



436 :nobodyさん:02/12/09 22:31 ID:???
>>429
まぁ 1 台構成ならファイルでも出来るわな。File#createNewFile() はアトミック性が
保証されてるし。

1) ログイン時に適当なディレクトリに <userid>.lock ファイルを作る。ファイル
  作成に成功すればログイン完了、失敗すれば二重ログイン扱い。

2) ロックファイルの作成に成功した場合、File#deleteOnExit() を仕掛けておく。

さらに一定時間経過したロックファイルを削除しなければならないので以下を処理が
必要。

1) ログインが完了したユーザのセッションに HttpSessionBindingListener を
  実装したオブジェクトをぶち込んでおく。このオブジェクトは valueUnbound()
  時に自分のロックファイルを削除する。

2) 適当なスレッドを立ててロックファイルの最終更新日から一定時間経過したもの
  を消すようなサーブレットを作成 (この場合、リクエストのたびに
  File#setLastModified() が必要)。このサーブレットをサーブレットコンテナの
  スタートアップに登録。init() でロックファイルをすべて消す処理を入れておくと
  良い。

ただ、ブラウザの×ボタンを押した時にはしばらくの間ログインできなくなるがな。
2重ログインを防止しようとすると避けられない問題。さもなくば同一 IP からの
2重ログインを許可するしかない。

437 :436:02/12/09 22:36 ID:???
同一 IP からの二重ログインは i-mode みたいなラウンドロビンプロキシ使ってる
端末には無効なのであしからず。

438 :nobodyさん:02/12/10 01:48 ID:uIXkTSgk
Tomcat4.0.4、PostgreSQL7.3から配列をキャストしたいのですが

String[][] my_Array = (String[][])rs.getArray("name");

等とすると

「この型は declaration には不適合です。
 java.lang.String[][] から java.sql.Array には変換できません。」

と言われてしまいます。配列をキャストする、変換する方法ってないのでせうか?

439 :438:02/12/10 04:04 ID:???
まだ実装されていない…?

440 :nobodyさん:02/12/10 04:05 ID:B9fPQtcJ
Tomcat4.1.12での話しなんですけど、
JakartaのOROやLog4jなど利用しよと思うんですけど、
今はstartup.shでCLASSPATHをガツガツ追加して動かしてるんですが、
もっとスマートに導入する方法あると思うんですけど、
教えてください。


441 :nobodyさん:02/12/10 04:56 ID:???
>>440
$TOMCAT_HOME/lib/
以下にjarファイルをコピ。

442 :nobodyさん:02/12/10 08:39 ID:???
>>438
java.sql.Arrayのドキュメントみれ


443 :nobodyさん:02/12/10 19:23 ID:B9fPQtcJ
>>441
レスどうも。
rpmでインストールしたせいか、$TOMCAT_HOME/lib/に相当する、
/var/tomcat4/libが存在しないんすよ。
とりあえず、/var/tomcat4/shared/classesに入れてみたんですけど
駄目でした・・・
自分でも怪しいとこ探してみます。
どもでした。



444 :nobodyさん:02/12/10 23:26 ID:???
JSTLの式言語で ${ メソッドの呼出し } みたいなことってできないんですか? たとえば ${ java.util.List#get() }みたいなこと。


445 :nobodyさん:02/12/10 23:43 ID:???
>>444

できない。というより意味がない。<%= %>でだめな理由は?
ELはJSP記述を補完するものであって完全にリプレースするものではないよ。

446 :nobodyさん:02/12/11 10:17 ID:???
ファイルアップロード機能付き掲示板のソースって
どこかに落ちていない?

447 :nobodyさん:02/12/11 11:09 ID:???
>>446
http://tool-ya.ddo.jp/2ch/trash-box/

448 :nobodyさん:02/12/11 17:42 ID:LEQcc0R2
Servlet&JSPの未来は明るいのでしょうか?
来年になったら.NETに押されて過去の遺産になるとかいってるやつが
うちの近所にいるのですが、本当でしょうか?

この前雑誌で見た、ASP.NETのWEBアプリの開発の容易さは大衆受け間違いなしと思うのですが
どうでしょう?

449 :nobodyさん:02/12/11 20:46 ID:GqIGiZUN
>>448
Javaにも新しい展開が生まれていくと思われ。

少なくともフレームワークやJSP系は徐々に洗練され
始めてるでしょ。好みはそれぞれだと思うけど。

まあ、もし「.NET」が普及するんであれば、その恩恵で
かつてのVBのような展開で、糞みたいなWebアプリが次々
登場するでしょう。

※個人的にはさらに単価が安くなりそうで鬱。

450 :438:02/12/12 01:55 ID:???
>>441
Array my_Array = rs.getArray("name");
String[][] my_Values = (String[][])my_Array.getArray("name");
やっぱり分かりません…

451 :438:02/12/12 01:58 ID:???
>>450
レス番までも間違えました…>>442さんへ、です。

452 :nobodyさん:02/12/12 03:00 ID:???
>>450
Array myArray = rs.getArray("name");
Object array = myArray.getArray();
System.out.println(array.getClass());

java.sql.Array#getArray()で返って来る実際の型を調べろ

453 :438:02/12/12 17:22 ID:???
>>452
型変換の問題は何とかなりました。アリガトございます。
試しに一次元配列のSQLテーブルを作成し、

Array my_Array = rs.getArray("name");
String[] my_Values = (String[])my_Array.getArray();

と試したところ、問題なく配列を取り出せ、また、二次元配列に
SQLテーブルを作成し直して

Array my_Array = rs.getArray("name");
String[][] my_Values = (String[][])my_Array.getArray();

を試すとやはり
This method is not yet implemented.
となります…postgres.jdbc2ドライバーのせいなのかなぁ…

454 :438:02/12/12 17:32 ID:???
そだ
String[] my_Values = (String[])my_Array.getArray();
から
for (int i=0; i< my_Values.length; i++) {
 for (int j=0; i< 4; j++) {
ma_Values2[i][j] = (String[])(my_Values[i]);
}
}
これならいけ…るかな…と思ったのですが、SQLテーブルが
多次元な次点で、
This method is not yet implemented.
となります…


455 :nobodyさん:02/12/14 04:54 ID:???
>>454
自分で実装してcontributeしる!

456 :webApp:02/12/15 01:50 ID:WeZJArdX
>>436
レスありがとうございます。
ロックファイルの案を参考にさせて頂きました。

EASサーバが3台構成なので、DBを使用して二重ログインチェック
を行うことにしました。

1.ログインが完了したユーザのユーザID(ユニーク)、日付をDBに登録する。
  登録に成功すると、ユーザ認証成功、登録に失敗するとユーザ認証失敗。

2.ログイン認証が成功したユーザのセッションにHttpSessionBinding
  Listener を実装したオブジェクトを格納しておく。
  このオブジェクトは valueUnbound()時にユーザのユーザIDに該当する
  DBのデータを削除する。

3.アプリケーションの画面で業務終了ボタン等のイベントで、ユーザIDに
  該当するDBのデータを削除する。

4.ブラウザの×ボタンを押された場合は、セッションタイムアウト時に、2.
  の処理が実行されるので、しばらく待つことになる。

457 :nobodyさん:02/12/15 08:45 ID:???
>>456
業務終了って言葉が出てきたからには社内システムだと思うが、×ボタンを押した
時にしばらくその人の作業が出来なくなるのは業務的にまずくないか? あと、
それだけだと WebSphere の再起動や異常終了時にユーザロックが残ったままに
なる。3台のうち1台が異常終了した場合、その1台のセッションを使っていた
人のロックだけをはずす手順は分かるか? ロードバランサーがラウンドロビンとか
だとさらにややこしくなると思うが。

458 :nobodyさん:02/12/15 13:22 ID:6PApFmgW
>456
2重ログインの管理については、DBにログイン情報を登録するのは
良いが、セッションオブジェクトを使うのではなく、単純に、普通のクッキーを
使うのはどう?
クライアントのイベントに依存する処理は、なんか危険。

要は、再ログインをどう許すか?という話なのだから、

1.ログイン時にユーザーに対してクッキーを発行
  期間は、適度に永続的にして、ブラウザを閉じても消えないようにする。
  データは、鯖が作成するセッションIDを入れる。

  また、DBに画面アクセス日付とセッションIDを登録。

2.次回ログイン時に、このユーザーIDがセッション中かそうでないか?を判断

3.もしも前回ログイン時間の間隔がログイン中と判断されれば、クッキーに
  以前のセッションIDが格納されているか?をチェックして、もし持っている
  なら同一ユーザーと判断し、ログインOK
  もし、データがないなら、違うマシンからのアクセスなので、ログイン失敗

4.前回ログイン時間との間隔が、セッションの範囲を超えているならば、
  新規セッションとみなして、再度、1の処理を行いログインOK


弱点は、セッションの活性化というか、あらゆる画面のセッションチェックで
DBに書いてあるユーザーログイン時間を更新しなくてはならないこと。

あと、セッションオブジェクトと連動できないため、セッション変数が使うときに
ログイン時に戻してあげる必要があること。セッション変数をシリアライズして、
DBに格納しておく必要ありか?


459 :nobodyさん:02/12/20 01:51 ID:H52mPG7b
StrutsのフレームワークでActionクラスから別のJSPにForwardする時に、
セッション変数の値を保持することができません。
あるコンテキストAでのセッションIDとForwardしたコンテキストBのセッ
ションIDの値は同じなのですが、セッション変数が無効になります。

他のコンテキストへは、セッション変数は引き継げないものでしょうか?

460 :nobodyさん:02/12/20 01:51 ID:H52mPG7b
コンテキストAのActionクラス
public class SampleAction extends org.apache.struts.action.Action {

public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
ServletContext context = getServlet().getServletContext();
ServletContext forwardContext = context.getContext("/B");

RequestDispatcher dispatcher =
forwardContext.getRequestDispatcher("/WEB-INF/jsp/index.jsp");

//セッションIDの出力 ← ID0000WJ3VLHFLPNH11MSIGWW4Y3A:-1が出力される
System.out.println("AでのセッションID"+request.getRequestedSessionId());

//セッション変数の格納
request.getSession().setAttribute("test","ok");

//セッション変数の取得 ← okが出力される
System.out.println(request.getSession().getAttribute("test"));

dispatcher.forward(request,response);
return null;

}
}

461 :nobodyさん:02/12/20 01:52 ID:H52mPG7b
コンテキストBのJSPから呼ばれるActionクラス
public class SampleAction extends org.apache.struts.action.Action {

public ActionForward perform(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
ServletContext context = getServlet().getServletContext();

//セッションIDの出力 ← Aと同じID0000WJ3VLHFLPNH11MSIGWW4Y3A:-1が出力
される
System.out.println("BでのセッションID"+request.getRequestedSessionId());

//セッション変数の取得 ← okではなく、nullが出力されてしまう
System.out.println(request.getSession().getAttribute("test"));
}
}

すみません。459〜461です。

462 :nobodyさん:02/12/20 13:21 ID:umD3XVVz
servletのsessionidについて質問ですが、stringのsessionidの場合、最大何桁
(何文字?)まで設定できるのですか?

なんかわけわからい質問かもしれませんが、回答お願いします。
(いきなり先輩に調べろといわれて途方に暮れてます・・・)

463 :nobodyさん:02/12/20 15:02 ID:YqeBsIL9
>>462
自分でsessionid設定するの?

464 :nobodyさん:02/12/20 15:14 ID:YqeBsIL9
唐突なんですが、EclipseとTomcatで開発する時、
最適なデバッグ環境ってどんな設定したらいいんでしょう。

最初自分は適当にサブレ作ってWAR作ってTomcatに放り込んで再起動し、
とりあえず動かしてSystem.outって感じだったのですが、
あまりにウザいので、デプロイは直接Classの保存先を任意webappの
classesに指定し、web.xmlも直で書き換える形にしました。
しかし、デバガとTomcatを連動する方法がわかりません。

やっぱEclipse単体だと、WSADみたいな事はできないのか?

465 :nobodyさん:02/12/20 16:46 ID:umD3XVVz
>463
設定じゃなくて、取得かな?
なんか、sessionIDを取って、取ったIDをDBにInsertするので、
DBのカラムの桁数の設定の参考にしたいそうです。
(DBはOracle9です。)

/* 今までASPしかやったことない(しかも数ヶ月)私にはJSPは敷居が高いなぁ・・・(涙
(でも次の仕事でつかわないといけないし・・・) */





466 :nobodyさん:02/12/21 20:12 ID:R2Psu5PA
459〜461で追加です。

WebSphere AES 4.0で、
あるWebアプリケーションから別のアプリケーションにディスパッチを
行う場合に、セッション情報が失われます。
TomCat4.0.4、3.3系では可能です。

WebSphere AES 4.0でセッション情報を引き継がせる方法はないでしょうか?



467 :nobodyさん:02/12/22 00:13 ID:???
>>466
管理コンソールかどこかに設定なかったっけ?

468 :nobodyさん:02/12/22 01:59 ID:???
>>465
とりあえず、 request.getSession().getId().length() を、
どこぞにout。

参考↓
ttp://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/index.html


469 :468:02/12/22 02:01 ID:???
あ、ちなみにrequestは、JSPの暗黙インスタンスでもいいし、
Servletの doGet (あるいはdoPost) の引数でも良い。

470 :nobodyさん:02/12/22 14:08 ID:5C2ox88F
Session管理って、もっとも確実でセキュリティの高い方法は、結局
のところHIDDENフィールドなんですかね?コーディング大変だけど・・・

SessionオブジェクトなんかはCookieを無効にされたら一発でアウトだし、
URL Rewriting はセキュリティ的に問題あるし・・・

471 :nobodyさん:02/12/22 14:10 ID:???
>>470
Cookie も HIDDEN も URL Rewrite も平文パケットが飛ぶのは同じ
素直に SSL 使いなはれ

472 :nobodyさん:02/12/22 14:19 ID:???
>>470
てゆーかHiddenって...。ソース見られたら終わりでは..。

473 :age:02/12/22 15:13 ID:5C2ox88F
Servlet API のクラスの仕様が乗っている J2EE DOC ってのが
あるらしいのですが、見つかりません・・・

どなたか場所をおしえてください・・・

474 :nobodyさん:02/12/22 15:25 ID:???
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/index.html

475 :nobodyさん:02/12/22 16:28 ID:xvh5bsxK
Servlet Specよめ。
べつのServlet Context(別のWAR)では、Sessionは別になるってことは
Servlet Spec2.2 からの常識だろ。

Sessionを共有したいのなら、ひとつのWARにしろ。


476 :nobodyさん:02/12/22 19:24 ID:???
>>475

IBMのWAS使ってるのなら、WASv4.0.4からはEARワイド(WAR間)でセッション共有できる
独自拡張機能があるでよ。WASv5なら最初から入ってる。

477 :nobodyさん:02/12/22 23:22 ID:???
>>474
ありがとう!

478 :nobodyさん:02/12/23 13:04 ID:sOBBiOys
destroyメソッドを実行させたいのですが、
もっとも簡単なテストの方法は何ですか?

Tomcatを再起動させるしかないのでしょうか?

479 :nobodyさん:02/12/23 13:51 ID:???
System.gc();
運がよければ実行される。

Tomcatの再起動じゃdestroy()は走らないでしょ

480 :nobodyさん:02/12/24 12:35 ID:SRQOAFB0
>476
WASv4.0.3を使用しています。
WASv4.0.4のEARワイド(WAR間)でセッション共有できる
独自拡張機能の詳しい資料や参考URLとか、ありませんか。


481 :nobodyさん:02/12/24 18:05 ID:dttvkCa8
>>476
>>480
そんなもの、使うな。
Specじゃないけど、用意されているっていうことは、
そのデメリットを本当に考慮している人だけが後ろめたい気持ちで
コッソリと使うものだ。

素人は、素直にSpecどおりにしておけ。傷が広がらないうちに。

482 :nobodyさん:02/12/24 23:47 ID:???
>>478

はい。このリリースノートみてみ。

ftp://ftp.software.ibm.com/software/websphere/appserv/support/fixpacks/was40/fixpack4/docs/404rn.html

でも479氏の言うとおりだと思うね。
積極的に使っていい機能ではありえない。
これを前提とするとポータビリティ性は根底から皆無になるよ。
将来的にまたWASがすっぱりこの機能を削るかもしれないことも
考えよう。
おんなじようなものとしては、WASv5でのセッション同期化機能も
そうだろうな。synchronized(session){...}や
synchronized(session.toString().intern()){...}を
しなくてもよくなるというものだろうけど
これも使うときは要注意ではないかな。

483 :nobodyさん:02/12/26 16:04 ID:eh9DbOka
>>481
WASを V4.0.4にしました。
どうしてもWebApp間でセッション共有を行う為に独自の拡張機能を使用したいのです。

V4.0.4の新機能に、
@「Enterprise Application内でのWeb Application間のSessionの共有」
というものがあります。

また、拡張機能として、
A「Provide session sharing across Web modules in an enterprise application」
というものがあります。

これは、sessionshare.xml というファイルをWASのproperties配下に配置し、
内容は、セッションを共有したいEnterpriseAppnamesをカンマ区切りで記述する
と、セッションマネージャーがそのファイルを参照し、Enterprise Application内の
複数のWeb modulesでセッションを共有できるようになるそうです。

実際試したのですが、1つのear内に複数のwebAppを作成した場合は、複数のwebApp間
でのセッションの共有はできるようになりました。

しかし、複数のearにまたがるwebAppでは、セッションの共有はできませんでした。

Aの拡張機能としては、正しいと思います。
@の新機能は、V4.0.4をインストールした時点で使用できるのか、
それとも何か設定をしないといけないのかが分かりません。
ご存知の方、どうか教えてもらえないでしょうか。

参考URL:http://www-6.ibm.com/jp/domino01/software/websphere.nsf/NewsWeb/92
C9F03BD3ADD24849256C210024EFAB?openDocument&&ViewName=NewsWeb


484 :nobodyさん:02/12/26 23:03 ID:???
>>481

> しかし、複数のearにまたがるwebAppでは、セッションの共有はできませんでした。

これはできませんよ。設定がどうこうではなく,EAR間の
セッション(HttpSession)共有はありえないのです。
ちょっと考えてみればなぜかはわかると思いますが。

もしそんなことをしたいというのであれば,それはEAR/WARの
パッケージングの粒度を見直すべきです。前提がそもそも
誤っているということですね。そうなるとHttpSessionではなく
アプリ側で独自のセッション引継ぎを実装するしかないでしょう。

485 :nobodyさん:02/12/27 00:46 ID:JMAqBuKI
Tomcatでjspを使ったのWebアプリを動かしてるんですけど、
そのサーバーがファイヤーウォール内にあるので、
逆プロキシで外部からアクセスするようにしました。
しかし、逆プロキシ経由すると、そこで
sessionオブジェクトが消えてしまうみたいなんです。
こういう場合sessionオブジェクトは使えないんでしょうか?

なんとか動くようにしたいんですけど、
なにかいい手はありませんか?

486 :nobodyさん:02/12/27 00:53 ID:GgzWBaJJ


http://berry6.hp.infoseek.co.jp/
パートナーのいない人は急げ!
まったり、しっとり過ごしましょ(o^.^o)



487 :nobodyさん:02/12/27 01:08 ID:RsSYigkg
>>484
「WASv4.0.4のEARワイド(WAR間)でセッション共有できる
独自拡張機能」というのは、
「EAR内での複数のWAR間でセッション共有できる」
ということなんですね。
EAR間ではセッションは共有できない、またできる
べきものではないのですね。わかりました。
どうもありがとうございました。

488 :nobodyさん:02/12/27 01:35 ID:???
1回のPOSTでservletが数回実行されてしまうの
ですが対策ありますか?

489 :nobodyさん:02/12/27 05:32 ID:???
>>488
どういう状況下でそうなったか、まず書け。
「Servletが」とは「同じServlet」なのか「別のServlet」なのか。
「1回のPOST」は本当に1回なのか。

490 :488:02/12/27 12:04 ID:???
簡単に書いてしまい申し訳ない
「Servletが」とは「同じServlet」のことです。
それが一度に何度も実行されないように下記の
対策2のようなonsubmitをformに施しております
ttp://www.atmarkit.co.jp/fjava/javafaq/servlet/servlet12.html
しかしサーブレット側ではdopostが2−4回程コールされてしまうので
ござる。

491 :nobodyさん:02/12/27 12:06 ID:???
>>485
同じような問題に遭遇したことがあるが解決法はしらない
誰かおしえてくれー

492 :nobodyさん:02/12/27 12:14 ID:???
>>490
そのonSubmitに書いたコードが間違っている。

にしてもこのページ良くないなぁ。
なんにも考えない奴がこのページ見たらJavaScript挟むだけでだけで安心しちゃうよ。

クライアントサイドスクリプトなんていくらでも改変・悪用が可能なんだから、
サーバー側での対処は必須。
クライアントJavaScriptはユーザーの利便性向上以上の目的で使ってはいけない。


493 :nobodyさん:02/12/27 12:16 ID:???
>>485,491
そのプロキシがヘッダ弄ってるんじゃない?

494 :490:02/12/27 12:42 ID:???
>>492
アドバイスありがとうございます
しかしonSubmitに書いたコードが間違っているとは思えないのです
submitを連打した場合はalertで警告を出し、return false;
していて、動きもそのとおりだから。
この2chでも書き込みすると2回書き込まれちゃうときってありますよね。
それを100%防ぐのはムリなんですかね?
あとstrutsに関してこんなサイトみつけました。
ttp://www.freeml.com/message/struts-user@freeml.com/0000867
このようなことはJSP&サーブレットでもできるものでござるか?

495 :nobodyさん:02/12/27 13:04 ID:???
>しかしonSubmitに書いたコードが間違っているとは思えないのです

じゃぁネットワーク監視してPOSTが2回飛んでないことを確認したら?
アクセスログでも良いけど。
そうでなかったら受け取ったServletが自分自身のdoPostを余分に呼んでる。


>このようなことはJSP&サーブレットでもできるものでござるか?

できる。

ていうかサーバーサイドで対処する方法なんていくつもあるんだから、
その中から要求仕様に合ったものを自分で選べばヨシ。

496 :485:02/12/27 17:51 ID:pFyW/X+i
>>493
プロキシがセッションidを削ってました。どうもです。

Apacheのmod_proxyを使ってるんですけど、
削らないように設定する方法はわかりませんか?

あと、セッションidが削られるのを直せないとしたら、
sessionの代用は何をつかうのがいいでしょうか?
Stringを1つ保存するくらいなんですけど、
やっぱりクッキーでしょうか?


497 :nobodyさん:02/12/28 12:10 ID:???
>>485
sessionidが削られる環境=cookieも削られる、筈。
ていうか、同一。

498 :497:02/12/28 12:12 ID:???
あ、>>485 ていうか、>>496 へのレス。

499 :490:02/12/29 12:07 ID:???
>>497
その場合ユーザー認証はどのようにして
実現します?

500 :_:02/12/29 12:12 ID:LE3o8C1x






http://freeweb2.kakiko.com/dengeki/indexe.htm






501 :nobodyさん:02/12/29 12:14 ID:???
Cookieでなく URL-rewriting にしたら?

502 :497:02/12/29 13:30 ID:TRvxBQ36
>>499

>その場合ユーザー認証はどのようにして

やっぱりDB使うしかないんじゃないかな。
そういうケースとか、"ロードバランサかましてる"時とか、
Session情報を保持できない時の常套手段。

503 :nobodyさん:02/12/29 13:52 ID:???
どうしてSessionそのものとSessionを維持する手段を分けて考えられないのかね。
ここの連中はアホばっかり?

Cookie使えないならURLリライティング使えばいいだろ
DB云々なんてのは全然関係ない、レイヤの違う話。


504 :nobodyさん:02/12/29 15:16 ID:???
>>503
>>501で既出な話をそこまで偉そうに言えるお前がすごい。

505 :497:02/12/29 15:20 ID:5NDJvXMb
>>503
あのね、漏れは、>>499

>その場合ユーザー認証はどのようにして実現します?

の、問いに対して「自分だったらこういうアプローチを取る」と、
答えただけなんだけど。...ていうか仕事で実際そうしてるし。

501=503 ?? 自分の意見が無視されたのが、そんなにくやしいのかね。
ていうか、「ユーザ認証の処理」に対して「URLリライティング」を適用するっていうのを、
>>499に具体的に提示してやれよ。それこそ、「レイヤが違うん」じゃないの?

話聞けよ。アホ。

506 :nobodyさん:02/12/29 15:54 ID:???
ユーザー認証とSessionをごっちゃにしてる>>497の勘違いを指摘せずに
「DB使うしかない」なんて更に見当違いの話持ち出したってそれこそ泥沼だな・・・

Sessionさえ維持できれば497が既に知ってるであろうユーザー認証の手段が使える。


>の、問いに対して「自分だったらこういうアプローチを取る」と、
>答えただけなんだけど。...ていうか仕事で実際そうしてるし。

DBを使うことと認証がどうしてリンクするの?
きちんと理解できてないのならもう少しよく勉強した方がいいよ。
DB?コンテナが用意してくれているセッション管理の機構を自分で再実装してるのかね(笑
それともユーザー名とパスワードをリクエスト毎に持ちまわってるのかね(笑


507 :497:02/12/29 20:30 ID:V00Mpbw5
>>506
>DBを使うことと認証がどうしてリンクするの?

確かに話飛び過ぎたかもしれんが、漏れがやった具体的な方法というのは
>>506がシステム屋なら知ってると思うが)一般的に「そのWebシステムを使用するユーザ(例えばその会社の社員)」についての
情報ってのは、普通ソレ専用のDBに溜めてある。
で、単純にAPサーバにあるWebシステムに「ログオン」する時に、そこに保存してあるIDやパスとの比較を
行い、以降の処理を行う。

...っていうか普通のSEだったら、こんなの「何あたりまえの事言ってんの?」って感じだと
思うんだが...。
で、この後、

>Sessionさえ維持できれば497が既に知ってるであろうユーザー認証の手段が使える

これって、要するに「ログオン状態(State)の変遷の保持」の事言いたいんだよな。
で、ここでポイントになるのが漏れが>>502で言った、
「ロードバランサとかかましている時」=「Session状態をC/Sで一致させる為の手段が無い時」
に、どうするのか、って事。

いくらURLRewrite使ってもさ、もしロードバランサとかでAPサーバ振り分けられちゃったら、
「そのSessionIDに一致するインスタンスがサーバにない」って事になるよな。
(つーかクラスタ組めばいい感じになるAPサーバも世の中にはあるが)

要するにだ。もう一度>>502の漏れの書き込みを読んでみろよ。漏れの経験上の一意見として、

>そういうケースとか、"ロードバランサかましてる"時とか、Session情報を保持できない時の常套手段。

として、DBを使うって、言った、んだよ。
お前、実務経験無いだろ。学生か?

508 :497:02/12/29 20:41 ID:V00Mpbw5
>>507
自己レス。すまん。つーか「状態変遷の保持」。つまり、>>506>>503で言った

>どうしてSessionそのものとSessionを維持する手段を分けて考えられないのかね。

漏れは「Sessionが維持できない」ケースとして、例を出したんだよ。「こんな事あったな」って。
でその時はログオン後、仕方が無いので、要所要所でDBから読んで処理した。
(全部のWebページ毎、では無いが)
特に、インターネットに接続された外部のユーザがアクセスしてくる
システム(ただしそれほどクリティカルでない)で、かつそれぞれクラ環境がバラバラで、
Cookie使用禁止な所もあれば、プロキシの設定がアレな所もある。

最初は普通にSessionで管理していたんだが、客側の都合で「このままで動くようにしてくれ」
言われてしまった。で、こんな処理を書いた訳だ。

実際Sessionで管理できれば楽なんだけどな。ま、こんなケースもあると。

509 :nobodyさん:02/12/29 22:40 ID:???
おちけつ

510 :nobodyさん:02/12/30 01:22 ID:???
どうも自分の間違いを素直に認められない方のようで(笑

>>502
>>その場合ユーザー認証はどのようにして
>やっぱりDB使うしかないんじゃないかな。

「その場合」で無い場合(=Cookieが使用できる場合)のユーザー認証に
DBは必須ではないような書き方ですね。

>情報ってのは、普通ソレ専用のDBに溜めてある。

へー「DB」っていうのはそう言う意味で使ってたの。502と矛盾してますよ。
しかしずいぶん程度の低い話になったね。

>で、ここでポイントになるのが漏れが>>502で言った、
>「ロードバランサとかかましている時」=「Session状態をC/Sで一致させる為の手段が無い時」
>に、どうするのか、って事。

話がすり替わってるよ。
いつの間にこんな特殊な(※)環境の話になったのかね。
409の環境に関する情報は「Cookieが使えない」ぐらいしか出てないようだけど(笑
※素朴なServletコンテナの実装からすると特殊な、という意味ね。念のため

>お前、実務経験無いだろ。学生か?

実務経験あってもわかってなきゃ意味ね−な。理解してる学生バイトの方が数倍使えるよ(笑


511 :497:02/12/30 03:37 ID:5wRLF/Jd
>>510
今このスレ遡って読み返してみた。正直な話、いつの間にか話飛んでたよ。
間違いがあったのは認める。...ムカつくけどな、お前。
ガキの噛み付き方丸出しだし。
(って、それに煽られて興奮気味になんだかわからない事書き込みしてる漏れも相当ガキ丸出しだが....)

つーか元の話ってのは、「Sessionが削られている」から始まって「ユーザ認証ってどうしてます?」
って話だろ?
それで、漏れは>>508に書いたような事が勝手に頭によぎってそう書いたんだよ。
つーか「理解してる学生バイト」(ちなみにシステム屋で学生バイトなんているのか?)
ならわかると思うが、

>話がすり替わってるよ。いつの間にこんな特殊な(※)環境の話になったのかね。

と思うなら、

>へー「DB」っていうのはそう言う意味で使ってたの。502と矛盾してますよ。

矛盾なんて無ェだろ。

つーか、もう、なんか元の話と関係無くなってるので、この辺で。
他の方々、アホさらしてすんません。

512 :初心者:02/12/30 07:07 ID:UlqXA/Qv
これからJSPを始めようとしているんですが、誰か、
>>34>>55で紹介されてる、

Apache_1.3.22-Mod_SSL_2.8.5-OpenSSL_0.9.6b-WIN32.zip
OpenSSL-0.9.6c-Windows.zip
jakarta-tomcat-4.0.3.zip
の3点をうぷして頂けないでしょうか?

後、>>55さんのページに書かれてた LawWebOffice モジュール とは何ですか?
これも必要なんでしょうか?

よろしくお願いします。


513 :nobodyさん:02/12/30 12:50 ID:???
>>512
場を和ませようとしたのか?
まずぐぐれ

514 :nobodyさん:02/12/30 17:21 ID:???
なんか荒れてるねー。つーか荒れてる訳では無いのか。
不毛な争いはちょっと置いといて...。

>>512
とりあえず
Apache関係の日本の総本山 → http://www.apache.jp/
JAKARTAプロジェクト関係の日本の総本山 → http://www.ingrid.org/jajakarta/
行ってみれ。


515 :まーまー:02/12/30 17:36 ID:???
>>511 (497?)
オレもSEのはしくれなので言いたい事はわかるんだけど、
相手の環境考えなきゃ。それこそその筋の人間なら、頭の中で話つながるんだけど、
自宅でサーバ立てようって向きには、「何言ってんの?」って思われても仕方が無いと思う。

>>510
Sessionと、Session維持を分けて考えろとか、良いとこ突っ込んでんだけどねー。
君、口悪すぎ(笑)

肩持つ訳じゃないけど、511は本人も言ってる通り、「そういう例」を
ただ何の気無しに言ったんだと思うよ。経験した話として。
たぶん、これってただそれだけの話。

516 :初心者:02/12/30 17:42 ID:UlqXA/Qv
いや、マジなんすけど。
直でぐぐってもヒットしないし、>>514さんの辺りを見ても中々見つかりません。

517 :nobodyさん:02/12/30 20:34 ID:???
>>516
ttp://www.apache.org/
ttp://jakarta.apache.org

このくらい、押さえとけ。

518 :初心者:02/12/30 22:14 ID:UlqXA/Qv
>>517
バージョンの違う奴なら落として>>56のページを真似してみたんですけど、
どうしても上手く起動しません。
Apacheのhttpd.confの継ぎ足した所のSSLについての部分でエラーが起きている
みたいなんですが、ページに書いてあるのと同じバージョンなら上手くいくので
はないかと思いまして。

519 :nobodyさん:02/12/30 22:28 ID:???
2ちゃのServlet関係スレってレベル低いね〜
質問者は仕方ないとして、答えてる奴の8割くらいは、ただの素人だな…

たまにマトモな奴もいるようだけど…



520 :nobodyさん:02/12/30 22:32 ID:???
>>518
Apache2.0系とApache1.3系はモジュールの実装の仕方が違うぞ!
ついでに、Tomcat3.X系と4.X系も違う!

古いバージョンが欲しいのなら、>>517 のサイトをくまなく探せ!
必ずあるから!


521 :初心者:02/12/30 22:48 ID:UlqXA/Qv
>>520
ありがとうございます。
Apacheは、Apache_1.3.27-Mod_SSL_2.8.12-OpenSSL_0.9.6h-Win32.zip
SSLは、OpenSSL-0.9.6h-Win32.zip
Tomcatは、jakarta-tomcat-4.0.6.zip
を解凍して使用しました。

http://members.tripod.co.jp/emasuken/open/apache_mod_ssl_tomcat.txt
の通りにしようとしたら、出来ない所がいくつかありまして。
たとえば、c:\app\opensslの下にbinディレクトリは存在しませんでした。

>>517のサイトも、もう一度まわってみます。

522 :nobodyさん:02/12/30 23:51 ID:???
>>519 のレベルの高い回答望む。俺ら素人だから。

523 :nobodyさん:02/12/31 00:33 ID:???
(・∀・)バカガツレタ

524 :初心者:02/12/31 08:15 ID:UeevlrXN
やっぱり、全く同じバージョンのは見つかりませんでした。
OpenSSLを解凍してもbinディレクトリが出来ない場合、作ればいいのでしょうか?

525 :初心者:02/12/31 08:31 ID:UeevlrXN
SSLキーの作成って所が全く上手くいかないんですよね。
コマンドプロンプトで、以下のように命令を送ると、
C:\app\openssl\bin>openssl req -config openssl.cnf -new -out my-server.csr

以下のエラーが出ます。
Using configuration from openssl.cnf
error on line -1 of openssl.cnf
812:error:02001002:system library:fopen:No such file or directory:.\crypto\bio\bss_file.c:104:fopen('openssl.cnf','rb')
812:error:2006D002:BIO routines:BIO_new_file:system lib:.\crypto\bio\bss_file.c:106:
812:error:0E064002:configuration file routines:CONF_load:system lib:.\crypto\conf\conf_lib.c:91:

526 :nobodyさん:02/12/31 12:28 ID:???
>>524

Apach Tomcat OpenSSL

の内、どれが見つからないんだ?
で、お望みのバージョンはいくつなんだ?

Tomcat4.0.3と4.0.6は、セキュホ対策以外は同じ物だぞ!

527 :nobodyさん:02/12/31 12:53 ID:???
>>525

http://bitlink.co.jp/server/win_apache.htm

528 :nobodyさん:03/01/01 05:43 ID:3/OpWna1
質問なんですが、今ここにAServletとBServletがあるとします。
これらはそれぞれ、本来は別々のリクエストで起動するのですが、
ある時だけ、AServletからBServletにdispatchする事があります。
その際に、getParameterする値を書き換える事はできるでしょうか。
要するに"get"に対して、"setParameter"みたいな...。

...って、本当はこんな事しなくても、MVCで言えばちゃんとServletが
コントローラに徹していて、実際のモデル(ビジネスロジック)をBeanに
分けて実装してあれば、わざわざdispatchなんかしなくても完結できるんですけどね....。


529 :初心者:03/01/01 08:10 ID:G2l2vXwo
>>526
>>527
おお、ありがとうございます。
とりあえず、SSLを実装しない形では、他のサイトを探してJSPが走る形には出来ました。
(まだ、さわり程度のサンプルjspしか試していませんが)
>>527さんの所も読んでみて、SSLの実装にもチャレンジしてみますね。

530 :nobodyさん:03/01/01 18:31 ID:OtnMrmxA
HttpSessionオブジェクトを使用したセッション管理を行った場合、
SessionIDが付加された形でクライアントのrequestが送信されて
きますよね?
ってことはセッション管理は各クライアント毎ということになりますから、
クライアントが同一ならブラウザを何個立ち上げてもHttpSessionオブジェクト
は共有されるはずですよね?

Servletで上記のセッション管理をgetSessionを使用して実現してみると
クライアントごとに値が保持されるのですが、
(同一クライアントであれば、ブラウザを何個起動しなおしても値は保持される)

JSPの暗黙オブジェクトであるsessionを使用して同一の機能を実現して
みると、ブラウザごとに値が保持されてしまいます。
(ブラウザを起動するたびに値が初期化されてしまいます)

これはなぜなのでしょうか?

531 :nobodyさん:03/01/01 19:12 ID:gMpGNAZi
>>530

直接、HttpのRequestとResponseをみてみるのが早いかと。

Requestで、cookie は同一のものが送られている?
Responseで、set cookie は同一のものがセットされている?

それをまず、確認してみたら?


532 :nobodyさん:03/01/01 20:25 ID:WxVSzOcR
>>530
Sessionの寿命って、どう設定してる?
ていうか、この場合の「クライアント」の定義って、
「その瞬間、サーバにリクエストを投げたヤツ」って思うんだけど。
つまり、「ハード的な台数の別」でなくて、立ち上げたブラウザの個数分、
クライアントなんだと思うが。その辺の認識は、どうか。

533 :532:03/01/01 20:36 ID:WxVSzOcR
ちなみに「Session」というのは、1回の「HTTP Request→Response」チェーンの事を言うのであって、
「このクライアントはさっきから接続したままです」っていう「状態」を表すものは、
HTTPにはそもそも存在しない(HTTPはStateless Protocol)。従って、
「Sessionの維持された状態」を表すには、他の、何か別の物を利用して実現するしなければならない。
それが例えばJavaServletの場合、HttpSession(と、その周辺)の機構だったりする。
..って考えた場合、「クライアント」ってどこを指してる?

(いや、話には全然関係無いんだけど、よく混同してる人がいるので、念のため。)


534 :530:03/01/01 20:44 ID:OtnMrmxA
>>532
SessionIDってクライアント端末のCookieに保存されるのですよね?
だったらSessionのスコープって「ハード的な台数の別」になるのでは
ないのですか?なんか私アホなこと言ってる?
Sessionの寿命は各セッションオブジェクトの寿命であって
Sessionのスコープとは関係なくないですか?

>>531
Cookieを使用したセッション管理の話ですか?
それこそ各クライアント端末に格納されるのですから
各クライアント端末ごとにセッション管理されるはずですよね?
(何個ブラウザを立ち上げても値は共有されるはず)
ちょっとやってみます。

535 :530:03/01/01 20:49 ID:OtnMrmxA
>>533
HTTPがステートレスであることはわかります。
私が使用している「セッション」はHttpSessionオブジェクトを使用して
実現される値保持の状態を指します。
また「Session」という言葉はHttpSessionオブジェクトを指しています。
「クライアント」とはクライアント端末を指します。

536 :nobodyさん:03/01/01 20:57 ID:RNLf2SvW
★★★★★★★★★★★★★★★★★★★★★★★★
激安を超えた!超激安!
新品アダルトDVDが1本500円から!
個人でも1本から買える!オンラインDVD激安問屋!
GO!GO!DVDドットコム!
http://55dvd.com/
只今福袋も売り出し中! 売り切れ御免!
★★★★★★★★★★★★★★★★★★★★★★★★

537 :nobodyさん:03/01/01 21:18 ID:gMpGNAZi
>>534

Cookieは同一PCでブラウザを複数起動しても必ず同じものが送られるとは限らないよ。
IEとネスケでも、違うポリシーだったような。
(ネスケの場合は、同じCookieを、IEの場合は、ブラウザのプロセスごとに違うCookieだったかな?)

メモリー上のみのクッキーの場合は、ブラウザを新たに起動すれば違うCookieを送るときもある。

このへん、最近のIEの場合は、どうなっているかわからないので、
まー、とりあえず確かめて報告してくれると嬉しいなり。

538 :530:03/01/01 21:43 ID:OtnMrmxA
>>537
うーん、先入観ってこわいですねぇ・・・
Cookieってクライアント端末に格納されるっていう話だったので
てっきり一端末一Cokkieファイルみたいなイメージに囚われていました。

IEにて試してみたら、CookieおよびHttpSessionによる両セッション管理とも
ブラウザのプロセスごとに異なるセッションとして値を保持しました。

537さんは「違うCookieを送るときもある」と表現していますが、
この実験結果から、IEの場合はブラウザのプロセスごとに必ず異なるセッション管理
を行うと考えてよさそうですね。

ところで、HttpSessionを使用した場合、Cookie情報としてSessionIDのみ
クライアントに送信され、次回のrequestからそのSessionIDが付加されますが、
このSessionIDはメモリに保存されているのですか?

539 :nobodyさん:03/01/01 22:03 ID:gMpGNAZi
>>538
> このSessionIDはメモリに保存されているのですか?

そうでしょう。
細かいことは、CookieについてのRFCを読んだほうがいいと思うけれど。
(わたしも詳しくは知らないです。)

あた、そこらへんのCookieの寿命・スコープを制御したかったら、
session関係のAPIだけではだめで、
javax.http.Cookie あたり、特に setMaxAge(..)
あたりが参考になるかと。

540 :nobodyさん:03/01/02 11:46 ID:ovQ10hvA
JSPで、HTMLエスケープてどうやるでしょうか?
beanからgetPropertyでとってきたものXSS脆弱性だらけで
私困っています。どうか教えてください。

541 :nobodyさん:03/01/02 13:49 ID:LuTmMgnD
JSPで
<%! public String getName(){ return "Bob"; } %>
みたいな感じでpublicでメソッドを宣言できますが
publicにすると何かいいことあるのですか?
他のページで使用できるとか?

542 :nobodyさん:03/01/02 13:52 ID:???
>>541
俺は嫌い

543 :nobodyさん:03/01/02 14:07 ID:1txGAB/5
ゾンビについて知り尽くした男のページ
http://www.geocities.co.jp/Outdoors-Marine/4547/ ( 中島みゆき )


544 :nobodyさん:03/01/03 13:09 ID:CIudwpGx
サーブレットからjdbcを使いデータベースの内容を出力するプログラムを作っているのですが、
DBから取得している筈のデータが表示されません。(そもそも取得に成功しているかわかりません)
コマンドラインから実行する形のプログラムは動作しているのですが、どなたか同様な症状に合われた方がいらっしゃいましたらお教え頂けないでしょうか?


環境は以下の通りです。
redhat inux8
postgres7.3
tomcat4.1.18
j2sdk-1_4_1_01


545 :nobodyさん:03/01/03 13:23 ID:???
どこで取得データがロストしてるのか分からなければ答えようもない。
とりあえずSystem.err.printlnしまくって、どこまで上手くいってるのか報告しる!
話はそれからだ。


546 :nobodyさん:03/01/03 14:13 ID:???
>>544
せめて取得部分のソースぐらい書け

547 :544:03/01/03 15:37 ID:CIudwpGx
>>545さん546さん

レスありがとうございます。

以下取得部分のソースです。
どこまで上手くいってるかは現在確認中です。
お願いします

Connection conn = null;
try {
String url = "**";
String user = "**";
String password = "***";
conn = DriverManager.getConnection(url, user, password);
conn.setAutoCommit(false);

Statement stmt = conn.createStatement();
ResultSet rs = null;
try {
rs = stmt.executeQuery("SELECT name, price FROM test");
while (rs.next()) {
out.println("<tr><td>" + rs.getString(1) +
"</td><td>" + rs.getInt(2) +
"</td></tr>");
}
} finally {
rs.close();
stmt.close();
}
conn.commit();
}

548 :nobodyさん:03/01/03 15:51 ID:???
>>540
自分でTablib作って処理する。
またはJSTLを使う。

549 :nobodyさん:03/01/03 15:51 ID:???
catch句を作ったほうがいいな。
その中でエラー内容を表示させるようにしる!


550 :nobodyさん:03/01/03 15:52 ID:???
>>549>>547宛ね


551 :544:03/01/03 17:15 ID:CIudwpGx
>>550 さん

根本的に理解してませんでした。
JDBCのドライバをCALALINA_HOME/share/libにコピーしたら動作しました。

すいませんでした

552 :nobodyさん:03/01/03 19:37 ID:xHt5cVHG
JSPを行う場合、J2SEよりJ2EEの方がいいって話だけど、一体何が違うのさ?

553 :nobodyさん:03/01/03 19:44 ID:nrlj3bO8
   ,.´ / Vヽヽ
    ! i iノノリ)) 〉
    i l l.´ヮ`ノリ <先生!こんなのがありました!
    l く/_只ヽ    
  | ̄ ̄ ̄ ̄ ̄|
http://muryou.gasuki.com/saitama/

554 :nobodyさん:03/01/04 04:13 ID:Eze7pD0s
複数フレームで構成されている画面があります。
あるフレームAを表示させるためのActionクラス処理で発生したエラー内容
をstruts:errorsにより表示する時に、エラー表示を全画面(_top)に表示さ
せることはできないでしょうか?
(フレームAには表示させることができますが)
Strutsフレームワークでは不可能なのでしょうかね。

555 :nobodyさん:03/01/04 09:31 ID:U0/Cv6SQ
>>552
>JSPを行う場合、J2SEよりJ2EEの方がいいって話だけど

APIのJavaDoc嫁!
Servlet関連のクラスはどっちにある?

556 :nobodyさん:03/01/04 09:35 ID:U0/Cv6SQ
>>554
>複数フレームで構成されている画面があります。

「フレームが切られている」のは、クライアント側の都合。HTMLがブラウザにレンダリングされる時に
わかる話。
Struts....というよりサーバ側で処理されるそれらで、どうしてJavaScriptレベルで判定されるような
その「都合」がわかるのさ。
なので、一度クライアント側でターゲットを"_TOP"に指定して、それらを表示する
仕掛けを組む必要がある。

557 :556:03/01/04 09:41 ID:U0/Cv6SQ
(続き)
それでも無理やりそうしたければ、クライアントからコンテンツをGETする要求を
サーバに投げる(Submit等)時に、常に"_TOP"にしておいて、エラーが無いか判定し
エラーが無ければ"_TOP"からコンテンツを全て再描画するつもりで、順次GETしていく
しかない。
...ただしその場合、もし他のフレームに「そのユーザ毎に固有の情報」(例えばDBから取ってきた
値の列挙があったりする、とか)がある場合、それらは再び同じように取得するか、あるいは
Sessionにしまっておいて、再描画に取り出す等の工夫が必要。

558 :nobodyさん:03/01/04 10:33 ID:???
どんなWebアプリでもフレームを使ったページって非常にやっかいだよな。

559 :nobodyさん:03/01/04 13:26 ID:KyaSNzBm
servletでHTMLのエスケープする定石のようなメソッドを御教授して下さい。神様!

560 :nobodyさん:03/01/04 13:45 ID:U0/Cv6SQ
>servletでHTMLのエスケープする定石のようなメソッド
何が言いたいのかわからん。

561 :557:03/01/04 14:11 ID:U0/Cv6SQ
↓これの事か?

http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/net/URLEncoder.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/net/URLDecoder.html

ていうか、別にServletと関係無いし。
そして、APIのドキュメントくらい、ちゃんと嫁。(基本

562 :nobodyさん:03/01/04 14:45 ID:KyaSNzBm
>561
サンクス

便乗質問ですが、みなさん画面遷移ってどうやってるんですか?
例えば、フォームからの入力をDBに登録する場合、

画面A → 画面B         →DBに登録   → 画面C
入力 入力内容の確認 登録完了

MVCとか考えるといったい何をどこで処理したらいいのかわからんです。



563 :561:03/01/04 15:31 ID:U0/Cv6SQ
View .. JSPでHTMLのフォームを使って入力画面、と表示時の処理。

Controller .. ServletはViewから要求された処理を行う為、
    Httpで送られたParameter等の下処理や、
    適切な処理(ビジネスロジック)を持つBeanにそれらを受け渡す為の
    橋渡し的な処理を行う。

Model .. Beanとして実装し、実際に渡ってきた値を使用して、
    DBに登録するなりなんなりの固有の処理を行う。
    尚この時のBeanは、それがServlet部品である事をなるべく
    意識しないで使えるように設計する。(例えばHttpServletRequestとかを
    引数に取らないようにする)

俺はいつもこんな感じ。

564 :nobodyさん:03/01/04 17:09 ID:???
>>562

strutsでいうと、
入力・・・jsp
入力内容の確認・・・form
登録・・・action
登録完了画面への遷移・・・struts-configで定義したのをactionで指定

てな感じか?


565 :nobodyさん:03/01/04 20:01 ID:bqVpTHnl
今 resin2.14 と apache1.3.27 でstrutsを勉強してるんだけど
struts-configを変更した後って再起動しないと反映されないじゃん
javaファイルを変更してリロードするだけでコンパイルしてくれるresinが好きで導入してるんだけどstruts-configの変更を反映されないのはつらい・・

tomcatとかも再起動が必要だと思うけど実際の開発でもstruts-configを変更するたびに再起動してるんかな・・。結構変更するファイルだと思うんだけど
誰か解決策知ってる人いたら教えて・・

566 :nobodyさん:03/01/04 21:02 ID:???
>>565

<action path="/admin/reload" type="org.apache.struts.actions.ReloadAction"/>


567 :565:03/01/04 21:25 ID:???
>>566
できたよママン!!

正直、ありがとう!

568 :nobodyさん:03/01/05 15:13 ID:???
JSPで
<%! public String get2ch() { return "2ch" } %>
っていうふうにpublicでメソッドを宣言すると何かいいことあるの?

569 :nobodyさん:03/01/05 16:08 ID:9NlMJwkI
>>568
特にないよ。
JSPでメソッド宣言しても、他のクラスからそのメソッド普通は使わないだろ?
だとしたら、特にpublicにする意味はないよ。

570 :nobodyさん:03/01/08 11:13 ID:???
.jar、.war、.earまではわかりますが、
.sarはどういう目的で使われるアーカイブなんですか?
ご存知の方いらっしゃいましたらご教授ください m(_ _)m

571 :nobodyさん:03/01/10 15:02 ID:hclMuHjE
JavaMailを使って、IMAPサーバと通信するアプリを作ることになりまして、
とりあえず、SunのサンプルをDLしてインスコしてみたんですが、
ログインの段階でコンパイルエラーになって、さっぱりワヤな状況になってしまって困っています。

どなたかわかる方、ご教授くださいませ。

環境
WinXP Pro + Tomcat 4.1.18 + JavaMail 1.3 + JAF 1.0.2
※ 環境変数TOMCAT_OPTS=-Dmail.smtp.host=127.0.0.1
※ send.jsp・<javamail:sendmail>に host="127.0.0.1" を、追加して、war再作成済み

サンプル
ttp://developer.java.sun.com/developer/technicalArticles/javaserverpages/emailapps/

エラー内容
C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\javamail\login_jsp.java:7: '.' がありません。
import MailUserBean;
^


572 :nobodyさん:03/01/10 15:40 ID:YwMd67k0
◆◇◆◇◆最新情報◆◇◆◇◆
http://yahooo.s2.x-beat.com/linkvp/linkvp.html


573 :nobodyさん:03/01/12 21:53 ID:3Y4gy70c
jspで質問です。
test.jspでは
<jsp:useBean id="bean" scope="session" class="BeanClass" />
bean.putNameMeth("aaa");
としてインスタンス作成。
test2.jspで
<jsp:useBean id="bean" scope="session" class="BeanClass" />
String str = bean.getNameMeth();
で、先のインスタンス表示(str)を表示しています。

PCではうまくいきますが、携帯imodeでは、strがnullになってしまいます。
試しにBeanClassでの変数をstaticに変更すると携帯でもstrが表示されますが・・
もちろん、PCでstrを変更すると携帯の方にも影響されます。

なにが悪いのでしょうか?

574 :nobodyさん:03/01/13 00:14 ID:8zuhdkL/
同一セッションであるかどうかはセッションIDをサーバとクライアントの間でやりとりして判定する。
通常はセッションIDはCookieを使ってやりとりする。
携帯の機種にもよるが、多くの機種ではCookieが扱えないため、セッションの維持ができない。
URL Rewritingを使うべし。

575 :nobodyさん:03/01/13 00:46 ID:???
>>574
横やりスマソ。具体的にはどうやるんですか? URL Rewriting。
なんか、サーバによっては出来ないって(あるいはIEのバージョンによっては
受け取らない)って聞いたのですが。

576 :574:03/01/13 01:16 ID:8zuhdkL/
>>575
仕組みから考えてブラウザのバージョンとは何の関係もないはずだが。
サーバによってというのも意味わからん。Servlet APIの仕様をきちんと満たしていれば
できなければおかしい。できないサーバがあるとしたらServlet APIの仕様を満たしていないということ。

javax.servlet.http.HttpServletResponseのencodeUrl()メソッドを調べれ。

577 :574:03/01/13 01:18 ID:8zuhdkL/
間違えた。
encodeUrl → encodeURL

578 :ao:03/01/13 01:32 ID:rHsqWeYO
ココのムービー見てよ!
こんなアダルトサイト見たことね〜です
http://digikei.kir.jp/

579 :nobodyさん:03/01/13 11:27 ID:ZPUR27bF
StrutsとTomcatを使ったユーザ認証のやりかた教えてください。

580 :nobodyさん:03/01/13 11:41 ID:???
>>579
strutsとは関係なく、tomcatだけで考えていいんでない?
・基本認証
・ダイジェスト認証
・フォームベース認証
・SSLクライアント証明書認証
がtomcat4.0にはあるみたい
やり方はぐぐって調べろい

581 :nobodyさん:03/01/13 12:39 ID:h0FwT6lD
573です。
ありがとうございます。



582 :nobodyさん:03/01/13 15:15 ID:hTUoCDQh
TOMCAT5はいつでるのですか?

おしえてください

583 :nobodyさん:03/01/13 17:45 ID:???
>>582
そろそろじゃないですか?

jakartaでalphaおとせますよ

584 :nobodyさん:03/01/15 01:05 ID:OyqbLDDB
573です。
たびたびの質問すみません。
リダイレクトの件、うまくいきました。本当にありがとうございます。
今度は、Session間で保持したいアイテム1をputすると
もう一つブラウザ立ててSession内容を見るとアイテム1が見えてしまいます。
<jsp:useBean id="bean" scope="session" class="BeanClass" />
bean.putNameMeth(String);
bean.getNameMeth();
とすると上記のような事になってしまいます。
スレッドがうまくいっていないと判断して
最初に呼ばれるServlet(仮にServlet1.javaとして)でBeanClassをインスタンス生成し
jspのformでSessionにプットしたい項目をゲットするクラス(仮にServlet2.javaとして)を作り
これをServlet1.javaを親クラスにしてBeanClassにputして
表示するjspにfowardしてみました。
<jsp:useBean id="bean" scope="session" class="BeanClass" />
bean.getNameMeth();
とするとnullとなってしまいます。
Servlet2.javaでBeanClassの中身をシステムアウトしてるのですが
これはうまく表示されるのですが、やはり上記のように違うブラウザで
putするとBeanClassの中身が共有されます。
なんとなく同じメモリにアクセスしているからだと思っているのですが・・・

解決方法、ヒントなどありましたら教えて下さい。




585 :574:03/01/15 08:36 ID:???
>>584
もう一つブラウザを立ち上げる=違うセッションになる
と考えるのは危険。
ネスケは同一マシンから(UNIX系だったら同一ユーザから)
立ち上げるとすべて同じセッションとして扱われる。
IEはスタートメニュー等から立ち上げた場合は基本的には
違うセッション、IEのツールバーの「ファイル」→「新規作成」→「ウィンドウ」
から立ち上げると同一セッション、Javascriptのwindow.open()等で立ち上げると
同一セッションになる。スタートメニュー等から立ち上げた場合でも
Win9xでメモリ32MB以下だと同一セッションになることがある。
Operaはわからん。Mozillaはネスケと一緒。
確実に別セッションで試したかったら別のブラウザ(IEとネスケ)とか
別マシンからアクセスするといいかも。

586 :579:03/01/15 08:46 ID:9/hA1o8n
>>580
Tomcatの認証とStrutsのexampleにある認証
どちらの方がいいんでしょうか?

587 :山崎渉:03/01/15 13:31 ID:???
(^^)

588 :nobodyさん:03/01/15 18:25 ID:G9qjU2R1
JSPからresponseオブジェクトをカスタムタグに属性として渡す事ってできますか?

<sample:test attr1="aaa" response=<%=response %> />

と書いてもダメなのでしょうか?
タグハンドラでresponseオブジェクトのメソッドを利用したいのです。


589 :588:03/01/15 18:42 ID:???
解決しました。
属性として渡すのではないのですね。
お騒がせしますた。

590 :nobodyさん:03/01/16 00:08 ID:2wtS4rFD
584です。
585さんありがとうございます。


591 :nobodyさん:03/01/16 17:28 ID:8i13LRiG
doPostメソッドの中で, 受け取ったリクエストを別のHTML文書に転送すると,
Webページとして表示された HTML文書の内容が文字化けしてしまいます.
この問題を解決する方法は無いのでしょうか?

592 :nobodyさん:03/01/16 18:44 ID:???
response.setContentType(にょろにょろ);

593 :nobodyさん:03/01/16 18:55 ID:???
>>591
>>592と併せて
javax.servlet.http.HttpServletRequest の setCharactorEncoding() メソッド調べれ。

594 :nobodyさん:03/01/16 23:16 ID:urGD7E1O
システム上のファイル、例えばc:\hoge\piyo.jpgとかを
Webアプリケーション内のファイルに出来ますか?
外部アプリが生成した画像ファイルをブラウザで表示できるように
したいのです。

595 :nobodyさん:03/01/17 10:20 ID:3dWcV5Qw
>594
テキストファイルなら作成したことあるけど たぶん 同じだろ


596 :nobodyさん:03/01/17 14:33 ID:UaUqkD3z
問題は作成後の処理ですが、
作成したファイルはWebアプリケーションの存在するディレクトリ以下には
存在しないので、これをそのままブラウザに見せることは出来ないでしょうか?
c:\hoge\piyo.jpg
のファイルをブラウザに対しては
http://tekitou.com/app/piyo.jpg
としたいのです。

597 :nobodyさん:03/01/18 12:25 ID:9sBN/GPY
>>596

HTMLでは画像はリンクになっているだけだということを考えると、アプレット
などを使わないとだめだと思うよ。

598 :nobodyさん:03/01/18 17:27 ID:vZxmpRsf
Tomcat3.2で動いているサーブレットから、別サーバのファイル
(.aspxか.asmxの予定)にデータをPOSTして画面遷移を行わせたい
のですが、そういうことは可能でしょうか?


599 :nobodyさん:03/01/18 18:47 ID:qsDjdXoL
>>598

リダイレクトすればできる。
でも、POSTはブラウザがきちんと対応していればという条件付になるので、
GETでやるのが無難かな。

600 :598:03/01/18 20:06 ID:vZxmpRsf
>>599
リダイレクトというのは、sendRedirectメソッドのことでしょうか?
それとも、サーブレットでリダイレクトするためのHTMLを生成する
ということでしょうか?

601 :nobodyさん:03/01/18 23:08 ID:cm1hFG4Y
<%@ page contentType="text/html;charset=Shift_JIS"%>
<%@ include file="/jsp/xxx.jsp"%>

でエラーがでるんですけど何ででしょう?
Page指示子: contentTypeを複数指定できません
こんなエラーメッセージが出てしまいます。
あと<jsp:include page="xxx.jsp">っていう方式でも
インクルードできないんですがなぜなのでしょうか?

602 :nobodyさん:03/01/18 23:19 ID:???
>>601
<%@ include file="/jsp/xxx.jsp"%>
でインクルードしているxxx.jspにも
pageディレクティブでcontentType 指定してない?
include ディレクティブはソースコードのレベルで
インクルードするからエラーメッセージの通り、
contentTypeを同一ページ内で複数指定することになる。

>あと<jsp:include page="xxx.jsp">っていう方式でも
>インクルードできないんですがなぜなのでしょうか?
どういう風に「できない」の???

603 :nobodyさん:03/01/18 23:43 ID:cm1hFG4Y
>>601
でインクルードしているxxx.jspにも
pageディレクティブでcontentType 指定してない?
してました・・・
ありがとうございました。


604 :601:03/01/19 00:18 ID:???
>>603
ちなみに
<jsp:include page="xxx.jsp">
は インクルードする方、インクルードされる方、双方ともが
Servletに変換→コンパイルされてからクライアントへ出力時に
統合されるから両方にcontentType指定しないと日本語等の
マルチバイト文字が化けるよ。
Strutsとか使っているときは各ファイルで<html:form>等が閉じていないと
実行時にエラーになる。

605 :599:03/01/19 02:19 ID:85qOoESn
>>598

そう。sendRedirectのことです。
それじゃ、だめなの?

606 :598:03/01/19 02:54 ID:9BvojrAo
sendRedirectだとURLの一部としてデータを渡さないといけないんですよね?
できれば(ブラウザのアドレス欄に)表示されてほしくないデータなんで、
それを避ける方法を考えていたのです。しかし、やりかたが回りくどく
なるなら、あきらめます(弱)

607 :598:03/01/19 04:29 ID:???
って、やってみたら、sendRedirectしても、アドレス欄は変りませんね。


608 :nobodyさん:03/01/19 13:22 ID:???
>>606
サーバ間のデータ連携は普通データベースを使ってやる。
それが出来ないならフォームに HIDDEN でデータを埋め込んだページを送り返して
JavaScript で該当サーバに自動 SUBMIT してやる。

609 :nobodyさん:03/01/20 00:39 ID:CSwEfaTD
jspの<% %>ないで普通のjavaのコメントを書くとエラーになるんですけど、
どうしてなんでしょうか。
//とか/**/とかなんですけど。


610 :nobodyさん:03/01/20 02:08 ID:wtFGMR/w
Strutsの存在を昨日知ったよ。
奥が深いなと思っている俺は厨房ですか?



611 :nobodyさん:03/01/20 04:29 ID:2QtXoTIi
>>609
どんなエラー?

612 :609:03/01/20 04:34 ID:CSwEfaTD
はい、タグが閉じられていません。とかいうエラーです。


613 :nobodyさん:03/01/20 07:58 ID:???
>>610
で、おもしろがっていろいろ使ってると
すぐにStrutsの限界にも気づきはじめるよ。

614 :nobodyさん:03/01/20 22:36 ID:HyBmfMqO
LinuxにJ2SEとMySQL入れて、Win機からアクセスしてJSPの勉強とかしてるんですけど
JSPからMySQLにアクセスできないです。

javax.servlet.ServletException: Server configuration denies access to data source

こんなエラーが出てしまいます。
どんな原因が考えられるでしょう?
jdbcドライバがmm.mysql-2.0.12.bin.jarっていうのです。
これが$JAVA_HOME/jre/lib/extというフォルダに入ってます。
でCLASSPATH=.$JAVA_HOME/jre/lib/ext/mm.mysql-2.0.12.bin.jar
としているのですが合っていますか?

とりあえずLinux上でmysqlとコマンド打てば直接データベース見れるみたいなので
JDBCに問題があるのかなと思っているのですが誰かヒントお願いします。

615 :nobodyさん:03/01/21 02:03 ID:KOUyYvuO
>>614

肝心のアプリケーションサーバのことが書いてないな。
Tomcatでも使ってるの?
とりあえず、アプリサーバの設定が問題らしいというメッセージかな。

616 :nobodyさん:03/01/21 02:10 ID:???
>これが$JAVA_HOME/jre/lib/extというフォルダに入ってます。

これがダメダメ

617 :nobodyさん:03/01/21 08:06 ID:O+rCOe5r
>>615
そうです。tomcat使ってます。
>>616
どう駄目なのでしょう?
お願いします〜

618 :nobodyさん:03/01/21 09:10 ID:NlhgIcgx
>617
Tomcat から JDBCドライバが見えないからです。

その jarファイルを WEB-INF/lib ディレクトリに
入れましょう。


619 :bloom:03/01/21 09:30 ID:in3+WArT


http://www.agemasukudasai.com/bloom/

620 :nobodyさん:03/01/21 11:02 ID:???
>>617
またはTomcatのcommon/libディレクトリとか。

621 :ぁぁぁぁ:03/01/21 12:28 ID:WWJc6xEl
昨日苦労してやっとtomcatができるようになったと思ったら
今日起動してみると↓のような文字がぁぁぁ。・゚・(ノД`)
もう手も足も出ないダルマ状態で途方に暮れてます。
誰か助けてくださいお願いしますつД`)

622 :ぁぁぁぁ:03/01/21 12:29 ID:WWJc6xEl
Catalina.start: LifecycleException: Error creating server socket: java.net.Bin
dException: Address already in use: JVM_Bind
LifecycleException: Error creating server socket: java.net.BindException: Addr
ess already in use: JVM_Bind
at org.apache.catalina.connector.warp.WarpConnector.initialize(WarpConne
ctor.java:483)
at org.apache.catalina.core.StandardService.initialize(StandardService.j
ava:454)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
a:552)
at org.apache.catalina.startup.Catalina.start(Catalina.java:775)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

623 :ぁぁぁぁ:03/01/21 12:29 ID:WWJc6xEl
----- Root Cause -----
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at org.apache.catalina.net.DefaultServerSocketFactory.createSocket(Defau
ltServerSocketFactory.java:118)
at org.apache.catalina.connector.warp.WarpConnector.initialize(WarpConne
ctor.java:477)
at org.apache.catalina.core.StandardService.initialize(StandardService.j
ava:454)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.jav
a:552)
at org.apache.catalina.startup.Catalina.start(Catalina.java:775)
at org.apache.catalina.startup.Catalina.execute(Catalina.java:681)
at org.apache.catalina.startup.Catalina.process(Catalina.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:243)

OSはwindows2000で、javaはj2sdk1.4.0_03、tomcatはApache Tomcat 4.0、Apacheはapache_1.3.27-win32-x86-srcです。


624 :ぁぁぁぁ:03/01/21 12:30 ID:WWJc6xEl
本文が長すぎたので分割しました。゚(゚´Д`゚)゚。

625 :ぁぁぁぁ:03/01/21 12:31 ID:WWJc6xEl
OSはwindows2000で、javaはj2sdk1.4.0_03、tomcatはApache Tomcat 4.0、Apacheはapache_1.3.27-win32-x86-srcです。

626 :nobodyさん:03/01/21 13:14 ID:0clAoj0s
サーブレット内でPrintWriterを使ってHTML文書を作っているのですが、
HTMLの中でプログラム内の変数の値を表示させるにはどうすればいいのでしょうか?

627 :nobodyさん:03/01/21 14:13 ID:???
>>622,623

Address alreadyからすると、すでにTCPのポートが使用されているようです。

628 :nobodyさん:03/01/21 14:17 ID:???
>>626

文字列を+を使って、連結させれば良いんじゃないの?

out.println("あいうえお" + string + "かきくけこ");

これじゃだめですか。

629 :nobodyさん:03/01/21 14:25 ID:0clAoj0s
>>628
ご指摘の方法でできました。ありがとうございます。

630 :628:03/01/21 14:47 ID:???
>>629

慣れてきたら、HTMLはJSPして、処理だけServletにするのをお奨めします。

631 :nobodyさん:03/01/21 15:28 ID:QDooJQKR
WAS3.5でimode用サイトの開発をしているのですが、
SSL対応機種で毎回ハンドシェイクしてしまうという問題に悩まされています。
http://www.nttdocomo.co.jp/p_s/imode/ssl/ssl03.html
↑これによると
「Content-Lengthを返さない場合に、従来機ではKeepAliveが無効になる」
らしいので、いままでセットしていなかったContent-Lengthに5000を固定で入れてみたのですが、
駄目でした。
Content-Lengthが原因かどうかもわかりませんが、正しい値を計る方法はないでしょうか??

632 :ぁぁぁぁ:03/01/21 16:14 ID:WWJc6xEl
>>627
お答えありがとうございます。
ですが、server.xmlのポート番号を何度変えてもうまくいきません。・゚・(ノД`)
ポート番号の変え方は他にあるのでしょうか?
んでんで仕方ないので、同じtomcatをアンインストールしてからまたインストール
してみたのですが、やっぱりインストールした直後は無事に起動できたんです。
ですが、再起動してからもう一度起動してみると前と同じエラーが。゜(゜´Д`゜)゜。
ド素人な僕にはもうどうしたらいいかわかりません。
誰かわかる方アドバイスお願いします。

633 :ぁぁぁぁ:03/01/21 16:16 ID:WWJc6xEl
ちなみに無事に起動できた時はhttp://localhost:8080もちゃんと見れてちゃんと動くんです(TдT)

634 :nobodyさん:03/01/21 16:49 ID:???
>>632

既に、立ち上がっているのに立ち上げようとしてないか?

635 :nobodyさん:03/01/21 20:49 ID:???
>>632
Windows使ってるならDOS上げてnetstat -aと打ってみれ。
使用されているポート一覧がでるから、そこで8080が既に存在していたら
他の何かしらのプロセスが8080を使っているということだ。

まぁ考えられることとしては、Tomcatインストール時にWindowsサービスとして
登録してしまってバックグラウンドでTomcatが起動しているんだろう。


636 :635:03/01/21 20:54 ID:???
ちなみにWindowsのサービスって知ってるよな?
「プログラム」−「管理ツール」−「サービス」を開いて、
Apache Tomcatっていうのがいないかどうか見てみな?
Tomcatを全部デフォルト指定でインストールした場合はあるはずだ。
で、そこの「スタートアップの種類」が「自動」になっていると、
Windowsを再起動した時点でバックグラウンドでTomcatが自動的に起動してしまう。
その状態で自分でまたTomcatを起動しようとすると、
目出度くキミのエラーが発生するというわけだ。
もしビンゴだったら、スタートアップを「手動」にするか、
自分でTomcatを起動しないようにするか、どっちかで解決しる。


637 :ぁぁぁぁ:03/01/22 11:16 ID:naL49yJH
ありがとうございましたー!!まさにその通りでしたー!自動になってました(;・∀・)
本当に感謝(TдT)の気持ちでいっぱいです。
本当にありがとうございました。
これからがんばってJSP勉強しようと思います!

638 :nobodyさん:03/01/22 22:23 ID:???
すいません、質問なんですが
フォームなどから受け取った文字列の半角カナを全角カナに
変換するには、どうすればよいのでしょうか?
環境はTomcat/4.0.6, SUN Java 1.4.0_02 です。


639 :nobodyさん:03/01/23 00:01 ID:???
>>638
文字列をcharの配列にしてループさせるとかして
文字を一つ一つ置き換えていくしかない。

640 :nobodyさん:03/01/23 00:16 ID:???
>>638>>639
VBのStrConvのノリを知っていると辛いよね。>日本語関係
こういうのはstaticメソッド作ってからパッケージ化していろんなところで使いまわせるようにしておくが吉。




641 :ぁぁぁぁ:03/01/23 02:26 ID:wnXMlhsv
むぅぅぅ、早速勉強に取りかかりましたが文字化けが多々起こります・・・。・゚・(ノД`)・゚・。
なんだか文字コードがややこしいですね。
参考書に
String name = request.getParameter("name");
name = new String(name.getBytes("8859_1"),"EUC_JP");
と出てきましたが「8859_1」という数字が何を意味するのやら(;・∀・)
APIドキュメントを見ても何がなんだか┐(´∀`)┌
もう早くも投げ出してしまいそう(´ヘ`;)

642 :ぁぁぁぁ:03/01/23 02:27 ID:wnXMlhsv
8859_1は数字じゃなくて文字列ですね・・・(;・∀・)

643 :nobodyさん:03/01/23 03:31 ID:???
>>641
そんな本は破り捨ててしまえ
request.setCharactorEncoding("EUC_JP");
String name = request.getParameter("name");

644 :nobodyさん:03/01/23 08:25 ID:???
WindowsなんだからEUC_JPじゃなくて
String name = new String( request.getParameter("name").getBytes("8859_1"), "JISAutoDetect")
でいいじゃん?


645 :nobodyさん:03/01/23 08:41 ID:???
>>644
Servletコンテナが2.2にしか対応していない場合はそれでいいが、
今時2.2まで(Tomcatだったら3.x)で勉強しているとも思えないので、
もし641がTomcat4.x以降を使っているのだったら

request.setCharactorEncoding("JISAutoDetect");
String name = request.getParameter("name");

がいいんじゃないの?

ちなみに、8859-1は文字コードの一種ね。この文字コードセットには
日本語等のマルチバイト文字は含まれていない。
日本語であることが決まっていれば"JISAutoDetect"がおすすめ。
Shift_JISでもeuc-jpでもJIS(ISO-2022-JP)でも自動認識してくれる。

646 :nobodyさん:03/01/24 00:42 ID:vBd5rKCZ
public class AAA {
private static String getErrorMessage = null;
private final static String MSGID_ERROR ="エラー";
private AAA() {
}
public final static String getSeireki(String pDate )
throws ZXY {
try {
pDate ="20030101";
return pSeireki;
} catch (Exception e) {
}
public static void namaCheck( String pName) throws
throws ZXY {
try {
if(Name == NULL){
//チェック結果
getErrorMessage = MSGID_ERROR;
}
} catch (Exception e) {
}
public final String Message() {
return Message;
}


647 :nobodyさん:03/01/24 00:43 ID:vBd5rKCZ
<%@ page contentType="text/html; charset=shift_jis" %>
<%@ page import="jp.co.AAA*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%
String message = null; /* メッセージ文字列 */
AAA aaa = null; /* 追加情報チェック */
String date = null;
String name = null;
String seireki = null;
try {
date = (String)request.getParameter("date");
name = (String)request.getParameter("name");
  seireki = aaa.getSeireki(date);
aaa.getSeireki(name);  
/* 【メッセージ取得】をコールする */
errorMessage = aaa.Message
if (errorMessage.equals != null){
jspName = "next.jsp";
}
} catch (Exception e) {
%>
callDisplay('<%= jspName %>');


Messageメソッドが取得できなくて困っています。どなたか教えてくださいませんか?


648 :nobodyさん:03/01/24 01:00 ID:6jYskYhY
>>646

まず、クラスAAAだけど、デフォルトコンストラクタがprivateで宣言して
いるから、インスタンスが作れない。
ということは、staticではないメソッドMessage()は実行できない。

JSPではインスタンスを作成していない(newしていない、というより
できない)ので、Message()メソッドが実行できない。

requestの返り値はStringなので、キャストする必要はない。


649 :638:03/01/24 01:22 ID:???
>>639-640
お返事ありがとうございます。

一文字のカナに関しては、↓のように処理できそうなのですが、
「ガ」などの場合、元の半角だと2文字になるため、同じように処理できません。
2文字の場合はどのように処理するのが良いのでしょうか?
public String strHankaku(String strHan){
StringBuffer strResult=new StringBuffer();
for(int i=0;i<strHan.length();i++){
switch(strHan.charAt(i)){
case 'ヲ' : strResult.append("ヲ"); break;
case 'ァ' : strResult.append("ァ"); break;
default : strResult.append(strHan.charAt(i)); break;
}
}
return strResult.toString();
}


こんなもの↓も見つけましたが、使えるのでしょうか?
http://www-6.ibm.com/jp/developerworks/opensource/000728/j_icu4j-index.html

650 :f:03/01/24 01:38 ID:bqIcSHxX
★あなたのお悩み解決致します!!
●浮気素行調査
彼氏、彼女、妻、夫の浮気を調査致します!!
●盗聴器盗撮機発見
あなたの部屋に誰かが仕掛けているかも!!
●行方調査
行方不明になっている家族の消息を調査致します!!
●電話番号から住所割り出し
一般電話、携帯から住所を割り出し致します!!
●ストーカー対策
社会問題ともなっているストーカーを撃退致します!!
その他人生相談からどんなお悩みでも解決いたします!!
 24時間受付  090−8505−3086
URL  http://www.h5.dion.ne.jp/~grobal/
メール  hentaimtt@k9.dion.ne.jp
   グローバル探偵事務局 



651 :nobodyさん:03/01/24 01:51 ID:vBd5rKCZ
>>649

ということは
デフォルトコンストラクタがpublicで宣言して
JSP で new すればよいんですか??


652 :649:03/01/24 02:00 ID:6jYskYhY
>>651

あのソースじゃ、それだけじゃ無理です。

653 :ぁぁぁぁ:03/01/24 11:37 ID:xVaFOUtv
みなさんお答えありがとうございました。
>>644
さんの言うやり方でやったらできました。
ですが、>>645
さんの言うやり方だとなぜかエラーが出てしまいます。
生成されたサーブレットのエラーです:
setCharactorEncoding(java.lang.String) は interface javax.servlet.http.HttpServletRequest で見つかりません。
てな感じのエラーです。むぅぅぅ。
どうやらこの参考書はリナックス環境で書かれてるみたいです(´ヘ`;)
やっぱり自動認識できるのがあるんですね。よかたよかた。

654 :nobodyさん:03/01/24 18:41 ID:56yOuBZ8
暗黙オブジェクトをmethodの引数で渡すときってどういう理由でクラス決めてる?
うちはweblogicなんで session.getClass() で
class weblogic.servlet.internal.session.MemorySession が帰ってくるんだけど
一般的にsessionてHttpSessionクラス使うよね ↓のメソッドはどういう違いがあるんでしょ?
public void setUserData( weblogic.servlet.internal.session.MemorySession session ) {
・・・

public void setUserData( HttpSession ) {
・・・

655 :nobodyさん:03/01/24 23:52 ID:W9H/DsUV
むりですか。。。。
ご教授してください。お願いします

656 :nobodyさん:03/01/24 23:53 ID:6jYskYhY
>>654

HttpSessionはインターフェースです。
HttpSessionのWebLogicでの実装がweblogic.servlet.internal.session.MemorySession
だと思われるので、HttpSessionを使うのが良いですよ。

657 :ぁぁぁぁ:03/01/25 01:50 ID:rgWLNR9L
CharactorではなくCharacterだったんですね・・・(;・∀・)

658 :nobody:03/01/25 03:25 ID:LiaTHzWg
はじめまして。いつも参考にさせてもらっています。
ちょっとお伺いしたいのですが、Tomcat+PostgreSQLという環境を構築することになりました。
ただ、Tomcat(AP)とPostgreSQL(DB)間にはFWがあり、AP-DB間でプールしてあるはずのコネクションを切断してしまうというらしいのです。
H/W要件が変更できないので(しかもアプリ側では無理らしい。)
@FWでコネクションを切断しないように設定する。
ATomcatで再接続するような設定をする。
BOS(RedHat7.3です)でダミーのパケットを送ってコネクションを維持する。
なんて手があるらしいのですが
A、Bについて何かヒントいただけないでしょうか?

ちょっと八方塞状態です。
良かったらアドバイスいただけますでしょうか?

659 :nobodyさん:03/01/25 10:59 ID:SRxd5RzK
>>658

Aに関しては、そんなことするくらいなら、コネクションプールなんて
使用しない方がいいと思う。

Bに関しては、多分FWはセッションごとに管理しているので、そのセッ
ション内でパケットを飛ばす必要があると思う。
ということは、既にアプリサーバがポートをつかんでいるからOSから
パケットを飛ばすのは難しいのでは?

FWの設定を変えるしかないと思いますよ。

660 :nobodyさん:03/01/25 17:49 ID:9WV/0U1f
Vectorの変数にVectorの変数って格納できるのか?

661 :nobodyさん:03/01/25 20:31 ID:???
>>658
コネクションプールの設定は開発側でできるんだな?

1. コネクションを取得する。
2. 接続確認のため簡単な SQL を発行する。
3. 例外が発生したら 1 へ戻る。

これをコネクションプール数 + 1 回繰り返してやれば、最悪プール内の
コネクションがすべて切断されていても再接続してくれるだろう。最後の
一回で取れなければ本物の接続障害だ (切り分けとして毎回 SQL コード
見ても良いが)。現在時刻を取ってくる程度の SQL ならディスク I/O が
発生しないので、プール使わないで毎回接続に行くより遥かに速い。

ちなみに Tomcat でコネクションプール使うときのソフトウェア要件と
web.xml のサンプル教えてくだちい (今度自宅で組もうと思ってるんで)。

>>660
できるよ。変数つうかオブジェクト (インスタンス) だが。

662 :nobodyさん:03/01/25 22:10 ID:8ocJ7akI
>>654
他のサーバで使うのにコードの修正が必要になる
ってんでHttpSessionにするべきかな

663 :nobodyさん:03/01/25 22:36 ID:SRxd5RzK
>>660

できる。

664 :nobodyさん:03/01/26 13:30 ID:nck0ClEc
秀和システムの「はじめてのJSP&サーブレットプログラミング」
Tomcat4+MySQL3対応 アイティーブースト著
で、本の通りにインストール行ったのですが、最後のTomcat4のとこ
ろでlocalhost:8080とやっても、本のようにThe Jakarta Projectの
画面が出てくれません。Tomcat version3.2.4の画面が出てしまうの
ですが?
これで問題ないのですか?


665 :nobodyさん:03/01/26 14:34 ID:???
>>664
問題ありますよ。
Tomcat3.2.4をとめてください。

666 :nobodyさん:03/01/26 19:02 ID:MU9JCDZB
ありがとう>>656

667 :nobodyさん:03/01/26 19:59 ID:INUYZKhE
>>664
ありがとう。Tomcat3.2.4を止めても、Tomcat4を起動すると、
Tomcat3.2.4が動いてしまいます。
この本はダメなので、「10日でおぼえるJSPサーブレット入門教室」
SE SHOEISYAを買ってきました。これだと、アパッチをインストールして、
Tomcatもジャカルタだけをインストールするように書いてあるからです。
Xpを再インストールして、また1からトライしてみることにいたします。

668 :nobodyさん:03/01/26 20:02 ID:hfzgm8Bu
http://jsweb.muvc.net/index.html
  ★こんなサイト見つけました★

669 :nobodyさん:03/01/27 12:51 ID:GS9rQNkk
MVCの実装って、人によって違ったりして
M、V、C、それぞれの定義があいまいな気がするんだけど
もっともよい構成って、どんな感じなんですかね?

(たとえば今悩んでるのは、MをJavaBeansで実装して、JavaBeansクラス
のなかでDBにアクセスしてデータを格納しておきたいんだけど
コネクションプールの参照がServletContextに格納されているから
ServletContextオブジェクトにアクセスする必要がある。
でもJavaBeanでServletContextにアクセスするのになんか違和感が
ある・・・)

670 :nobodyさん:03/01/27 14:03 ID:WT1ShOwi
■迷惑メールサイト一斉訪問お祭り開催■

「ワタナベケイコ」なる人物が、
スレ主の携帯に、アドレスを何度も変えては同じ宣伝を送りつけてくる。
その熱意に感動したスレ主は、この宣伝されているサイトに
漏れ達2ちゃんねらというでっかい土産を用意して訪問することにした。
さぁおまいら、この「ワタナベケイコ」の熱意を評して
ガンガン入ってやろうぜ!

携帯PHS
迷惑メールサイト一斉訪問お祭り開催
http://jbbs.shitaraba.com/news/bbs/read.cgi?BBS=853&KEY=1043335260

         訪問開始は本日23:00

671 :nobodyさん:03/01/27 14:09 ID:???
すみません、以前chatを作るといっていたものです。
私はp503iで、その機種でしか試してないので、
もし503系で余裕があるかたがいらっしゃいましたら、
試していただけないでしょうか?

http://moranj.mimora.com/etcdown/c/
を見てみていただけるとうれしいです。ダウンロードは
http://moranj.mimora.com/etcdown/c/down/からです。こっちは
携帯電話からしかアクセスできないようになっています。



672 :nobodyさん:03/01/28 02:05 ID:neXie+Qg
>>669

コネクションプールってJNDIで取ってくるんじゃないの?

673 :たけそ〜:03/01/28 02:17 ID:2mY/q7Z6
今ColdFusionのプログラミングをくんでいるのですが、データベースの連携を使って全文検索機能が使いたいのですがどのような形になるのでしょうか?

674 :nobodyさん:03/01/28 07:54 ID:???
>>672
べつにコネクションプールはDataSourceとJNDI使わなければならないわけじゃない。

>>669
Strutsとかそんな設計だよね。
俺はStruts使ってもStrutsのコネクションプールフレームワークは使わない。
気持ち悪いから。

675 :nobodyさん:03/01/28 07:55 ID:???
>>673
スレ違い

234 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)