■■ Servlet/JSP(EJB含む) 質問スレ Part2 ■■
236 :
nobodyさん :
03/06/28 15:28 ID:WE3G3OqE MySQLを使ってる人で文字化けに困ってる人いませんか? どうも上手くいかないんですよね。
237 :
nobodyさん :03/06/28 15:33 ID:WE3G3OqE
で、症状なんですが リクエストを request.setCharacterEncoding("JISAutoDetect"); でエンコーディングしているのですが @Aなどの記号が化けてしまいます。
239 :
nobodyさん :03/06/28 15:41 ID:WE3G3OqE
今わかってる事は、 <%@ page contentType="text/html; charset=Windows-31J" %> とすれば @ は上手くいくけど 〜 は上手くいかなくなります。
240 :
nobodyさん :03/06/28 15:49 ID:WE3G3OqE
とりあえず、解決方法が一つわかったので
報告しておきますね。
まず、元ねたを書くと
http://www.moriwaki.net:8080/webapp/henkan2.jsp このページを参考にしました。
で、簡潔にまとめると
windowsでは
これは使ってはいけなくて
request.setCharacterEncoding("JISAutoDetect");
以下のようにデコードする
text3 = new String(text.getBytes("ISO8859_1"), "MS932");
そして、
<%@ page contentType="text/html; charset=Windows-31J" %>
を使う
何かコメントあればよろしく
>>239 あのさあ、環境も書かない、どの段階でどこから入力した文字が化けるのかも書かないで何をわかれっていうの?
せめて
・Servletコンテナ
・JDK
・OS
・JSPの保存形式
・JDBCドライバ
・JDBC接続URLの文字コードオプション
これらの情報を書いて、
どこから入力した文字がどの段階で化けるのかを書け!
1.Servletがブラウザからリクエストを受け取った段階
2.データベースへ格納した段階(他のツールを使ってテーブル内を見たら化けた、とか)
3.データベースから取り出した段階
4.JSPで表示した段階
普通に考えても文字化けする段階はこのぐらいのパターンはあるだろ?
>>240 おまい、ばかか?
自分の環境に合わせて読み替えるぐらいしたらどうだ?
243 :
nobodyさん :03/06/28 16:05 ID:WE3G3OqE
はぁ、申し訳ないね。 MYSQLって書いたけど、あれは無視して。 なんとなく書いてしまっただけで、そっちは全部解決してるから。 まあ、どんな環境でも文字化けは発生するわけで ついでに環境を限定した情報よりは、いろいろな環境における 情報が欲しかったので。 やってたのは、リクエストを正しくユニコードへ直すところ。 解決したのは JDK1.4 TOMCAT4124 の時
>>240 んで、
> windowsでは
> これは使ってはいけなくて
> request.setCharacterEncoding("JISAutoDetect");
なんてどこに書いてあるの?
Tomcat4以上なら
それで充分OKなのだが。
何の情報も提供できないくせに いきがってるバカが住み着いてるのは困ったもんだ
246 :
nobodyさん :03/06/28 16:09 ID:WE3G3OqE
>>244 それでやると化ける。
request.setCharacterEncoding("MS932");
にしても同じ事ね。
あぼーん
248 :
nobodyさん :03/06/28 16:10 ID:WE3G3OqE
といっても、ある文字だけが化けるんだけどね
249 :
244 :03/06/28 16:13 ID:???
250 :
244 :03/06/28 16:18 ID:???
ついでにいうと、おまいらServet APIのソース読んだことあるのかと小一時間・・・ request,setCharacterEncoding(エンコード名) の中でやっていることはまさに new String(string.getBytes("8859_1"), エンコード名) だったりするのだが?
251 :
nobodyさん :03/06/28 16:21 ID:WE3G3OqE
>>249 そこは既に読んでますが、
あまり役に立ちませんね。
ちゃんと読んだものだけ教えてくださいねw
252 :
nobodyさん :03/06/28 16:23 ID:WE3G3OqE
>new String(string.getBytes("8859_1"), エンコード名) >だったりするのだが? 最初はそう思ってたんですが、違うという事がわかりました。 まあ、嘘だと思ったら自分でやってみてください。 あるいは信じなくてもいいですし。
253 :
nobodyさん :03/06/28 16:33 ID:WE3G3OqE
じゃあ、解決したので消えます
あぼーん
255 :
244 :03/06/28 16:45 ID:???
> windowsでは > これは使ってはいけなくて > request.setCharacterEncoding("JISAutoDetect"); なんてどこに書いてあるの? これわかんないんだけど・・・
256 :
244 :03/06/28 16:56 ID:???
>>252 スマソ。俺には理解できん。
org.apache.catalina.util.RequestUtilのparseParametersメソッドで
やっていることは
new String(string.getBytes("8859_1"), エンコード名)
にしか見えんのだが?
解説きぼん
あぼーん
>>252 HttpServletはインターフェイスだから、
メソッドの実装はtomcat等のサーブレットコンテナが行なってるんでしょ
鯖によって処理方法の違いはあるんじゃないの?
259 :
258 :03/06/28 17:03 ID:???
まちがえた ×HttpServlet ○ServletRequest
260 :
244 :03/06/28 17:22 ID:???
>>258 いや、244の環境はTomcat4.1.24って言っているし・・・
俺が見たソースもTomcatの実装だし・・・・
HttpSessionのgetId で取得できるセッションIDは実質英数字だと思うのですが、 APIにはコンテナの実装依存とあり コンテナの情報なども見たのですが明確に書かれているものが 見つかりませんでした。 実際、セッションIDは英数字と考えてよいのでしょうか? そのような記述がどこかにありましたらWEBでも本でも よいので教えてください。コンテナは何でもかまいません。
>>261 分からないときは勝手に決め付けないで、
あらゆる可能性を考えるべきだと思うのだが。
英数字であって欲しい理由でもあるの?
>>262 そういうわけではありません。
はっきりとどこにも書いてなかったので
想像していました。
確かにあらゆる可能性を考えなければならないと思います。
実際、そのように仕様として決められていないのでしょうか?
264 :
262 :03/07/01 22:57 ID:???
実際にはCookieやURLに付加してクライアントを識別するんだから、 それらに使える文字ってことになるんでは。
>>264 なるほど。
アドバイスありがとうございます。
仕様としては決められてはいないのですね。
266 :
nobodyさん :03/07/02 15:25 ID:ma8TNOqR
>>261-262 仕様が決まってなければ実装を見ればいいだろ。
中途半端な知識のまま放置しておく癖をつけるのは(・A・)イクナイ!
で、TomcatのソースによるとsessionIdの生成には
Long.toString (n, Character.MAX_RADIX)
を使用しているので、必然的に使われる文字は
0123456789abcdefghijklmnopqrstuvwxyz
('\u0030' 〜 '\u0039' , '\u0061' 〜 '\u007a')
に限定される。他のコンテナも似たような設計じゃないかと思われ。
自分で確認したい香具師は org.apache.tomcat.util.SessionIdGenerator を参照しろってことだ。
おっと、これはTomcat3.2.4の話ね。4.xとか他のコンテナはまだ見てない。
268 :
追加 :03/07/02 15:52 ID:???
Tomcat4.1.24の場合:org.apache.catalina.session.ManagerBase#generateSessionId() ライセンス貼るのも馬鹿らしいのでソース転載はしないけど、ダイジェスト値を取得した byte列の各文字に対して & 0x000f かけて 0123456789ABCDEF に対応させてた。 3.x系とはちょっと方法も生成文字列も違うぽいな。まあ、英数字ではあるけど。
>266-268 ありがとうございます。 そうですね。ソースを見ればよかったです。
271 :
nobodyさん :03/07/03 18:25 ID:I2i4RQEc
apache+tomcatで、404エラーの場合に、JSPファイルに飛ばして、 そこで、アクセスされたURLを解析したいと思っています。 JSPファイルに飛ばすところまでは、httpd.confの設定で出来たのですが、 JSPファイルでアクセスされたURLを取得することができません。 req.getHeader("USER-AGENT"); req.getHeader("REFERER"); req.getRemoteAddr(); req.getPathInfo(); など、どれをやってもnullになってしまい、取得できません。 どのようにしたら取得できるでしょうか?
272 :
nobodyさん :03/07/03 22:12 ID:wYy/fb79
Stringの配列をStringに戻すスマートなやり方って どんなのがありますか? getParameterMapが値をStringの配列で返すみたいで、 Stringに戻すやり方がわからんのです。 配列をぐるぐる回して組み立てるくらいしか思いつかないのですが、 化けちゃって・・・ 基礎すぎるのか、Web調べてもわかりませんでした。
274 :
271 :03/07/04 10:24 ID:???
>>273 ありがとうございます。
<%= request.getAttribute("javax.servlet.error.request_uri") %>
で表示させてみましたが、nullでした。
apache+tomcatではセットされないのでしょうか?
ちなみに、javax.servlet.error.status_codeもnullでした。
うーん。やり方が悪いんですかねぇ...
275 :
273 :03/07/04 12:04 ID:???
>>274 おかしい、ですね。
TOMCAT単体で値が取れています。
もっとも吐き出し先は、Velocityですが。
276 :
nobodyさん :03/07/04 14:16 ID:nf207VCo
他のServletで生成したコネクションプールのクラスを呼びだすにはどうすればいいですか?
Static領域にあれば、どこからでも呼び出せますよ。
278 :
272 :03/07/04 23:12 ID:???
>>273 ちと余裕がないので、自前でrequestの内容を
Hashtableに格納することで逃げてしまいました。
教えていただいた機能は余裕ができたら見させていただきます。
ありがとうございました。
返事が遅くなってすいません。
JSPのサンプルなんかを見ると、例えば File file=new File(略 のようにイコールの前後に半角スペースが入っておりませんが、 JAVAから入った私には違和感を感じます(特に入力するときのリズムが・・)。 セオリーとして空白を入れてはいけない、というようなことがあるのでしょうか?
>>279 サンプルの作者に聞けば?
勝手な想像だがHTMLに合わせているのかも、とか
<img src="…"/>←こういう場合=の前後にスペース入れないからそれに合わせてとか。
知らんけど
>>279 たまたまあなたが見たサンプルがそうだっただけなのでは?
どれを見ても必ず、じゃないでしょ?
> セオリーとして空白を入れてはいけない、というようなことがあるのでしょうか?
そんなことはない
俺はスペース入れる派
俺はゴム付ける派
285 :
nobodyさん :03/07/10 00:38 ID:yTg7a9KK
jspで、includeしたファイルに日本語を使うと、文字化けが起こります。 <%@ page contentType="text/html; charset=euc-jp" %> を書かなかったかのようなタイプの文字化けです。 もとのファイルにこれが書いてあるので、include先のファイルに これを書くと、2重に書いてるとのエラーが起こりますが、 どうしたらいいのでしょうか。 環境は redhat apache jdk1.3 です。
あぼーん
>>285 includeの方法を書け。ディレクティブでincludeしてるのか、
アクションでincludeしているのか、Strutsのカスタムタグ等でしているのか。
で、すべてのファイルの保存文字コードを確認すれ。
>>287 <%@ include file="test.jsp" %>
と書いています。アクションっていうんでしたっけ。
ファイルの文字コードは全てEUCになってます。
>>288 そいつはディレクティブ。
include元のファイル一カ所のみに <%@ page contentType="text/html; charset=euc-jp" %>が必要。
test.jspには <%@ page contentType="text/html; charset=euc-jp" %>は不要。
化けている文字はJSPに直接書いているのか?
リクエストパラメータから取り出したり、DBから取り出した文字が
化けているのではなく?
直接Stringに代入した文字が化けます。 test.jspで定義したクラスのフィールドに String s = "日本語"; と書いて、out.printで表示させました。
> include元のファイル一カ所のみに <%@ page contentType="text/html; charset=euc-jp" %>が必要。 > test.jspには <%@ page contentType="text/html; charset=euc-jp" %>は不要。 じゃあ、ここは問題ないみたいです。
いまサーブレットの勉強を少しづつ始めているのですが、 最初に練習でつくるアプリケーション(これくらい作れれば初心者脱出だね、という程度の) としてどんなものを目指せばいいんでしょうか? 普通の言語(JAVAとかC++とか)だと例えば電卓作れ、とかブロック崩しつくれ、とか あるんですが。 サーブレットは手段であって目的ではないというのはここ数日の勉強でよくわかった つもりなんですがそれでもなんか指針をお願いします。
>>292 漏れは業務系なんでそっち方面しか思いつかないんだが、
まずはユーザ登録、認証、登録内容変更あたりかな。
で、次がデータの検索、表示、編集、削除とか。
こんな感じでセッションやロールの使い方、画面遷移のパターンなんかを習得する。
もうちょい簡単なところでいくと……ベタだが掲示板とか。
294 :
nobodyさん :03/07/11 16:07 ID:nfu8obQl
>>292 メンバー認証ありの掲示板でいいんじゃない?
メンバーのデータベースをPostgreSQLかMySQLで作っとけ。
もしくはCDショップ。買物かごをつくって、sessionの勉強しなさい。
いや、マジでベタです。
295 :
nobodyさん :03/07/11 16:28 ID:oyWk8qiv
ログインしているユーザ名や人数を管理したいのですが、 どう実装するのが良いのでしょうか? サーバ側にコンテナの起動中は消えないオブジェクトを作るとか 出来るのでしょうか? データベースとか利用した方が簡単なのかな…。 お知恵拝借。
>>295 現在ログイン中の、ってことだよね?
ならサーブレットコンテキストに保存しておくのがいいんでない?
297 :
nobodyさん :03/07/11 19:51 ID:vRLerH2G
>>294 俺も最初は掲示板だったな。
んで、認証して書き込み削除/編集。
やっぱり練習としてはセッションとデータベースを使わないとね。
>>292 がんばってねん。
余力があればツリー式掲示板で登録されたユーザしかトピック(ツリーのルート)
を作れないとかも楽しいかもね。
ばいちゃ!
299 :
初心者でスマソ :03/07/14 00:41 ID:2NcxKTnh
文字化けの質問です。ガイシュツだったら叱ってください。 Apache 2.0.45 と Tomcat 4.1.24 と mysql 4.0.13 をWindowsXP上にインストールしました。 mysql-connector-java-3.0.8-stable と mod_jk2 で連携させました。 hoge.htmlからフォームで日本語文字列を入力してhage.jspに送り、データをinsertしました。 正常にデータが追加されたのを表示した後に、hoge.htmlに<A HREF=...>で戻って 再度入力をしようとしたのですがhoge.htmlが文字化けを起こして読めなくなってしまいます。 hoge.htmlはmetaタグでcontent文字コード指定済み、 hage.jspはpageディレクティヴで同じく指定しました。 InternetExplorerのエンコードを日本語(自動選択)に設定しておいたのですが、 一周してくると西ヨーロッパ言語に切り替わってしまいます。 どこかの設定が悪いのでしょうが、どうやって原因を特定すればいいのか悩んでいます。 漏れはいったい何にはまっているのでしょうか?
>>299 Javaの問題ではなく、Apacheの問題。
Apacheスレ逝ってこい。
>>299 AddDefaultCahrsetで日本語のCharsetを指定しろ。
したか?
じゃあとっととうせろ。
>>300 >>301 レスありがとう。Apacheを調べています。
AddDefaultCharsetをshift_jisに設定したり、offにしたりしましたがダメでした。
DefaultLanguage ja を付け加えて
AddLanguage ja .ja を他言語より前の行に持ってきて
LanguagePriority でjaを先頭に持ってきてみたり
まだダメです。typoでもしたのかなあ?
スレ違いのようなので泣きながら逝ってきます。
逝ったとたんに解決しますた。 メモ帳で名前をつけて保存する際に文字コードがANSIになってたようです。 UTF-8で保存したら無事表示できました。漏れが悪かった…。 スレ汚し失礼しました。改めて逝ってまいります( ´・ω・`)
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
305 :
295 :03/07/15 14:25 ID:???
>>296 ありがとうございます。
ブラウザを落としたりした際に、ServletContext に格納した
情報を削除するにはどうするのでしょうか?
307 :
nobodyさん :03/07/15 17:07 ID:mN7Rw2O3
>>307 httpd.confでjspをAddHandlerは何かしてるくさい
309 :
nobodyさん :03/07/17 00:27 ID:Y3bgPGhT
WebLogic6.1SP4でSSLなサイトを作っているのですが、
テストでHttpUnit1.5.3を使用してみようとサンプル通りに
やってみたところ、httpsでの動作がうまくできませんでした。
(IOExceotionが出てWebResponseが取れない。)
HttpUnitのFAQ[
http://httpunit.sourceforge.net/doc/sslfaq.html]を 見たところJSSEを使っていろいろとやるとうまくいくようなのですが、
その辺疎いものでよくわかりませんでした。
httpsにはhttpUnitによるテストは一般的ではないのでしょうか?
それとも単に設定をすればサクサク使えるものなのでしょうか?
>>307 mod_webappじゃなくてmod_jkで繋いでるんだよな、きっと。
jspしかマッピングしてないとしたら、ちゃんとexamplesのあるディレクトリを見るように
Apacheの方も設定しないといかんよ。
例えばAliasで
Alias /examples/ "Tomcatディレクトリ/webapps/examples/"
みたいな感じに。
いま、JSPを使ってホームページを作っているのですが、 Htmlファイルをダウンロードさせる方法ないでしょうか? htmlから普通にリンクを張ると当然ですがブラウザが読み込んでしまいます。 ブラウザが読み込んでしまう.TXTや.htmlをユーザー側で「対象をファイル に保存」としなくても普通にクリックして、圧縮ファイルや.exeファイル のようにダウンロードさせたいのですが、うまくいきません。 よい方法があったら教えてください
>>311 Content-typeをtext/downloadにしてみるとか。
IEだとMIMEじゃなく、拡張子で見てんじゃなかったっけ。 拡張子が、htm、htmlの時点でアウトな気が。
オールWindows環境だけど、ちと試してみた。 Windows2000 SP4 Apache1.3.27 .htaccessにてAddType text/download htmlを設定 IE5.5 :ダウンロードするものの、関連付け起動でIEが開くw NN4.7 :ダウンロードできた Mozilla1.45:ダウンロードできた Opera7.11 :ダウンロードできた
>>314 スマソ、NN4.75、Mozilla1.4
>314 IEだとダウンロードした後に開くの? ローカルファイルとして開くなら、セキュリティの壁を越えられそうな予感。
.rmとか.mpgなんかで勝手に立ち上がるような感じ。 <script language="VBScript"> Set WshShell = CreateObject("WScript.Shell") WshShell.Run "notepad.exe" </script> で試してみたら「ActiveXコンポーネントオブジェクトを作成できません」と言われ、 <script type="text/javascript"> var shell = new ActiveXObject("WScript.Shell"); shell.Run("notepad.exe"); </script> で試してみたら「オートメーションサーバーはオブジェクトを作成できません」と言われた。 .jsにして読み込むような形にしても同じ。 どうやらTemporary Internet Files以下にあるとダメらしい。 外にコピーすると正常に動く。
318 :
nobodyさん :03/07/18 17:11 ID:kChAvAKQ
すみません質問なのですが、 現在TOMCATを使って勉強を初めてるんですが解らない所があります HTMLの画面で日付を選んでボタンを押すとサーブレットがHTMLファイル (日記です)を表示させると言うのを作りたいんですが、表示されるHTMLに 画像(jpg)が表示されません。 jpgは何処に置けば良いんでしょうか?現在はドキュメントルートの直下に表示させる HTMLファイルと一緒に置いてあります。 基本的な質問で申し訳無いのですがよろしくお願いします。
>>318 どういう構成なのかがわからんと、回答しようがないな。
とりあえず
>>310 を読んでみてくれ。
>>318 sendRedirectしてる? forwardしてる?
それともファイル読み込んでストリーム吐き出し…?
みなさん、ServletやJSPは何を使ってコーディングしてますか? エディタ使うにしても色分けとかどうするものですか?
秀丸でC言語/Javaモード
323 :
nobodyさん :03/07/19 21:29 ID:o3qmFC14
Emacsで各modeにあわせたelisp
324 :
318 :03/07/20 11:47 ID:LK8F8DJ2
>>319 ありがとうございます、Apacheは使ってません
>>320 ありがとうございます、sendRedirectしています。
>>324 それ、Servletを介さずに直接HTML見に行っても画像は表示されないと思う。
<img src="〜">のパスを見直してみたらどうかな。
>>324 sendRedirectならもはやServletは無関係だな。
<img>のsrcはどう書いてる?
327 :
nobodyさん :03/07/20 15:46 ID:KthA/9UD
あぼーん
あぼーん
あぼーん
331 :
nobodyさん :03/07/25 22:02 ID:ysYjFk43
Red Hat 9 に J2SDK 1.4.1.02、Tomcat 4.1.24、Eclipse 2.1 を入れましたが Eclipse から Tomcat が Catalina.start: LifecycleException:キー UserDatabase でユーザデータベースコンポーネントが見つかりません のエラーメッセージが出て動きません。 root で ログインすると正常です。 設定を弄ればいいと思うのですが、具体的にどうすればいいのか教えてください。
332 :
nobodyさん :03/07/26 03:26 ID:lzXWAOIy
2chをServletで処理したら、 鯖問題(人大杉とか)は解決しますか?
あぼーん
>>233 しないだろう。システム構成そのものに問題がある。あと財政的にも。
CGIよりは負担が軽いかもよ JNIとか使えば更にいいかも
サーブレットってひとつのサーブレット呼び出しが終了した時点で、 そのサーブレットクラスはガーベッジコレクトされると考えていいんですか? それとも呼び出し自体は終了しても、大元のスレッド(?)(TOMCATなど?) が生きている間はガーベッジコレクトのタイミングは不明ですか?
337 :
nobodyさん :03/07/27 03:08 ID:Zq9/jufa
「10日で覚えるJSP & Servlet」使っている人います?
>>331 ちみの問題と関係あるかどうかはわからんが、
RedHat9の場合はJDK1.4.2でないと不具合があるらしいよ。
1.4.2ってまだβなんか?しらんけど入れ替えてみる価値は
あるとおもうぞなもし。
340 :
nobodyさん :03/07/29 18:49 ID:DmqWmLcT
>>339 おまえ、java.sun.com見てないだろ
341 :
nobodyさん :03/07/29 21:16 ID:03yM9rCp
>>340 いまどきはjava.comかjava.netもいいな。
342 :
nobodyさん :03/07/30 15:17 ID:OG3NfWBB
質問させていただきます ServletConfig#getInitParameter()メソッドと ServletContext#getInitParameter()メソッドはどんな違いが有るんですか? よろしくお願いします
あぼーん
>342 JavaDocに書いてある記述で理解できないのか?君は?
345 :
nobodyさん :03/07/30 20:44 ID:3CWQHBkI
>>345 ServletConfig#getInitParameter()メソッドはServletConfigクラスのメソッドで
ServletContext#getInitParameter()メソッドはServletContextクラスのメソッドである。
あぼーん
あぼーん
349 :
nobodyさん :03/07/30 22:12 ID:MgvHusb0
ttp://www. 〜〜〜.com/index.htmlをトップページにしています。
このindex.htmlにJavaのテキストカウンターを設置したいのですが、
鯖の仕様上、Java関連のファイルは/Java/以下に格納しないといけません。
indexをJSPにできるなら<jsp:include page="/servlet/counter" flush="true" />とかでいいのですが、
HTMLファイルからJavaのカウンターを呼ぶことはできますでしょうか?
カウンターはサーブレットで書いており、JSPからincludeされた場合は
IPアドレスやら何やらをログに書き出して、最後にカウンターの値をprintするというものです。
/Java/index.jspから呼べば当然動くのですが、なにかいい案はありますでしょうか…?
あぼーん
353 :
nobodyさん :03/07/30 22:33 ID:JdrsXnik
354 :
342 :03/07/30 23:04 ID:KH9yF9Ba
>>346 それ以外に違いは無いって事ですか?
それともあなたも解らない?
356 :
342 :03/07/31 00:28 ID:SHH1KtXs
ちゃんと答えてくださいよ〜
>>356 そんなにわからないならいろいろ試して自分で納得しろ。
そしてもう来るな。
>>349 JavaScript の外部ソースとして呼び出すとか。
あぼーん
あぼーん
361 :
nobodyさん :03/07/31 23:23 ID:Ibo2eO4h
Postgres+JSPがうまくいきません。どなたかご教授をーー! RedHat7.3 + tomcat4.0.6 + jdk1.3.1_08 + postgresql-7.2.3 TOMCAT単体か、jspのみも動作確認済み。Postgresとの連携でつまずく。 $TOMCAT_HOME/lib/にpg72jdbc2.jarをおいて、TOMCATリスタート で、次のようなエラーです。 javax.servlet.ServletException: org.postgresql.Driver
362 :
361 :03/07/31 23:31 ID:Ibo2eO4h
あぼーん
365 :
361 :03/08/01 07:01 ID:fLmmiO+8
自レスです。 javax.servlet.ServletException: org.postgresql.Driver ↑に関してはJDBCドライバーへのパスが間違っていました。 解決いたしますた。m(_ _)m
366 :
nobody :03/08/01 16:29 ID:o8aFm5PP
HTMLタグをprintln文で出したくないので、 サーブレットはデータ処理だけして次のページに遷移する、 ってしたいんですけど、サーブレットでページ遷移を制御する クラスorメソッドってありますか?あれば名前教えてもらいたいんですが。
∧_∧ ( ^^ )< ぬるぽ(^^)
jsp使えよ。
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
370 :
nobodyさん :03/08/10 21:47 ID:O/tDTKXD
age。
371 :
nobodyさん :03/08/13 17:51 ID:NzpiL6o6
質問です。 Beanをsessionで使用すると、ある程度の時間はそのidのBeanはいつでも呼び出せるのでしょうか? 例えば、jsp内で <jsp:useBean id="bean" scope="session" class="○○○"> として使ったら、しばらく2、3ページリンクを飛んだ後で 再び、これを呼び出すことは可能なんでしょうか?
374 :
nobodyさん :03/08/14 13:54 ID:VZYY+Cg+
>>372 ,373
ありがとうございます。やってみます。
375 :
nobodyさん :03/08/14 21:55 ID:2iBpVOKZ
Tomcatについての質問してもよいでしょうか? Tomcat4.1.27でServletのクラスファイル更新の自動リロードが うまくいきません。 server.xmlはContext Pathにreloadable=trueにしていまして サーブレットファイル.classが更新してブラウザの更新ボタンを押すと 一応反応しているらしく、サーブレットtestは利用できません。 というようなエラーメッセージが表示されます。 そこでアプリケーションのパスにあるweb.xmlを中身は変えないで 更新するとそれに反応して新しいサーブレットが動きました。 OSはRedHatLinuxです。
あぼーん
377 :
nobodyさん :03/08/14 22:09 ID:tJIa7z4K
>>377 おー!気づきませんでした。試してみます。
あぼーん
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
はじめまして、servletでPDFのDLを行う プログラミングを作っているのですが、うまく行きません。 具体的には、ダウンロードしたファイルをクライアント側で ブラウザで開いてほしいのですが、DLするか、ブラウザで 開くか聞かれてしまいます。クライアント側の問題かとも 思ったのですが、自分が作ったHP以外では、何も言わず ブラウザでPDFを開きます。 下記のようなプログラムですが、何がいけないのか わかる方がいましたら、教えてください。 public class PDF extends HttpServlet { (中略) response.setContentType("application/pdf"); response.setHeader( "Content-Disposition" , "attachment; filename=new.pdf" ) try{ BufferedReader br; File file = new File("old.pdf"); FileInputStream in = new FileInputStream(file); ServletOutputStream out = response.getOutputStream(); byte buff[] = new byte[4096]; int len; while((len = in.read(buff,0,4096))!=-1){ out.write(buff,0,len); } (以下省略)
クライアントの問題ではないかもしれませんが、 クライアントの挙動に関することなので、 クライアントの名前はちゃんと書きましょう。 わざわざ Content-Disposition を付けるということは、 「クライアントがファイルとして保存することを期待している」 という意志の表明になるのではないでしょうか? あと Content-length も付けた方がいいかも。 はずれでしたらゴメンナサイ。
>381 response.setContentType("application/pdf"); ↓ response.setContentType("application/octet-stream"); とするとどうなのよ? オラのとこ(あなたの望み通りの動作してる)と違うのはそこだけなので。 だめならスマソ。
RequestDispatcher#forward() と RequestDispatcher#include() の違いがよくわからん。 forward()はリダイレクトしてるのかと思ったらそうでもなさそう。 (forward()を使ったサーブレットにアクセスしたが、URLがかわらんかった。) forward()って何のためにあるの? include()だけあればよさそうだけど。
385 :
nobodyさん :03/09/09 14:26 ID:De1jlDxW
>>377 おれもそれではまった。半日つぶれてしまった。くそー。
386 :
nobodyさん :03/09/09 18:19 ID:jiBR3THl
スレ違いかもしれないけど、Tomcatを自動起動させようとして /etc/rc.d/init.d/tomcat に … start) su - nobody -c "/usr/local/tomcat/bin/startup.sh" … みたいに書いたら 『This account is currently not available』 と怒られてます。 ぐぐってみても、どこも普通にnobodyで起動〜とか書いてるけどこれって事前に 設定とかいるんでしょうか。環境はRedhatLinux9+Tomcat4.1.27でつ。
質問だけだとアレなので、
>>384 共通に吐き出すヘッダなんかがある場合は最初のServletで吐き出した後に
条件分岐で include()、それぞれ丸っきり別の処理なら forward() という感じで
使ってます。むしろ include() はあまり使ってないけど。
>>381 亀レスだが、Content-Dispositionはattachmentじゃなくてinlineではどうかな?
>>386 激しくスレ違いだなぁ。
# chsh -s /bin/sh nobody
とすれば、たぶん nobody で起動するようになると思うぞ。
しかし、これがホントにあなたの望んでる答えかどうか
よく調べてから実行すること。
390 :
nobodyさん :03/09/11 19:26 ID:uIYIZDbj
chshって何?
名前と引数を見る限り、CHange SHell だろう
392 :
デフォルトの名無しさん :03/09/12 09:42 ID:9VY2+sFg
質問させてください
Tomcat4.1.27とApache2.0.47をWindowsXPでmod_dll_2.4.06-soモジュールを使った状態で連携させた状態でjspファイルってどこに置けばいいんですか?
Tomcat単体だと稼動するんですが(
http://localhost:8080/index.jsp )、apacheと連携させると(
http://localhost/index.jsp )エラーになってしまいます。新たにserver.xmlを編集する必要があるんでしょうか?
ちなみにサーブレットはTomcatとapacheを連携させた状態でも稼動します。
server.xmlを編集する必要があるなら必要なコードも伏せて教えてください。もし必要な情報がさらにあればメールをいただければ補足してご説明します。
よろしくおねがいします。
394 :
デフォルトの名無しさん :03/09/12 12:19 ID:9VY2+sFg
395 :
デフォルトの名無しさん :03/09/12 12:26 ID:9VY2+sFg
mod_dll_2.4.46-so でないとApache2.0.47に対応してくれないみたいな気が・・・。 mod_dll_2.4.43-soだと連携してくれなかった。
396 :
デフォルトの名無しさん :03/09/12 12:32 ID:9VY2+sFg
mod_dll_2.4.06-so はまちがいmod_dll_2.4.46-so
397 :
nobodyさん :03/09/12 13:48 ID:G1Klx4v+
フレームを使ってページを表示してるんですが、SERVLET側でどのFRAME に フォワードするか制御できますか。HTML の target を指定するやり方は知ってる のですが、それを使わないとして。。
基本的にはtarget指定で工夫してなんとかするもんだけど、具体的には どういった処理をさせたい?
399 :
デフォルトの名無しさん :03/09/13 22:05 ID:WanRumPU
Tomcatとapache2を連携させて、jspを実行したら文字化けします。 httpd.confのAddDefaultCharsetはShift-JISに設定してあります。 httpd.confをどう設定すればいいんでしょうか? 皆さんはどう設定しておられますか?
JSPはTomcatが処理しているのでApacheの設定は関係ない。 とりあえずJSPを記述した文字コードと pageディレクティブで指定している charsetが同一かどうかを確認しる。
401 :
nobodyさん :03/09/23 11:51 ID:L01clD9Q
TOM☆CAT 4.0〜4.1でserver.xmlのGlobalNamingResourcesの中に DataSourceを書いてDB接続してる方、やり方を教えてください。 Contextタグの中のResourceとResourceParamsタグをそのままGlobalNamingResources タグの中に移したらグローバルに使えるようになると期待したのですが、 NameNotFoundException(バインドされていません)になってしまいます。 web.xmlにはresource-refを書いています。 海外のMLを検索するとResourceLinkタグやらRealmタグやらをいろいろ いじってる人が多くて、そんな面倒なの!?と困っています。。。
>>401 できるのなら俺もやりたいが、Tomcatエキスパートガイドみても
載ってなかったので俺はあきらめた。
ページング処理で毎回頭を悩ませます。 実装できない、というほど低レベルな話ではないんですが 毎回エッチラオッチラと実装している。 なんかエレガントなパターン?なりフレームワークなりコーディング方法なり ないスかね?
405 :
nobodyさん :03/09/25 17:48 ID:PCctvmui
>>405 おいらもそういうのほすぃ。いつもその処理でやる気そがれる。
すげー基本部分なんだけどつまんないから。
抽象化のポイントとしちゃ、
・次(前)のデータを取り出すときのオフセットとリミット値、
・ナビとして表示するHTMLのテンプレ、
んで適当なタグライブラリを使ってJSP内から呼んでやる、と。
Struts的に書くと
<bean:write name="pageingBean" property="nextNavi" />
とか。
すでにありそうなんだけどナー。
407 :
nobodyさん :03/09/25 19:10 ID:d6wIetxr
房な質問ですがおながいします。 冷静な分析としてWeb開発の現場ではjspを基幹とする事業者って 多いのでしょうか?プロジェクト単位ではなく事業者単位で区切って。 X-BASIC〜perl〜Delphi〜phpと言た流れで勉強してきましたが WEBプログラマとしてやるなら自身の主軸とするプラットフォームを どれにするべきかという点で迷っています。 ミッションクリティカルなシステムを扱う案件等ではこれからはJSP等が 大変を占めて来るように思うのですがいかがなものでしょうか?
Cookie を無効にしたいです。 コンテナが勝手にset-cookieを設定するのですが、 明示的にCookie を無効にするにはどのようにすればいいのでしょうか?
410 :
nobodyさん :03/09/26 01:48 ID:D+itnYj3
>>406 そんな感じのライブラリ作って使ってるよ。
対象データの総数と現在のページ数を特定の名前で
request.setAttribute()して、
<tag:prevPage action="list.do"/>
<tag:individualPages action="list.do"/>
<tag:nextPage action="list.do"/>
とすると、ページ数の計算して
<a href="list.do?...">前のページへ</a>
| <a href="list.do?...">[1]</a>
| <a href="list.do?...">[2]</a>
| <a href="list.do?...">[3]</a>
| <a href="list.do?...">次のページへ</a>
こんな感じになるやつ。
411 :
406 :03/09/26 11:47 ID:???
>>410 うお。使ってみたい。
それって配布可能?
仮に未完成だとしても文句いいません。
捨てアドさらしたら送ってくれたりします?
412 :
nobodyさん :03/09/27 01:43 ID:hAv2WAkv
ColdFusionとサーブレット(コンテナはJRun)の環境って可能ですか?
413 :
nobodyさん :03/09/27 20:31 ID:0kxOBS46
414 :
nobodyさん :03/09/27 20:32 ID:0kxOBS46
>>414 おとなしくバイナリ版を挿れるのが普通です。
ソースから構築するのはもう少し理解が深まってからにしませい。
>>414 Tyrexはおすすめしない。普通にcommons-dbcp使え。
417 :
405 :03/09/28 07:56 ID:???
>>410 大変参考になりました。有難うございます。
418 :
414 :03/09/28 09:31 ID:???
419 :
414 :03/09/28 09:40 ID:???
>>412 Macromediaに、そういうドキュメントがあったぞ。
ColdFusion + Servletの作り方みたいなの。
そもそも、ColdFusionMXは、コンテナJRunだべ。
>>407 JSPじゃないよ。JSPなんて、J2EEの端っこのテクノロジにすぎない。
J2EE全般で見てね。
J2EEはすでにデファクトスタンダードでしょ。大企業SIなら、特に。
自身の主軸とするプラットフォームは、J2EEで良いと思うけど、
能力開発の目標としては、オブジェクト指向言語というスコープで
見るべきだとは思うけどね。それなら、J2EEも.NETも含まれる。
J2EEは、これでもかというぐらい、いろんな問題が起きるから経験は重要。
Win鯖+ASP以上に不可解なことが起きるからなぁ。
>>405 いつもJSPに書いてることをカスタムタグに落とせばいいんでないの?
でも、デザインに依存するカスタムタグなんて、使いまわしきかないから、
if文でJSPにコード書いてるけど。
基本的にデザインドリブンに考える人だから、何でもカスタムタグ!の人々とは
相容れなかったりして。
>>401 面倒だから、いつもGlobalNamingResourceですが、何か?
何かが足りないか間違ってるんでしょう。
そもそも、tomcatのサイトに書いてあったよね?やりかた。
> そもそも、tomcatのサイトに書いてあったよね?やりかた。 URL貼って!
426 :
401 :03/09/28 12:20 ID:DvKQL78+
プログラム板で無反応だったからマツチポスト。 JSTLでメソッドを呼び出すことは出来ますか? 例えば <c:out values=${myFilterFunc(bean.data)} /> こんなんやりたいのですが。
OJBは使えるのか?
429 :
nobodyさん :03/09/29 01:51 ID:Ef89UtE2
せっかくサーブレットを作れるようになったので、そろそろローカルホストじゃなくて、 外部から見えるところにWEBアプリケーションサーバーたてて、携帯とかからアクセスしてみたいんですけど、 パブリックなIPアドレスを持っていないのでAPサーバーが公開できません。 レンタルサーバーで、サーブレットが実行できて、しかも無料というのはないでしょうか? もしくは、プライベートなIPだけで外部にAPサーバーを公開する手段はないでしょうか?
431 :
nobodyさん :03/09/30 17:33 ID:5mF2uuQi
tomcat4.1でコンソールの実行内容を ログに残すにはどうしたらよいのでしょうか。 他のバージョンでしたらできたのですが、 このバージョンになってからできません。 ぜひともご教授いただきたいです。
>>431 起動スクリプトの start を run にするとフォアグラウンドで動くとか
聞いた気がする
>>431 Tomcat4.1はログ出力にJakarta-Commons-Loggingを使っているんだから
どうにでもできるだろ。
>>377 の書き込みに気づかず、質問するところだった。
小3時間悩んでしまった。
MLと違って、罵声は浴びせられるが簡単な質問も可能というのが
2chのいいところだ。MLは、ねちねち。
thanx.
435 :
238 :03/10/04 01:56 ID:6cwQtZkq
JSPをブラウザで表示させると、内部でservletに変換されて HTMLを返してくれますが、ブラウザに表示させるのではなく、 サーバー側にHTMLファイルとして出力させるにはどうしたらよいのでしょう? サーブレットで、直接、 FileWriter fw = new FileWriter("c:\\test.html"); fw.write("<HTML><HTML>"); などと書けば可能だとは思うのですが、 fw.write("<HTML><HTML>"); こんなのを書くのは避けたいのですが・・・。
436 :
+++ :03/10/04 04:23 ID:???
>>435 URL url = new URL("
http://localhost/mysite/ ");//該当サイト
DataInputStream htmlStream = new DataInputStream(url.openStream());
while((n = htmlStream.read(buffer)) > 0){
// 何かのファイルに書く
}
みたいな。
437 :
435 :03/10/04 11:40 ID:HagXwDC7
438 :
デフォルトの名無しさん :03/10/04 13:58 ID:hRqCukW9
われながらあほみたいな質問で恐縮なのですが XPで環境変数をclasspathをC:\usr\local\Tomcat4.1\common\lib\servlet.jar に設定したんですが、サーブレットのソースコードをコンパイルできません。 何でこういうことがおきるんでしょうか? どうか玄人の皆様ご教授をお願いします。
439 :
J :03/10/04 18:38 ID:dwtX2OTm
サーブレットからの日本語ファイル名のダウンロード方法について質問です。 以下のコードだとブラウザの保存ダイアログのファイル名が「ツ添ツ付.xls」 のように化けるのですが、HTTPヘッダにSJISを返す方法が間違っているので しょうか? res.setContentType("application/octet-stream"); res.setHeader("Content-Disposition", new String("attachment;filename=\"添付.xls\"".getBytes("SJIS"), "8859_1")); 環境: Tomcat4.1.24 + IE6
Tomcat 4.0.6でjspのページを起動しようとしたら、 HTTP Status 503 - サーブレット jsp は現在利用できません という表示が出てきますた。 Tomcatについているjspのサンプルも起動できませんがServletの サンプルの方は動いています。 原因と対処法はいかに?
>>438 ほかのクラスパス消しちゃってるんじゃないの?
「.」とかにも参照してるか?
classpathは、JavaHouseとかにもQAで詳しい説明が
あがってたような気がするが、今も見えるんだろうか。
いっそ、Eclipse入れたほうが簡単だったりしてなー。
>>440 <tomcat_home>/workフォルダ以下に、jspが翻訳されたservletが存在するか?
これが、できてるかできてないかで状況が変わったはず。
いずれにせよ、設定の問題なので、ぐぐって、全体を見直すがよろし。
jasperなんとかのクラスパスがうまく通ってないところから、
workフォルダへの書き込み権限がないとかまで、原因はいろいろあるだろう。
tools.jarの参照元は、jdkのjreね・・・とかも、その辺に関係するんだっけか。
環境変数classpathなんか使うなよ。
444 :
nobodyさん :03/10/06 17:52 ID:b1yS0RNV
Lomboz + JBoss で JSP と EJB の連携を試しています。 HogeBean クラスから Generate EJB Classes して、 そのあと デプロイして、出てきた jar を、jsp の WEB-INF/lib に入れました。 HogeUtil.getHome() にさしかかると、 "env not bound" なるメッセージの例外で止まります。 果たしてどの辺がおかしいことが考えられますでしょうか。
445 :
444 :03/10/07 17:41 ID:???
deploy できてないだけでした。 新たな問題ぶち当たりましたが誰もいないようなので自分で解決します。
446 :
デフォルトの名無しさん :03/10/07 19:31 ID:1sZ/Rl32
みなさんJSPは何の本で勉強なさってますか? これっていう本があったら教えてください(初心者向け)
447 :
nobodyさん :03/10/08 06:27 ID:Glb+lNTi
教えてください。 <% for(i=0;i<=mylist.getSize();i++){ %> で<input type="text" name="address" 〜>と <img name="space" src="space.gif">を生成したいのですが、 それぞれのname属性がaddress1、address2やspace1、space2になるように するにはどのように描けばよろしいでしょうか?
448 :
nobodyさん :03/10/08 09:43 ID:9zW+6Vyr
Eclipse Antにて「Build.xml」で ---------------------------------------------------- <target name="compile" depends="init"> <javac srcdir="${src}" /> </target> ---------------------------------------------------- とすると、コンパイルできるのに、 ---------------------------------------------------- <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${build}" /> </target> とすると、servlet.jarに属するクラスが見つからないとエラーが出る。 ---------------------------------------------------- Webで調べた結果、<javac>タスクにclasspathが設定されていないとの事で <property name="servlet" value="C:\Program Files\Apache Group\Tomcat 4.1\common\lib\servlet.jar" /> <target name="compile" depends="init"> <javac srcdir="${src}" destdir="${build}" classpath="${servlet}" /> </target> ---------------------------------------------------- としたら、エラーはなくなったが、なんだか格好悪いですよね。 いい案をお教えください。
449 :
448 :03/10/08 09:55 ID:9zW+6Vyr
追加 コンパイルできたとおもったが、ディレクトリ構造が変だった。 -+-- Build.xml << これを実行 | +-- src:MyFirstServlet.java | +-- build | +-- src:MyFirstServlet.class build直下に、classファイルが作成される予定だったが、 buildの下にディレクトリ、srcがあって、その中にclassファイルが できてしまった。 なぜ?
450 :
nobodyさん :03/10/08 23:22 ID:EqAgFjMt
お知恵をいただきたく。 とある事情でtomcat4.0.6の環境を再現する必要が出たのですが、 本家jakartaサイトが少し前にメニュー改編されて、こいつのDLが 従来の所からはできなくなっている?ようです。 移転先・またはwin版のDL可能な場所をご存知な方はいらっしゃいますか?
>>451 即レス感謝です!(・∀・)つこれでゴリゴリ、テストが可能に。
453 :
+++ :03/10/10 05:46 ID:???
>>447 誰も答えないのでなんとなく答えれば、
<%
//何らかの処理
for(int i=0; i < al.size(); i++){
%>
<input type="text" name="address<%= Integer.toString(i) %>">
<img name="space" src="space<%= Integer.toString(i) %>.gif">
<%
}
%>
というような。というか、これではあまりに初歩的過ぎて、ちゃんと基礎から
自分でやりなさいという事になるでしょう。
454 :
nobodyさん :03/10/16 02:08 ID:9Fmixkw+
Winでローカル環境でTomcat4.1を使いたいのですが システム環境変数でCLASSPATHに指定しなければならない項目を教えていただけませんか?
むしろJAVA_HOMEだな
457 :
知恵を貸してください(つд`) :03/10/17 07:41 ID:WImn/Rzr
えと、今ペイントアプレットを作ってjspに乗せているんですが、どうにもjspに乗せると画像の保存ができなくなってしまう様で困っています。(アプレット単独動作ではできたモノです) jspでは画像の保存はできない物なのでしょうか? どなたか救いの手をお願いします〜。
Servletでイメージファイルの存在チェックをしたいと思うのですが そのServletの動いているカレントディレクトリを取得するには どのようにしたらよいでしょうか? そのカレントディレクトリからイメージファイルのあるディレクトリを 参照したいのですが。 絶対パスはできれば避けたいと思います。
459 :
457:知恵を貸してください(つд`) :03/10/17 09:44 ID:1hgqGCAt
ごめんなさい ちょっと違ったみたいで「アプレットで画像の保存ができない」でした、、、 jsp以前の問題ですね、、、 なんとかアプレットで動かす方法ないものでしょうか? 救いの手をお願いします〜。
460 :
+++ :03/10/17 20:12 ID:???
>>458 ServletContextクラスのメソッドgetRealPathです。
ServletContext sc = getServletContext();
path = sc.getRealPath("WEB-INF/data.xml"):
みたいな。
>指定された仮想パスに対応する実際のパスを格納した String を返します。
>>457 えーと、Appletがクライアント上でデータをセーブしたいという事なのかな?
もともとそれはセキュリティのために無理で、バージョンが上がってから
http://java.sun.com/products/plugin/1.2/docs/ja/security.html ここに情報がありますね。でもIEのVMには効かないでしょうね。
他に方法があるかは知りません。一般的じゃないのであまりやった人はいないでしょう。
461 :
デフォルトの名無しさん :03/10/17 22:27 ID:M/bL+kzK
Servlet/JSPで掲示板作ってもあんまし意味ないですか?
462 :
うんこ :03/10/19 15:15 ID:???
意味がないわけでもないと思うけど........................... 趣味でやるんなら全然OKでしょ
レンタル鯖で使うことを考えなければいいんじゃないか。 Servlet/JSPの使えるレンタル鯖って少ないし。
464 :
+++ :03/10/20 12:10 ID:???
自宅サーバ立てて外にさらす掲示板ならいいのでは。
465 :
デフォルトの名無しさん :03/10/20 19:41 ID:l+AFOoYj
>>464 どうしてですか?
Servlet/JSPの使えるレンタル鯖って少ないから?
というか掲示板程度ならPHPとかで十分かな〜なんて。
まあ試しで作ってみてるんですが
466 :
+++ :03/10/20 20:18 ID:???
>>465 いや、そうレンタル鯖とか少ないので。
もちろん本格的なサイト構築とか出来るし、社内サーバでも活躍できると思う。
まあそういうのはEJBに行くパターンも多いでしょうが。
私はstrutsで自分ポータルサイトを作ってて、ライフワーク化しつつありますね。
外にはさらしてないんだけど。
俺はServletで初めて作ったものが掲示板だったけど(笑)
サーブレットは一台丸ごと使って目的別専用鯖を作るのに向いてるからな。 Perl で CGI のように切り身で売るのには向いてない。 アレなら ADSL に Dynamic DNS で無料で自鯖立てるっつー手もある (できないプロバイダもあるが)。
469 :
デフォルトの名無しさん :03/10/21 17:51 ID:9MZmJRVK
>>466 >私はstrutsで自分ポータルサイトを作ってて、ライフワーク化しつつありますね。
>外にはさらしてないんだけど。
具体的にどんなですか?言える範囲で結構です。教えていただけませんか?
ライフワークだと( ´,_ゝ`)プッ
471 :
+++ :03/10/21 18:27 ID:???
>>469 自分が見るサイトURLリンク管理、TODO、ニュース一覧、色一覧ツールとか。
複数台のマシンを使ってると、どのマシンからも使えるので便利。
TODOには追加機能がいっぱいたまってるんだけど・・。
>>470 うるへー。
しかし、これを作り始めたのは去年あたりだけど、やはり自分が必要な
ものを作るのはいいものだ。ホントに一生使うような気がする。
472 :
nobodyさん :03/10/21 20:58 ID:Y00rsQnK
>>471 俺CMSという感じだな。
土台にAvalonとかPhoenixを使っているとカコイイかも。
473 :
+++ :03/10/23 11:22 ID:???
>>472 AvalonはApacheにあるというくらいしか知りませんね。面白そうだったら使ってみましょう。
便利なCMSは目指してるんだけど、なんちゅーか考えること多くて大変。
こんにちは。じゃない、こんばんは。急いでいるので、マルチポストです。 サーブレット→JSPに移動するんですがエラーがでます。 java.lang.IllegalStateException: レスポンスをコミットした後でフォワードできません at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:368) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356) at IndexServlet.doPost(IndexServlet.java:107) その部分は、以下です String url = "/index.jsp"; request.setAttribute("errorMessage",errorMessage); RequestDispatcher rd = getServletContext().getRequestDispatcher(url); rd.forward(request, response); これ以前には、responseオブジェクトをいじるようなソースコードは一切書いていません。 当方、サーブレットはまだ、根本まで理解していないので全然分かりません。 コミットしないようにするとかできるんでしょうか?っていうか、responseオブジェクトは一度も使っていないのに、 なにをセットしているんでしょうか?さっぱりわかりません。おねがいします。
475 :
デフォルトの名無しさん :03/10/24 02:52 ID:ehd7Auvi
しまった。下げてしまったので、あげます
476 :
名無しです :03/10/24 12:36 ID:DDXJEASb
JSPとMySQLを使ってWEBアプリを作っていますが、分からないことがあったので 教えてください。 データベースのテーブルの内容をフォームのアイテムリストの項目としたい のですが、JSPのソースをどうすれば良いのでしょうか。 どうか力を貸してください。 後、これの参考になるサイトがあれば教えてください。
477 :
nobodyさん :03/10/24 13:14 ID:PLz4+qY/
>>474 ソースの一部だけでは判断できないですよ。
JSPの中も確認したほうが良いと思います。
>>476 JSPから直接JDBCを使用するのでしょうか?
それなら、ResultSet#getString("XXXX")で表示すればいいのでは
ないでしょうか。
478 :
nobodyさん :03/10/26 15:29 ID:8C6y7qFc
SessionBeanのメソッドで別のSessionBeanを生成できるんでしょうか?
>>478 SessionBeanを生成できるのはEJBコンテナだけ。
××先生の漫画が読めるのは○○○だけ。 みたいだなw
今、悩んでるのですが、サーブレットで、セッションを設定して、 JSPがそのセッションを取得する時、JavaBeenをしようしないと いけないですか?
意味がわかんねえ。 基礎から勉強してこい。
>>481 requestオブジェクトにsetAttributeして渡せば?
484 :
481 :03/10/27 23:44 ID:???
>>483 レスTHX
でも、それって、JSP→JSPや、サーブレット→サーブレットだけじゃないのですか?
サーブレット→JSPも、それ出来るんですか?
486 :
481 :03/10/28 22:45 ID:???
Sessionオブジェクトと、Requestオブジェクトの違いって、なんですか?
API
489 :
481 :03/10/29 01:55 ID:???
>>488 thxです。っていうか、初心者的質問してすいません・・・
490 :
nobodyさん :03/10/31 22:19 ID:mtbGF6Sw
TOM☆CAT 4.1.24を使っています。 自作クラスライブラリを作って$CATALINA_HOME/shared/libに置きました。 その中からリフレクションAPIを使って、WEB-INF/classesの下に置いてある クラスをロードしたいのですが、Sharedクラスローダとアプリケーションクラスローダの 守備範囲が違うためか、Class.forName()を使っても、ClassLoader.getSystemClassLoader().loadClass()を使っても、 ClassNotFoundExceptionが飛んでしまいます。 こういう場合のスマートな解決策ってどんな感じでしょうか?
491 :
+++ :03/10/31 23:45 ID:???
>>490 conf/catalina.policyっていうのはいじってみました?
詳しくはないのでアレだけど。
492 :
+++ :03/11/01 00:24 ID:???
>>490 何をしたいのかわからないけど、
WEB-INF/{classes,lib}内からロードしておいて
自作クラスライブラリとやらにロードしたクラスの
インスタンスなりClassクラスなりを渡してやるとかではダメですか?
ダメなら、何をしたいのかとダメな理由を具体的に書いてみるとか。
494 :
490 :03/11/01 09:27 ID:PnQ6V1Fi
レス有賀トン。
>>493 今まさに、その仰った通りの方法でしのいでますが…
やりたいことはJakarta DB SQL Commonsの簡略化版で、DB問合せ結果をBean
にマップして返すという処理です。処理自体は共通なのでSharedに置きたい、
がBeanクラスはWEB-INFの下に置きたい。かつ、アプリの中でBeanクラスを
渡すのではなくて、struts-configみたいなXMLファイルにクラスの名前を書いて
おいて、それを共通処理に読ませたい(ので、493で言われたクラスを渡す方法は使いたくない)。
>>492 Tomcatのクラスローダがああなってる理由は一応わかるので、セキュリティを
いじるのはあんまりやりたくないんでつ
495 :
nobodyさん :03/11/02 14:30 ID:XjVR5g7/
>>494 じゃぁ、クラスローダを渡してやるのは?
public class SharedClass {
private ClassLoader classLoader;
private Map beanNameMap;
public SharedClass(ClassLoader cl, Map map) {
classLoader = cl;
beanNameMap = map;
}
public Object newInstance(String name) {
String className = (String) beanNameMap.get(name);
return Class.forName(className, true, classLoader).newInstance();
}
}
public class MyServlet extends HttpServlet {
private SharedClass sharedClass;
public void init() throws ServletException {
Map map = /* クラス名を書いておいたファイルから読み込む */
sharedClass = new SharedClass(this.getClass().getClassLoader(), map);
}
void useSharedClass() {
Object bean = sharedClass.newInstance("hogebean");
・・・
}
}
でも、これで解決するような話なら
あまり悩むようなことではなさそうだし
私、何か勘違いしてるかな?
496 :
nobodyさん :03/11/04 05:31 ID:XuV+B38+
DataSourceを利用したコネクションプールで、エラーなど 起こして溜まってしまった、利用されていないコネクションを 強制的に返却なり捨てるなり、DataSourceそのものを初期化する 方法ってありませんか?
>>496 DataSourceの実装依存だから、そのコンテナなりライブラリなりのドキュメント嫁
498 :
nobodyさん :03/11/10 17:37 ID:beKsstU3
すいません、質問させて下さい。
>307 名前:nobodyさん 投稿日:2003/07/15(火) 17:07 ID:mN7Rw2O3
>apache 2.0.46にtomcat4.1.24を連携させて動かそうとしています。
>
http://localhost/examples/でサンプルのディレクトリ一覧を表示するとこまでは行けたのですが 、
>jsp、servletsのディレクトリの内のhtmlが404エラーが出て読み込みません。
>サンプルプログラムに直接アクセスしたりtomcat単体で動かすとちゃんと実行できますし、
>apacheと連携させないでtomcat単体で動かすとhtmlも表示できます。
>どうやったらapacheとの連携でhtmlファイルを読み込むことができますか?
これと同じ事が起こったんですけど、
コネクタはmod_jk2.soを使っていて310の書き込みを見てhttpd.confに、
Alias /examples "/usr/local/jakarta-tomcat/webapps/examples"
を書き加えましたが改善されません。
もちろんパスも間違えていません。
朝から検索しまくってるのですが全然見つかりません。
良い解決法はないでしょうか?
499 :
nobodyさん :03/11/12 07:29 ID:BQSDQCno
HTMLのアンカータグでGET送信する際に、日本語をパラメータで渡す場合に <A href="sample.java?param1=<%= java.net.URLEncoder.encode("パラメータ1") %>">ここをクリック</A> のような感じで、エンコードをしてからサーブレット(sample.java)に渡しているのですが、 サーブレット側でgetPrameterで受けとるときに、何も値が入ってません。 1バイト文字なら問題ないのですが。。。
>499 そのJSPから生成されたHTMLを調べないのはなぜだ?
めんどうくさいから
>>499 JDK 1.4ならURLEncoder.encode(String s, String enc) を使ってみたらどうだ?
503 :
nobodyさん :03/11/14 00:15 ID:/cKQoZtV
jspでphpのimagecopyresampled関数のように、画像伸縮+リサンプルするのに簡単な方法はありませんか?
>>503 無いと思う。
自分でImageIOとGraphics2Dを使った、同等機能を実現するBean作るのが良いと思うよう。
505 :
nobodyさん :03/11/16 17:28 ID:xjmY728Y
JSPでのcharsetの質問です。頭に書く <%@ page language="java" contentType="text/html; charset=Windows-31J" %> なんですが、auのHDML-HTMLコンバーターがWindows-31Jを認識しません。 <%@ page language="java" contentType="text/html; charset=Shift_JIS" %> と書くと認識しますが、JDK1.4.1からShift_JISとWindows-31Jはコードのマッピングが 違うため、いくつか文字化けする文字があります。 みなさんどうしてますか? 気にしてない?
506 :
nobodyさん :03/11/18 03:20 ID:YWvRXQpi
サーブレットを勉強しようと思い、
http://takeoba.cool.ne.jp/moreJava/servletHello.htm を試したところ、ステータスが404表示されたので
「あー、HelloWorldサーブレットの場所が分からないのね」って思い
web.xmlに次の文を追加したところ
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
今度はエラーステータス500が表示されてしまいました。
他のサイトのサンプルをみてもとても簡単にサーブレットを起動
させているので自分の環境が悪いのかなぁって感じています。
同じようなことを経験された方がいましたら是非対応テクを教えてください。
また上記サンプルを試して(デプロイも含めて)無問題だという方ございましたら
お手数ですが挙手おねがいします。
もう一度自分の環境を洗ってみます。
ちなみにTomcat4.1.27、j2sdk1.4.2です。よろしくお願いします。
>>506 500は実行時エラーだ。
Tomcatのコンソールに何かエラーメッセージは出ていないのか?
>>506 教材が悪かったな。
そのページに書いてあることは間違いだらけだ。
だいたいそのままやってもコンパイルできないだろ…。
とりあえずtomcatのログを見てがんばってみるか、
それでもダメだと思ったら教材を替えれ。
509 :
506です その1 :03/11/18 15:06 ID:jQNQBxBO
レスありがとう! サンプルがダメダメってことですか?だとしたらとてもショックです。 夕方から始めてその時間まで粘ってたんです。 だけど他のサイトとか見ても大体同じようなことが記述されているんですよね。 ちなみにコンパイルは通しました(開発環境はエクリプスです)。 508さんはおそらくservlet.jar以外のクラスパスのことをおっしゃてるんですよね。 またTomcatに表示されるエラーですが、長いので抜粋しますと、 type: Exception repor descriptiont: The server encountered an internal error () that prevented it from fulfilling this request. exception: java.lang.ClassCastException : : てな感じです。何か深いとこで例外が発生してます?
510 :
506です その2 :03/11/18 15:07 ID:jQNQBxBO
web.xmlに<servlet>タグを追加したけど、Tomcat Webアプリケーションマネージャに HelloWorldが表示されないのは、何か情報が足りないんですかね? そこでお伺いしたいのですが、例えばサーブレットを作成してできたclassファイルを CATALINA_HOME%\webapps\examples\web-inf\classes\の直下にデプロイする ということは技術的に問題はないですよね? またweb.xmlに<servlet>、<servlet-mapping>を記述する必要はあるのでしょうか? つかり本当は記述すべきだが、特に必要なしってこともあるのかということです。 (サイトによってはそこまで言及していないところもあったですから・・・) 私も再度チャレンジしてみます。 すいませんがまた気が向いたら何か情報を書き込んでください。
>>505 気にしてなかったので気にすることにします…
agentでレスポンス変えたらどうっすか。
>>511 DoCoMoの一部の端末も実はWindows-31Jわからないのです・・
agent多すぎてなんだかな。
レスポンスを変えると、JSPソース埋め込みの、「@」みたいな
いわゆる98文字がおかしなことに。
513 :
nobodyさん :03/11/20 01:17 ID:jMJIcLvQ
すいません。 mod_webapp.soかmod_jk.soのLinux版バイナリを手に入れたいのですが、どうすればいいでしょうか? jakarta.apache.orgから探せません・・・_| ̄|○
515 :
nobodyさん :03/11/20 23:41 ID:jMJIcLvQ
>>514 サンクス。
もっともなのでビルドしますた。
configureの引き数間違えたりして手間取りましたが。
516 :
nobodyさん :03/11/21 16:50 ID:YzFZUN0E
>>506 もう一回まっさらな状態からやり直せばできるんじゃん。
きっと無駄なことをやりすぎでは (´Д`;)
>>508 漏れはコンパイルできたけど・・・。漏れの環境がおかしいのか (´Д`;)
517 :
nobodyさん :03/11/22 01:14 ID:gGrGrQPO
>>505 Windows-31Jではなくて、MS932にすると、認識されます。
519 :
nobodyさん :03/11/27 02:08 ID:aFey5bat
JSP/Servlet を最近始めたものですが みなさんXSS対策とかどうしてますか? HTMLタグを除去するにも 自分で1から書かないと逝けないのですか?(;´Д`)
>>519 世の中にはそういう機能を持ったカスタムタグなんぞが存在する
>>519 一度bean書いちゃえば、以降はそれ使えばいいので。
DB用のエスケープとか、文字数制限もやりたいとかやると
結局自分で書いたほうが早い。
523 :
519 :03/11/28 22:03 ID:???
レスサンクスです。 HTML関連だけならcommonsだけでも十分ぽです 早速使ってみます(=゚ω゚)ノ
JSP/Servletとで実装されている、DBをウェブから 操作できるツールってありませんか? アプリの裏管理のとして組み込みたいのですが。
自分で組んだ方が早そうだ。
526 :
nobodyさん :03/12/02 16:56 ID:bqzh3QZl
JSP/ServletとSQLを使って生産管理(PP)システム 組みたいんでつけど、サンプルソース付きの本とか知らないでつか? サイトでもいいんでつけど。
通常 localhost/foo/ とか localhost/bar/ とかいうようにデプロイするけど、サブフォルダ化して、 localhost/hoge/foo/ , localhost/hoge/bar/ とかいうようにデプロイってできるの?
>527 今日Tomcatでやったらできた。 <Context path="/hoge/foo" docBase="どこか/foo" .... />
>>526 最終目標はわかった。
で、どの部分のサンプルが欲しいんだ?
>528 さんくす。デプロイ自体は問題なくできますね。 けどwarの展開がなんかうまくいかん。
531 :
526 :03/12/05 10:50 ID:nKIx4TdK
>529 レスありがトン。 所要量展開(MRP)のサンプルが、狂おしい程欲しい。
532 :
526 :03/12/05 12:45 ID:???
533 :
526 :03/12/06 11:46 ID:???
JSP初心者です。 JSPカスタムタグに <rtexprvalue>要素がありますが、 これはどう発音するのですか? るてくすぷるばりゅー?
>>534 発音は知らんが、おそらくRuntime Express(ion) Valueの略だろうから
そんな感じに呼んどけ。
今さっき、直列化(Serializable)の技を知った。(w これはCGIの機能と同じと思ってさしつかえないのでしょうか? (CGIはファイルIOでデータのやり取りをする程度の知識しかしらない。) SAXを用いるより軽いのでしょうか? 質問していて恐縮ですが、もう寝させていただきます。返事は後日に。
>>537 はい。ここで問題。
1)直列化とは何をどうするものなのでしょう?
2)CGIとは何でしょう? ファイルI/OしないCGIはあるのでしょうか?
3)SAXとは何でしょう? csvとかバイナリとか読めるのでしょうか?
javaの超初心者です。 jsp内にsession.setAttribute("hoge", "hoge");という記述をし<jsp:forward page="hoge.jsp" />で ページを移動したあと、にsession.getAttribute("hoge");で取得した値がnullを返します。 最初のページと次のページでsession.getId()の値が違うため別セッションになっているような気がします。 ちなみにこの現象はIEでのみ発生し, operaやnetscape等では発生しません。 当方の知識ではさっぱりこの現象が理解できません。どなたかお知恵を貸していただけないでしょうか? 環境はRedHat7.2, apache1.3.20-16, tomcat-4.1.29, mod_webapp(4.1.12)になります。 よろしくお願いいたします。
普通はあり得ないよな。IEのバージョンは? Apache通さないでTomcatに直接アクセスした場合も発生する?
>540さん レスありがとうございます。 apacheを通さないでも同じ現象になりました。 クライアントの環境ですが、Win2K+IE5.5 WinXP+IE6.0で現象を確認しております。 NT4+IE6.0では発生しませんでした。 それとWin2K+tomcat-4.1.29の組合せでは現象が出ませんでした。
>539です。 別の機械で同じ環境を用意すると動作しました。 大変お騒がせいたしました。申し訳ありません。
>>538 わからないので質問したのに...
自分で調べて勉強しろということですね。
了解しました。お騒がせしました。
544 :
538 :03/12/13 21:05 ID:???
>>543 いや、自分で調べろって言いたい前に、質問が質問になってないのよ。
例えばここが野球スレだったとしてさ、
今さっき、ヒットエンドランの技を知った。(w
これは六甲おろしと同じと思ってさしつかえないのでしょうか?
(六甲おろしはアルプススタンドでシャウトをする程度の知識しかしらない。)
オリックスでバントするより強いのでしょうか?
質問していて恐縮ですが、もう寝させていただきます。返事は後日に。
というような感じで、俺にどう答えろと?
無視して欲しかったんなら謝る。
545 :
nobodyさん :03/12/15 22:32 ID:xeYZT3ZQ
質問です。 sessionに割り当てられる識別子は、 「識別子は実装依存であり、Servletコンテナによって割り当てられます。 」 と、APIドキュメントに記述されてますが、 tomcatではこの識別子のサイズを変更する事は可能でしょうか? tomcat4,1,29で割り当てられる識別子が32バイトと長い為、 少し短くしたいと思うのですが・・・。
547 :
545 :03/12/17 00:53 ID:???
>>546 一応報告でつ。
時間かかりましたけど、ソースを探してるうちにそれらしき箇所を発見しました。
/src/share/org/apache/catalina/session/ManagerBase.java 内で、
SESSION_ID_BYTES という変数で、jsessionidの文字列の長さを指定してますた。
明日変更して実験してみまつ。
Tomcatの動作に問題無ければいいんだけど・・・。
548 :
545 :03/12/17 14:30 ID:???
結果報告でつ。 sessionidは、 1) SESSION_ID_BYTES で指定されたサイズのバイト配列に乱数をセット。 2) この乱数のMD5値を取得後、MD5値を1バイト毎にchar型の英数字2文字に変換 のように作成されていますた。 MD5が128ビットである為、SESSION_ID_BYTES の値を変えても無駄ですた。 結局 2) でMD5から英数字に変えるとこをchar型の英数字1文字にさせる事で sessionidを16文字にできますた。 ざっとテストしたところ、問題なさそうです。 ・補足 なぜsessionidを短くしたかったかというと、携帯向けサイトでsession管理をさせたい為、 デフォルトの32文字では長すぎて、表示されるページのサイズが大きくなる為です。
TOMCATなんか使ってるってことは商用じゃないんだよねえ。 だったらResin使えば?SessionIDもっと短いよ。
>>550 商用でTomcat使っていますが、何か?
>>551 Tomcat落ちない?
Resinのほうが速いし落ちなくていいと思うよ。商用でも500ドルだし。
私用ならただだし。
>>552 7万ページビュー/日のサイトで使ってるけど落ちないよ。
Resinは一見速く見えるけど、マルチスレッドの並行処理をさせると
とたんに激遅になる。Tomcatのほうがこの辺はちゃんと作ってある印象。
説得力で553の勝ち
>>553 まえResinでためしに1000万PV/dayぐらいを一週間かけたこと
あるけど問題なかったよ。スピードなら秒1000PVぐらいは安定で出た。
激遅になるのはなんか設定が違うんだと思うけど。
TOMCATは前はちょと不安定すぎだったので懲りたんだけど、いまは
ちゃんと動くんですね。
555ですがちなみに商用でつ。 ResinはDBコネクションプールとか便利だから使ってたんだけど いまいちコネクションプールの挙動おかしくて、安定したのは この半年って感じですが。ver.3系列はまだ怖くて入れてないです。 商用なら素直にWebSphere使えとかいわないでね。高いにょ。
557 :
nobodyさん :03/12/20 02:53 ID:3Ajk+rAT
30万PV/dayをtomcat 4.0.xでやってたときは、混んでくると、落ちまくる。 tomcat 4.1.xだと、遅いながらも、落ちないでがんばってた。 混雑時、tomcat 4.1.xだとjspのコンパイルに失敗しやすい。 メモリは2G、適切にJVMの設定をしてるはずなのだが・・・。
>>557 JVMのメモリサイズってどうしてます?
うちも2GB積んでるんだけど、あまり大きくとるとフルGC実行時に反応しなくなるので
512MBにしてるんですが。残りの1GB以上が無駄になってるけど(;´Д`)
>>558 557じゃないけど・・・
うちは、メモリ2Gでなんとなく↓な設定にしてますが、みなさんどう?
-server
-Xms512M
-Xmx1024M
JDKは1.4.1です。
なお一日1回サーブレットコンテナにリブートかけてます。
(GCできないリーク対策。っていうか保険)
残りの1Gはキャッシュだと思ってあんまり深く考えない
ことにしてます。でもキャッシュといってもコンテンツ全部で
100Mもないんですが・・・
【ゴールデンレス】 このレスを見た人はコピペでもいいので 10分以内に3つのスレへ貼り付けてください。 そうすれば14日後好きな人から告白されるわ宝くじは当たるわ 出世しまくるわ体の悪い所全部治るわでえらい事です
561 :
nobodyさん :03/12/22 01:29 ID:lBVSbJ12
適当なスレが無いんで、ここで質問するんだけど、 今日の夕方ころからjakarta.apache.orgとかアパッチのサイト にアクセス出来ないんだ。俺だけ?それとも何かあったの?
562 :
nobodyさん :03/12/22 01:37 ID:lBVSbJ12
>>559 確かに、Xmxは実メモリの半分〜75%くらい、Xmsはその半分、という話に
なってるけど、Xmsがあまり大きいとGCが大変らしいので、せいぜい256で
止めてます。
逆に、システムの速度計測なんかする間だけXmsとXmxを大きく取って
計測中だけレスポンス・パフォーマンスが良いように見せかける手もあるとか。
それと、スレッドスタックサイズがデフォルトでは大きすぎるって話なので
Xssを196k〜256kにしてる。
デフォルトでは512kも取ってるんだけど、重いスレッドが多くない限りは
それほど要らないとかなんとか。
563 :
a :03/12/22 02:01 ID:???
tomcatは同時プロセスが200を超える場合は patch当てるようにって 作者のページに書いてあるの知ってる?
564 :
nobodyさん :03/12/22 21:58 ID:xP8Tyv35
JSPでページの自動更新って どうやるんですか? プロセスの終了とともに更新したいんですけど 教えてください。
> プロセスの終了とともに更新 無理。っていうか意味わからん。
>>565 ああ、レスありがとうございますたすかります。
>プロセス
Servletからアプリを実行して、その後JSPにフォワードするんですが、
そのアプリが終了したらJSPのページを更新したいんです。
どうにかなりませんか?よろしくおねがいします
>>566 言っていることがよくわからない。
ServletやJSPで「プロセスの終了」「アプリの終了」とは
Servletコンテナの停止(アプリケーションサーバの停止)だ。
アプリケーションサーバが停まったらJSPなんか動かないだろ?
568 :
:03/12/22 22:28 ID:???
。o O (悩むようなことかな・・・)
>>567 そうですか、もしかして見当違いのこと言ってますかね?漏れ
だとしたらほんと申し訳ないです。
じゃあ、っていうか、JSPを5秒ごととかに自動更新とかもできないですかね?
571 :
nobodyさん :03/12/24 14:18 ID:q/VRYBlL
負荷分散時のセッション保持方法教えてください。
572 :
+++ :03/12/24 18:59 ID:???
Tomcat5.0ではセッションレプリケーションができるってね。 こないだ出てたWEB-DBpressに書いてあったのでちょっと驚いた。 やり方も書いてたので571さんは参考にすればいいかもね。 Tomcat4.xでしたいって場合は知らない。
Resinでもネットワークで、負荷分散サーバー同士での セッション保持できる。
574 :
+++ :03/12/25 11:53 ID:???
>>573 そうなの?てか、商業的Webコンテナはそういう機能たいてい持ってるからね。
それから、読めばTomcat4でも追加できるって書いてた。
これ無いと辛いんじゃないのかな、実運用じゃ。
>>574 いまはサーバーの性能あがってるし、100万PV/day
ぐらいのWebサーバーなら普通に1サーバーでさばけるよ。
もちろん表示するものにもよるんだけど。
むしろDBのほうがボトルネックかな。
576 :
sage :03/12/28 01:05 ID:k5T4K5TZ
>>571 一般的には、同じマシンを参照する様にバランサを設定するけど、
場合によっては、セッション保持用のサーバを設置します。
または、DBへセッション情報を保存。
DBへの保存はあまり進めない。
>>572 フロントにロードバランサが無いと実験出来ないのかね?
ApacheのPluginとかでうまくいかんの?
578 :
+++ :04/01/05 13:24 ID:???
>>575 負荷分散というより、Tomcat(orマシン)が落ちるのが不安なので。
某ムック本にもセッションレプリケーションが無いために苦労した、という
記述があったし。
>>578 レプリケーションしたいなら、resin使ったほうが無難な気がする。
商用なら500ドルはたいした値段じゃないし。
580 :
nobodyさん :04/01/10 12:46 ID:qUk4zghm
すいません。初心者です。 TOMCATのインストール(?)についてわからないので質問したいです。 TOMCATをインストールして localhost:8080にアクセスすると ダイアログボックスにユーザー名とパスワードの入力を促す画面が 出てきて、そこから先に進まなくなってしまいます。 ユーザー名などを入力しても Unauthorized という画面が表示されておしまいです。 どなたか対処方法を教えてください。 よろしくお願いします。 [OSのVER]:WINDOWS 2000 [tomcatのVER]:tomcat4.1.24 よろしくお願いいたします。
>>580 tomcatの出しているダイアログじゃ無い気がするな。
ダイアログを舐めるように見て誰が出しているのか確認する。
FireWallやプロキシが出しているなら通過するように設定する。
582 :
538 :04/01/10 13:20 ID:???
>>580 そのインストールしてあるパソコン上でアドミニ権限でログインして実行しても
同じメッセージ出る?
他のパソコンからアクセスしているのなら、表示しようとしているファイルに対するアクセス
権限がないだけだと思うけど。
もしOSじゃなくてtomcat自身が出しているダイアログボックスっぽかったら、ユーザadmin
パスワードなしでやってみ。
583 :
580 :04/01/10 13:44 ID:qUk4zghm
>>581 ,582
回答ありがとうございます。
他のサイトで同じ症状が発生してる人がいて
ORACLEによるものじゃないか?といわれていました。
私もORACLEをインストールしてあるので、その可能性があるかもしれません。
そのメッセージを出してるものってどうやったら調べられるのでしょうか?
(初心者ですいません)
ちなみにログインはアドミニ権限で、同じパソコンでアクセスしようとしてます。
よろしくお願いいたします。
>>583 XPなら netstat -o でプロセスIDが分かるけど、2000は駄目みたいだね。
tomcatを起動する前に netstat -a で 8080をlistenされてないか調べるくらいかな。
Oracleを止めるわけには行かないだろうし、sever.xmlを編集して
tomcatのポートを変えるのがいいんじゃないかな?
585 :
580 :04/01/10 14:52 ID:???
>>584 ありがとうございます。
tomcatをとめてからnetstat -a したら やっぱり 8080 が listen
になってたので、ORACLEがつかってたみたいです。
それでtomcatのポートを8081にしたら、
できました。ありがとうございました。
サーバーサイドでBeansを使ってユーザ情報を管理するとき、 その情報はいつまで保持されるんでしょうか? セッションが切れても保持できるんでしょうか? また、データをArrayListにしているBeansプログラムを 幾つかのサーブレットやBeansから見たいときは どうすればよいでしょうか? 今そのBeansをセッションに追加して、見ているのですが、 ほかによい方法があったら教えてください。 お願いします。
>>586 マルチすんな。書いてる忌みが分からん。
メモリ上の cookie(ブラウザを閉じるまで) と物理記憶に保存される cookie
(ブラウザを閉じても有効)の2種類あるのは分かるか?
期限を 1 年間くらいに設定してみれば?
588 :
406 :04/01/11 01:55 ID:???
>>586 セッションが切れたんなら、そこに保存された情報も当然消えてなくなる運命だべ。
後で何らかの方法で利用したい情報なら
ファイルやDBに保存しとくしかないわけだが、これって他人にきかなければ
判らないことなのか?w
後半の質問も含めて、
「人生どう生きたらいいですか?」
って質問してるのと同じ気がするけど、どうなのよ。
複数のスレッドから同じBeanを参照したいなら、単にscope=application にすればいいわけだが、そのBeanのデータを作成したり変更したりするときに ArrayListはスレッドセーフじゃないので、synchronizedしなきゃだめ。 テストで動いても実運用でこける。 聞かなきゃわからないようなら危ないからやめたほうがいいよ。
590 :
nobodyさん :04/01/13 11:57 ID:w4jFIrUe
redhat8.0 J2SDK 1.4.1_01 Apache 2.0 + jakarta-tomcat-4.1.24 で環境を構築しました。 問題なく動く環境ですが、現在ドメインが一つのみの設定になっています。 複数ドメインで接続可能にするにはどこの設定を変更すればよいのでしょうか? 下記のようなことを試みましたが上手くいきませんでした。 @httpd.confでVirtualHostの設定をする <VirtualHost 192.168.xxx.xxx> ServerName www.xx.xx.jp DocumentRoot /home/abc/ </VirtualHost> Aserver.xmlを下記のように設定をする <!-- xxx Project Context --> <Context path="/" docBase="/home/abc" debug="0" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_std_log." suffix=".txt" timestamp="true"/> </Context> Bworkers2.propertiesを下記のように設定する。 [www.xx.xx.jp:/*] info=Project xx よろしくお願いします
591 :
nobodyさん :04/01/13 22:47 ID:wr5S/UfL
>>591 JSPをちょこちょこいじるだけなら、
あんまりJava知らなくてもなんとかなるが、Beanで
いろいろやろうとするとどうしてもJavaの言語仕様
とか細かいテクをしらないとできないので、そういう
ことやる人は読んでおいて損はない。
っていうか、すべての参考書は読んでおいて損はない。
>>591 JSP使って何したいのって話になると思うけど?
テキストボックス二つ並べて足し算できます。程度でいいなら独習JAVAより
コンピュータ用語辞典でも読んでた方がいいんじゃないか。
win上で動かしているtomcat5をリモートから再起動するにはどうすればよいのでしょうか。 実際にサービスを停止/起動しなくても、Webアプリケーションマネージャで行える再ロード みたいなことができればいいんですが。
リモートデスクトップとかなウッヒョ
SoftEther+VNCってのはどうだ。
tomcat5 + JSTL1.1 で JSTL Examples は問題なく動くんだけど、自分で作ったアプリで <c:forEach var="women" items="${womens}"> <c:out value="${women.name}"/> </c:forEach> とかやると ${women.name} と表示されてしまいます。 jspから作られるjavaのソースを見ると、パラメータに new String("${women.name}") と文字列としてそのまま渡されてしまっているようで、JSTL Examples と違う javaの ソースが生成されています。なぜ?
598 :
597 :04/01/16 22:46 ID:???
書き忘れ。 自分で作ったアプリはstrutsを使用してます。 strutsのtagの代わりにjstlを使用しようとしてます。
何だ、只の馬鹿か。
taglib指定がうまくいってねーだけだろ、どうせ
601 :
nobodyさん :04/01/16 23:52 ID:Ev82oBKQ
JSPを表示した時に画面に出る Error: 500 JSPの内部エラー org.apache.jasper.JasperException: Unable to compile って何が原因のエラーなのでしょうか? ちなみに下に続くのは at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898) at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733) at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506) at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:875) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833) at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516) at java.lang.Thread.run(Unknown Source)
>>601 コンパイルできねえと書いてあるだろ氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
>>602 JSPが、実際には単なるservletであり、コンパイルされてJavaの
classファイルになるって知らない人も結構いるんだよ。
スクリプト言語からくるとわかんないんだよ。
>>603 ただのアホだからいちいち相手にしなくていいんじゃないの?
>>603 へぇ。じゃあ、Java(言語)のことまったく知らないでJSPぐりぐりやってる人も結構いるんですか?
JSP上だけでアクションクラスはもちろん、スクリプトレットも使わずにアプリが作れるんだろうか。
>>605 >スクリプトレットも使わずにアプリが作れるんだろうか。
おまえは読解力がないね。
スクリプトレット使って書いてるとしても
PHPやASPなんかと同じスクリプト言語と思ってるヤシがいるっつー話だろ。
>>603 そういう問題じゃない。
スタックトレースの一行目に書いてあることすら理解できないことが問題。
>>607 確かに問題なんだが、JSPつかってても「Javaって何?」って
やつもいるんだなあ。これが。お前はPHP使ってろって感じなんだが。
いっそJavaScriptでASP書いてた方がそいつのためになるな。
>>608 JSPべったりの処理系もあるよ。
B○とか。
>>607 素人に
画面にコンパイルできません
その理由は知らん
とあれば迷うだろ?
いずれにしろ
>>601 のようなのじゃ話にならんだろ。
>>602 逆に言えば経験がなければ
なぜコンパイルできないのか特定するのは難しいのでは?
>>599 ,600
お前もただのバカだろ。c:outはまともに動いているじゃないか。
615 :
nobodyさん :04/01/17 11:49 ID:5o0T/9uU
これからJSPを学習しようとWindows2000にApache、Tomcat、mod_jkを インストールしたんですが動かなくて?困ってます。 html、phpは問題ないんですが*.jspにアクセスすると 「HTTP Status 404 - (ファイル名)」と見つからないとか言われます。 何かほかに設定が必要なんでしょうか。
617 :
nobodyさん :04/01/17 12:55 ID:2hTNUfM5
>>615 JSPの勉強だったら、Apacheいらんだろ。Tomcatのみでやれ。
>>614 わざわざStrutsタグ使わないでJSTL使ってるのが馬鹿なんだろうが
JSP/Servletのセッションデータって何処に保存されてるのですか? PHPだとあからさまにファイルに保存してあるけのですが・・。 やっぱりメモリ上にあるのでつか? ・・というかコンテナの実装依存だったりして・・。
>>619 デフォルトではメモリにありますが、LANで他のサーバーと共有したり、
ファイルに落としたり、DBに落としたりできる設定のコンテナもあります。
セッション共有ないとロードバランスやりにくいからね。
>>620 大規模なモノでなければ、あまり気にする必要はなさげですね。
レスサンクスでつ。
あるリクエストの中で起動したスレッドの寿命は scopeで例えるとapplication? それともrequest? また、このようなスレッドの動作については 仕様として定められているのですか?
>>622 自分でnewしたスレッドでしょ?
ガベージの対象になるかならんかだけじゃない?
>>622 scopeでたとえるとapplicationだと思うな。
スレッドのマネージャーがハンドル握ってるわけだから。
625 :
nobodyさん :04/01/22 00:45 ID:43SARuFo
主キーに'2004/01'のように年月度でデータを管理したいんだけど、 このスレの住人だとどのように設計する? 漏れの場合、PHP+PosgreSQLやAccessではDate型でFormatをかけて出力 してるんだけど、フツーどうやるの? jspだと、rs.getDate("year_month")で取得してもjava.sql.dateオブジェクトに 突っ込まれちゃうから、SimpleDateFormatでフォーマットでできないよね?
>>625 私はMySQLだけど、MySQLのDATE_FORMAT関数でもとめる
フォーマットに変換して、getStringで取り出してる。
>>625 詳しくないならカミングアウトした方が楽になるよ。
変に知ったかぶってないで。
java.sql.Date は java.util.Date のサブクラスだ。
>>626 俺もSQLで変換して持ってきてる。
ただ、OracleやMySQLはいいけどpostgresはこういうのちょっと弱いから
SimpleDateFormatを使うかな。
628 :
nobodyさん :04/01/22 01:46 ID:x1SMRyOZ
>>625 date_format(year_month, %y/%m)
MySQLしか使ったことのない阿呆ですか?
year_monthに何が入ってるのか知らんが、PostgreSQLなら
>>628 のは
to_char(year_month, 'yyyy/mm')
postgresはフォーマット書式がOracleに比べるとショボいんだよね。 そこがなんとかなると助かるんだが。
632 :
625 :04/01/22 21:37 ID:43SARuFo
to_charで変換してできました。
>>630 さんのやり方です。
ちなみにyear_monthはDate型フィールドです。
>>627 大体こんなことのやり方もしらない時点で詳しくないよね。
SQLで変換する発想すら出てこなかった…
返信くださったみなさん、サンクス
633 :
nobodyさん :04/01/23 09:21 ID:ozDW03NQ
sessionを1週間程度保持しておいても大丈夫なのでしょうか?
>>633 ブラウザを1週間起動したままにしてもらうことを想定してるのか?
TomcatとStrutsを使って開発をしております。 コネクションプーリングを使いたい場合 コンテナ側とStruts側、どちらの機能を利用して実装するのが無難なのでしょうか? それぞれの機能に差とかってあるのですか?
xmlに一〜二行追加するだけでいいので Strutsの方を使ってるけど、詳しいことは知らない。
638 :
nobodyさん :04/01/25 01:49 ID:0Zz5B1Dp
すいません教えてください JSPを作成して表示しようとすると Error: 500 場所: /Test/TestHyouji.jsp 内部のサーブレットのエラー: org.apache.jasper.JasperException: Unable to compile at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898) at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733) at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506) at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:875) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833) at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516) at java.lang.Thread.run(Unknown Source) の画面が出てきてうまく表示されません 具体的に何が悪いのかというのも抽象的で書かれていないし どうすればいいのでしょうか? みなさんはこういう画面が出てきたとき何が原因だったのでしょうか? 教えてください
>>636 Strutsの機能を使うのは非推奨になっている。次バージョン1.2ではなくなるかも。
コンテナで管理する方がいいに決まってる。Strutsのドキュメントでもコンテナの
DataSourceの使用を推奨している。
アプリでDB設定情報を持つとポータビリティが低下するし、
各アプリばらばらに接続数とかの設定が分散すると結局
DBの接続本数管理とかしにくくなるし。
TestHyouji.jspが間違ってるから見直せ。 >具体的に何が悪いのかというのも抽象的で書かれていないし 自分でわかってるじゃねぇか。これだけじゃこっちでは原因はわかんねーからアドバイスは出来ない
641 :
nobodyさん :04/01/25 02:35 ID:0Zz5B1Dp
>>640 内部のサーブレットのエラー:
〜
この画面表示がでてきたら
基本的にJSPに問題あり?
jspをコンパイルできないエラーなんだからな。
643 :
nobodyさん :04/01/25 02:53 ID:0Zz5B1Dp
>>642 しかしJSPの部分を除いて
下記のようにHTMLだけで書き出しても同じエラーが出ますが
<html>
<head>
<title>タイトル</title>
</head>
<body>
<h1>中身表示</h1>
</body>
</html>
文字コードが変
だからこっちじゃどんなエラーかわかんないんだっつーの。 自分で探すしかないんだよ。いちいちつっかかってくんな。
>>645 自分が
jspをコンパイルできないエラーなんだからな。
って言ったくせに・・・
643はそれに対して返しただけなのに
なんでそんなに偉そうなの?
さーて面白くなってまいりました
>>646 Servlet/JSPの仕組みに詳しくなってくれば、
>>642 の言ってる意味も分かってくると思うよ。
それ、FAQっぽくなってきてるから、見るだけでもうんざりするし。
>>601-613 も見て。
「これだけじゃ分からない」とも言ってるんだし、
Tomcatを動かしてる環境とか、解決に必要な糸口は書いておこう。
何書けば良いか分からなかったら、素直に聞いてみよう。
ちなみに、そのJSPをコンパイルできない理由は、多分
>>644 。
おそらく、UNIX系のLANGがSJISじゃない環境で、SJISのソース書いて、
「表」の2バイト目の「\」と「示」の1バイト目が不明なエスケープと解釈されてるのでは?
具体的に何が悪かったかは
>>646 のエラーの続きに書かれているかも知れない。
「何行目(JSPソースとは一致しないよ)に不正な文字がある」みたいのが出てきてない?
649 :
648 :04/01/25 08:26 ID:???
ごめん。具体的なエラーは
>>638 の続きに出てるかもってことで。
JDKにパスとおってないんじゃないの? ○○できない・・ってたいていパスかパーミッションんじゃん
652 :
nobodyさん :04/01/25 14:34 ID:9rvRQqWk
>>648 ありがとうございます
画面上に出るのは638だけですが
tomcatのコンソールに出るのは
2004-01-25 14:29:58 - Ctx(/Test) : Exception in R( /Test + /TestHyouji.jsp + null) - org.apache.jasper.JasperException: Unable to compile
at org.apache.tomcat.facade.JasperLiaison.javac(JspInterceptor.java:898)
at org.apache.tomcat.facade.JasperLiaison.processJspFile(JspInterceptor.java:733)
at org.apache.tomcat.facade.JspInterceptor.requestMap(JspInterceptor.java:506)
at org.apache.tomcat.core.ContextManager.processRequest(ContextManager.java:968)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:875)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Unknown Source)
未だにJSPはPHPやASPと同じスクリプト言語だとでも思ってる奴がいるということか。
654 :
nobodyさん :04/01/25 15:07 ID:9rvRQqWk
655 :
648 :04/01/25 16:43 ID:qwmBUgyA
>>652 ああ、すまんです。
初心者にありがちなエラーメッセージの省略とかしてるかと思った。
そしたら、
>>650 がくさい。
お前さん、環境変数JAVA_HOMEをきちんと設定したかい?
もしくは、間違ってJDKでなくてJREの方を指定してないかい?
コマンドプロンプトで、
%JAVA_HOME%\bin\javac
と打ってみて、javacの使い方が出てこなかったら、設定しなおしてみそ。
>>655 おいおい、JAVA_HOMEなんか設定しなくてもいいんだぞ。
実は648は何もわかってないね
658 :
648 :04/01/25 18:02 ID:qwmBUgyA
>>656 いや、JAVA_HOMEをシステムの環境変数にしなくても起動できるのは知ってる。
でも、
>>652 の問題はJDKじゃなくてJREを使ってることでおきてると思うのよ。
で、簡単に問題の切り分けをするために、
JAVA_HOMEを設定してもらって、Tomcatのstartup.batなり、
startup.shなりを手動で実行してもらって、問題が解決するか見てみたいの。
特に、彼が使ってるTomcatの3系なら有効だと思ったのだが。
>>657 君ならどうする?
>>638 のようなエラーが出たときは
じゃあどこで落ちてるかのスタックトレースは出ないことも多いので
問題点を切り分けていって自分でなんとかするしかない。
・JSPがおかしいのか
・それ以前にtomcatの設定がおかしいのか
これすらもわかってない状態でこっちがアドバイスできることはない。
環境はWinなのかUNIXなのかもわからない。
>>643 にしたって本当にそうなのかどうかもわからない。
コンパイルできないって、JDKと間違えてJRE入れちゃった とかそういうんじゃないの?やっぱ。 パスが通ってればコンパイルぐらいはするよ。
コンパイルエラーさえあれば、コンパイルは出来ませんが何か?
Unable to compile って、javacが呼び出せないって意味だろ。 コンパイラがエラーはいてるわけではない。
>>662 いや、javac呼び出せてもJSPがコンパイルできなきゃそのエラー出る。
じゃあ、class fileが書き出せないって可能性もあるな。 パーミッション関係とか。
とりあえず
>>638 は本気で解決したいのなら、全部アンインストールして
JDK、TomcatのセットアップからJSPの表示までやりなおして、途中の
手順を全部晒すことですな。
全部ってOSごとじゃないです。
>>665 よくわからんけど
tomcat3.3.1というのは関係ないのかな?
668 :
nobodyさん :04/01/26 10:50 ID:a0Gj5TF0
JSPの超初心者です。どなたか教えて下さい。 Win2kにTomcat5.0.16を入れた所、 bin内のstartup.batは正常に動くのですが、 [スタート]-[プログラム]-[ApacheTomcat5.0]-[StartTomcat5]が 反応しません。タスクの一覧を見てもそれらしいのは見当たらないです。 %CATALINA_HOME%\bin\tomcatw.exe //GT//Tomcat5 をdosに直打ちしても駄目。 だれか助けて下さいお願いします。
それで、何か困ることでもあるのか?
670 :
668 :04/01/26 11:20 ID:???
早速のカキコありがとうございます。 困っている、というか、折角だから羽マークを クリックして出るコンソールみたいな画面(?)を 試してみたい、ってそれだけなんですが。 どこか根本的な部分が間違っているようで怖い、 ってのもあります。
>折角だから羽マークを >クリックして出るコンソールみたいな画面(?) スレ違いですが何か?
>>670 DOS窓のショートカットを作って「リンク先」に
TOM☆CATインスコしたとこ\bin\bootstrap.jar start
として、あとはアイコンを変えればいいだけだが
これはあくまで4の話なので5はシラネ
673 :
668 :04/01/26 16:44 ID:???
教えて戴いた情報を元に色々やったのですがうまく逝きません。 とりあえずstartup.batでしのいでおります。情報あったら教えて 下さいませ。 いわゆる「helloworld.jsp」を作って遊んでみました。JSPって 一度servlet(って言うの?)に変換してからコンパイルなの ですね。ふ〜ん。 次はDB(Ora9iスタンダード版)への接続を試してみたいの ですが、ド素人でも理解できるホムペってありませんか? ググッてみたけど難し過ぎるか知りたい用件を満たさない かで。 知りたいのは; 1.thinとoci8はどっちがよかんべ? 2.接続プールってどうやって作るの? 3.参照用と更新用でコネクション分けた方がいいのかな? 4.「次ページ」のソースを楽チンに作る方法ってあるの? こんな所です。 教えて君スマソ。
>>673 1.と2.はTomcatのオフィシャルサイト見れ
675 :
673 :04/01/26 18:06 ID:a0Gj5TF0
Tomcatオフィシャルページ見ますた! 助かりましたよ。これ見てなきゃドライバのセットアップも 失敗する所でした。%CATALINA_HOME%\common\libに 入れなきゃ駄目なんて想像もしてなかったですわ。 それにしてもxml・・・、うぅ〜大の苦手分野だのぅ。。。 thinとociの選択は迷う所ですね。色々ググりましたが、 Ora系に逝くと「ociの方が速いぞ」と誘われるし、 生粋のJAVAっ子は「ピュアJAVAこそJAVA」みたいな ノリですしねー。
>>675 Tomcatのオフィシャルサイト見たのなら、thinのほうが良さげなのわからなかったのか?
677 :
675 :04/01/26 18:55 ID:???
色々アドバイス感謝です。
確かにTomcatはthin推奨のようですね。
コンテナとしてTomcatを選ぶのですからthinの方が動作の
確実さを得られそうです。
迷っていたのはホムペ
ttp://www.ashisuto.co.jp/standard/tec/vol69/jdbc.pdf の記事で「ociの方が速い云々」を読んだからだす。
しかし考えてみるとOraのJ2EE鯖(Ora9iAplicationServer)は
買ってもらえそうにもない現実がある。そうなるとやっぱり
Tomcat&Thinなのでしょうね。
678 :
nobodyさん :04/01/27 09:20 ID:EMIVxoje
tomcatが偶にアクセス出来なくなるのですが?
そうですが?
>>668 サービスは起動してるの?
プロセスマネージャで出てきてる?
手動で起動できる?
>>673 2.接続プールをいちから作りたいのじゃないのね。
4.xhtml
tomcat5をwindows98系にインストールしている人っていますか。 tomcat4は問題なく動くんだけど、5だとうまく起動しないし、 起動できても終了できなかったりする。
683 :
682 :04/01/28 15:08 ID:???
あ、もしかすると
>>668 さんとおんなじ現象かも。
StartTomcat5で反応しないのと、shotdownで終了しないのと。
684 :
681 :04/01/28 21:52 ID:???
>>682 WinMEにインストールしたことある。
最初動かんかったけど、レジストリでOSのスタート時に起動する
tomcat消したら問題なく動くようになった。
(msconfigにも出てこんからない様に見えるけど、ウィルス対策ソフトとかが起動するのと同じ部分に入っている)。
おそらく、NT系のOS用にサービス起動させるためのもんが悪さしているんじゃないのかな。
685 :
682 :04/01/29 14:14 ID:???
>>684 どうもありがとうございます。
自分もその方法を試してみます。
686 :
nobodyさん :04/01/29 18:52 ID:UTpD/e0t
Servletで、 他のJ2EEサーバーにあるEJBにアクセスしているんだけど、 Cannot connect to ORB って、メッセージがTomcatのコンソールに出てアクセスできないんです。 これは何がいけないのでしょうか? ちなみに、他のJ2EEサーバー上で同じServletを動かして、 Localでブラウザからアクセスするとできます。 環境: RedHat8.0(J2EE側) Windows2000(Servlet側) J2EE 1.3.1 J2SDK 1.4.2 Tomcat 4.1.27
>>689 ORBにつなげないって書いてあるじゃないか。
エラーメッセージぐらい読めよ。
もしスパム屋だったとしたら死んでくれ
>>687 >もしスパム屋だったとしたら死んでくれ
5回くらい読んでやっと分かった。
689 :
nobodyさん :04/01/31 12:30 ID:Q89N/vTE
Windows2000+Tomcat4.1.29で開発しているんですけど、 Tomcatで、BASIC認証やform認証を使うとブラウザの戻る が使えなくなります。(ページの有効期限切れ) どこかに設定とかあるのでしょうか?
691 :
nobodyさん :04/01/31 13:49 ID:NcDPaHLZ
>>689 methodがPOSTのフォームからデータを送信した後に
表示されるページは一定期間で期限切れになるんだよ。
できるだけGETメソッドを使えば回避できるけど、
認証フォームでGET使うのはお勧めできない。
>>690 の言う通り、SSL使ったページも戻れない。
「ページの有効期限切れ」はブラウザが表示しているものなので、
サーバー側に設定はないよ。
692 :
689 :04/01/31 15:57 ID:???
>>690 , 691
ありがとうございます。
有効期限をセットして試してみようと思います。
(SSLは使用してません)
SSL のページに「戻る」ボタンで戻れるようにする方法はありませんか? 既存のシステムで IE6.0SP1 から戻れなくなりました。 IE6.0SP1 より前や NN4.x では戻れます。 セキュリティ的には納得できるのですが、RFCなどを調べてみても SSL のページには戻れないという規定はありませんでした。。。 有効期限や if-modefied ヘッダを指定したりしてもだめでした。 なにか技があれば教えてくださいまし。
IEの戻るボタン使わないといけない糞システムなんかどうでもいいよ。 普通は前のページに戻るためのリンクやボタンを用意しておく。
>>694 もちろん、おっしゃるとおり、戻るリンクを用意するのが普通です。
その糞システムを保守せんとだめなのですが、規模(お金)的に
戻るリンクを付けることはできません。。。他に対応する方法は無いでしょうか?
そんな糞システムは無視とかは避けたいです。
そんな糞システムは無視
>>696 分からなかった答えんじゃねぇ!ボケが(#゚Д゚)
嘘です。無視しないでください。_| ̄|○
SSLの意味を考えればどれだけ糞かがわかるよ
最近の携帯はSSLページで戻ると再度リクエストするねえ
700 :
689 :04/02/03 00:27 ID:???
FORM認証やBASIC認証を使ったら「戻る」がきかなくなった689ですが、 Filterで下記コードをセットしたら「戻る」ができるようになりました。 ((HttpServletResponse)res).setHeader("Cache-Control", ""); キャッシュ関係は不明な点が多いです、良い資料がありましたら教えてい ただけると幸いです。
702 :
nobodyさん :04/02/05 21:25 ID:MEUh4rIE
J2SE と J2EE って何が違うんですか? 両方インストールしないといけないんですか?
>>702 きかなきゃわかんないならj2EEいらない
704 :
nobodyさん :04/02/06 13:34 ID:B+2kLqlN
Lombo2.1.1 + Eclipse2.1.1 + JBoss3.2.1 でテストしてます。DB は付属の Hypersonic です。 CMP の仕様が変わったので、テーブルを一旦削除したいのですが、 Lomboz から undeploy しても server/all/deploy から jar が削除されず、 (ゆえに正常に undeploy できていない?) 手動で削除しても、前に作ったテーブルが消えてくれません。 JSP は普通に undeploy できるのですが・・・ 今は @jboss.persistence (ひいては jbosscmp-jdbc.xml) で remove-table を true にしていますが それ以外にできることがあるでしょうか? ついでに・・・ JBoss の web-console をあけると、 アプレットから右フレームに Servlet を呼ぶとき、 javax.management.ObjectName が見つからないらしく、コンパイルできずにいるようです。 これはどうすれば解消できるでしょうか?
テーブルが消えないのは正常では
remove-table が true なら削除してくれるのでは? 何度か jar 削除しているうちに、 default.script から当該テーブルの情報が抜け落ち、おおいいじゃないかと思って deploy したら DefaultDS がみつかんねーと怒られるようになりました。他何もいじってないのに・・・ で、ついに hypersonic 関係を弄り始め、 JBoss を再度起動した後 hsql-ds.xml の名前を JBoss3.0.x 時代?の hsql-service にしたあとまた戻したりしたら、 Hypersonic 自体が deploy されなおされて、望む状況にうまく持って来れました。 今日もなんちゃってプログラマな日々は続く。
707 :
nobodyさん :04/02/06 23:10 ID:jcDShEXs
JSPからCOM(ActiveX)のメソッドをコールしたいのだが、 ネット探してもなかった・・・ こんなオレに誰か教えてくれー
708 :
nobodyさん :04/02/07 12:17 ID:LPmd3s5Y
tomcat 4.1、Redhat 9.0 で稼動してます。 起動コマンドでエラーが出るのでログを見たら、 2004/02/07 11:22:59 org.apache.coyote.http11.Http11Protocol init 致命的: エンドポイントを初期化中のエラーです java.net.BindException: Address already in use:8080 とありました。しかしport調べても8080は使用されてないんです… しばらく放置したら 2004/02/07 11:53:01 org.apache.coyote.http11.Http11Protocol init 情報: Coyote HTTP/1.1をポート8080で初期化します となり動きました。でも、普通30分も起動にかかります?
709 :
nobodyさん :04/02/07 13:20 ID:vEpqoefU
Eclipse2.1.2+Lomboz2.1.2+Tomcat5.0.18です。 index.jspをいじってもそれがサーバに繁栄されません。 今やっている方法は、 1.index.jspを変更する 2.サーバが動いていたらStop Serverでストップ 3.Undeploy 4.Deploy 5.Run Serverでスタート ですが、更新が反映されません。 更新前のデータが表示されます。 調べたところ、更新前のデータは、TOMCAT_HOME\webapps\hoge にキャッシュされているようです。 どうすればよいでしょうか。よろしくおねがいします。
710 :
709 :04/02/07 23:20 ID:MMQDH1ws
ううっ、おねがいします<(_)>
コンテキストはROOT?
712 :
nobodyさん :04/02/08 12:36 ID:DPL2M9j9
TOMCAT_HOME\conf\server.xmlは <Context path="/hoge" docBase="D:\My Desktop\eclipse\workspace\ProjectName\hoge" workDir="D:\My Desktop\eclipse\workspace\ProjectName\j2src\org\apache\jsp" /> --> としました。
713 :
nobodyさん :04/02/08 12:54 ID:DPL2M9j9
TOMCAT_HOME\conf\Catalina\localhost\myWeb.xmlは・・・ と言おうとしたら、 <?xml version='1.0' encoding='utf-8'?> <Context path="/myWeb" docBase="D:/My Desktop/eclipse/workspace/ProjectName/hoge"> </Context> になっていました! myWebになっていました! うごいたーーー! ありがとうございます!
714 :
+++ :04/02/08 14:48 ID:???
715 :
+++ :04/02/08 14:53 ID:???
717 :
nobodyさん :04/02/09 10:18 ID:qJRNo8N6
session属性ってどこに保存されているのでしょう? サーバー側?ブラウザのcookie? その性質から、なんとなくサーバー側かなと思っていましたが、 それだと例えば、 ログイン(HTTP認証でなく、アプリ独自)→session属性にユーザー情報保存→ ブラウザ開いたままtomcat停止・再起動→ブラウザで処理を継続可能 なわけが納得いかないです。。。 しかし、cookieに持つとするとロードバランシングなんぞやってる場合にsession属性 の複製がそもそも意味をなさないし。。。
>>717 あなたが思っているほどトム君はバカじゃない。
>>718 ということは、シャットダウンした際にもsession属性をファイル等に保存しておき、
次のリクエスト時ブラウザが覚えているsession idを元に復元してくれるってことですか?
721 :
nobodyさん :04/02/15 02:40 ID:iJcnhvdy
tomcatでWEB-INF\classesにJavaのclassファイルが出力されるようにしました. これをindex.jspから使いたいのですがどうすれば良いでしょうか. どこかのxmlファイルをいじると思うのですが・・・
722 :
721 :04/02/15 17:06 ID:qH58FTbw
rootを参考にしろよ莫迦
>>721 ようするにbeanが使いたいってことですか?
>>721 単に何も考えずにスクリプトレットから使うのであればjspだけ書きかえでOK.
タグライブラリとか使うんなら、web.xmlとか書き換える必要がある。
JNDIとか使うんであれば、confのとこのふぁいるを書き換える必要がある。
それより先に、デプロイされているよね? でないとindex.jspが見つからないとなる。
>それより先に、デプロイされているよね? でないとindex.jspが見つからないとなる。
ただ自作クラスをjsp内で使いたいだけなら、
>>723 の言う通りROOTやexamplesをコピーしたりして使え。
>>721 beanを使いたいと仮定してですが、
JSPから参照するBeanの型名はフルパッケージ名修飾を必要とするんでは?
デフォルトパッケージ名のままだとClassNotFoundExceptionになると思う。
使いたいクラス名がFooBeanだとすると、
FooBean.classをWEB-INF/classes/beanなどに置いて、
(もろちんソースでも package bean;とかやって)
<jsp:useBean id="foo" class="bean.FooBean" />
とやれば、見えるでしょう。
p.s.
ちっちゃいシステムでもパッケージ名をつけることを押すスs召します。
729 :
sage :04/02/16 16:56 ID:e3E1iYlD
うーん、jboss3.2系でサーブレットフィルタの変更が反映されないんですが、 だれか同様の現象に遭われた方はいますか? なにかjbossの設定があるんだろうか。。。 ちなみにjdkは1.4.2_03 OSはwinXP pro です。
httpSessionによるsessionidの取得(getId)で質問です Apache1.xだとセッションIDがそのまま取れるのですが Apache2.0だとsessonid.host:portの形式で取れちゃってまともに動かんのです 2.0でも1.xのようにsessionidに余計なものがつかない設定とかないんでしょうか? jdkは1.4.1_01で tomcat3.3.1で連携させています
>>729 具体的にどこの設定が反映されないの?
ってこんなにたってちゃ解決してるかな
>>730 あると支障でる?
workers2.properties の tomcatId= の値はどうなってる?
あと、server.xml に同じ文字列が無いかな?
>>731 結局解決できずにクラス名を変えて逃げちゃいました。。。
変更はweb.xmlでは無くクラスの実装の変更です。
以下のような作業をしてました。
最初に SetCharacterEncodingクラス(TOMCATについてくるやつ)を
web.xmlにマッピングしてwarアーカイブにしてデプロイ。
jboss起動
フィルターの動作を確認(正常に動作する)
その後SetCharacterEncodingクラスのdoFilterメソッドに
System.out.println("hogehoge");
と追加してもう一度コンパイルしてwarアーカイブにしてデプロイ
jbossを再起動
とするとアクセスしてもログにhogehogeが出力されない
という感じです。
こんな感じで一度マッピングしたフィルターのdoFilterメソッドを修正してデプロイしても
メソッドの修正が反映されなくてなやんでました。
web.xmlのタイムスタンプとか関係あるのかなぁ。。。
734 :
730 :04/02/23 14:54 ID:???
tomcatId変えると文字列も変わるけども「.」がある javaScriptのOpenでウインドウ名に.があるとエラーになるっぽくて問題があるんですよ。 しょうがないのでjavaScriptか、JAVAのほうで.抜くことにします 普通にIEのタイトルには.いけるのになぁ・・・
フィルターを使うとき、servletだけ適用するように出来るのでしょうか? jspとかはやり方分かりますが、servletだと拡張子が無くて指定できない・・
servletだけfoo/servlet/*にするとか
>>735 <filter-mapping>
<filter-name>FooFilter</filter-name>
<servlet-name>fooServlet</servlet-name>
</filter-mapping>
たくさんのサーブレットを一度に指定したければ
>>736 かな。
>>735 適当に拡張子を付けりゃいんじゃないの?
>736-738 レスサンクス 開発の途中でフィルタ入れようかって話が出てきて(追加のアクセスログ)、 736さんや738のやり方はもう出来ませぬ・・ 一つ一つ指定するのも、結構数があるからむりっぽ。 少々不便ですね。フィルターの指定が。 しゃーない、ほかの方法で対応するか。
>>739 awkやらperlやらで正規表現で適当にweb.xmlをパースすればいいのでは?
741 :
nobodyさん :04/03/03 00:26 ID:RFmSiDz4
サーブレット・JSP・EJBの書籍で最近のトレンドって何でしょう? Amazonで気になったのはこのあたりの本なんですが…。 ・サーブレット/JSP プログラミングテクニック 改訂版 ・プロフェッショナルEJB Wroxシリーズ より良い本の紹介やアドバイスなどお願いします。 訳本はだめだ、原著にしろというのであれば(英語なら)構いません。
>741 最近のかどうか怪しいが、こいつは読んどけ。 「実践J2EE システムデザイン」 ISBN:4797322888 IoC (Dependency Injection)がトレンドだ。
743 :
nobodyさん :04/03/09 11:45 ID:d4reCwZX
745 :
nobodyさん :04/03/09 17:44 ID:2lAChsht
この板に沿った質問じゃないかもしれないけど、Servlet/JSPで開発中に 困ったので誰か意見を聴かせてください。 ブラウザ上にExcelみたいにグリッド入力をしてDB連携したいんだけど、 どういう方法がいいでしょうか。(最大行数は20行くらいに限られている) 私としては、TABLEタグにINPUTを敷き詰めて入力するのが、一番最初に思いついた んですが・・・。 お知恵を貸してください。
あくちぶX
747 :
nobodyさん :04/03/09 22:25 ID:cijNrUFw
748 :
nobodyさん :04/03/14 01:38 ID:nbEexc+f
ブラウザの戻るボタンを押した時どうやって画面を更新するんでしょうか? どこかのサイト(忘れた)で戻るボタンを押した時画面が最新の情報に更新されてました。 キャッシュを無効にしておいて、表示の期限が切れてたら読込む、とかやってるんでしょうか?
質問があります。 http//:localhost:8080/Abc/Def.jsp?id=5 ↑このようなJSPファイルからサーブレットに送信するんですが、 JSPのパラメータid=5をテキストなどと一緒に送信することは できるんでしょうか? <form name="myform" method=post action="Serv2"> <input type=submit value="送信"> </td> テキスト:<input type="text" name="name"><br> </form><br> ↑これでテキストは送信できますが、パラメータの送信方法が 判りませんでした。 ちなみに <jsp:setProperty name="ab" property="id" param="id" /> でbeanに直接パラメータを送る方法は実用できませんでした。 id=6で別のウインドウを開くと変数idが上書きされてしまうのです。 JSPを開いたときではなく、SUBMITと同時に送る方法が知りたい のです。
<input type="hidden" name="id" ......
hiddenにパラメータ"5"を入れること自体、不可能ではないんですか?
それがhtmlなら不可能だな。 ただ、お前はそんな話をしてるのか?
まずHTMLとHTTPを勉強し直すべきじゃないか?
うがー わからんぬ
<bean:define>のproperty値の設定を動的にしたいのですが どうしたらよいでしょうか? <bean:define id="radio" name="List" property="radio["+<%= idx%>+"]" value="1" /> これだとエラーになってしまいます。プロパティ値の連結は無理ですか?
>>750 JSPのパラメタをフォーム送信することなんざ出来るわけないだろ
解決しました。 いったんJSP内で変数作って、そこに置いておけばよかったんですね。 <% String param = request.getParameter("id"); %> ・ ・ ・ <input type="hidden" name="id" value="<%= param %>">
760 :
nobodyさん :04/03/16 21:00 ID:NR83lQXh
>>756 そもそもなぜ、ListというBeanで、getRadio1、getRadio2・・・という
メソッドを定義しているのですか?
>>761 そうならないようにJSP内に変数作ったんじゃん
>>760 テーブルの行単位でラジオボタンの制御をしなくてはならない仕様なのですが
同じ名前だと行単位ではなくテーブル単位でラジオボタンのチェックが制御されるので
どうにかしてラジオボタンの名前を動的に変えたいんです。ラジオボタン名を固定でつけるのは却下されました。
JavaやJSPは先月からはじめたばかりでさっぱりわからない…説明おかしかったらすみません。
>>763 まあアレだ。TLDファイルのrtexprvalueをtrueにすれば
>>756 でも動くんじゃないかな
>>763 760はIndexed Refference知らんようだから無視しとけ。
で、本題の回答
<bean:define id="radio" name="List" property='<%= "radio["+ idx + "]" %>' value="1" />
766 :
nobodyさん :04/03/19 18:51 ID:xmK1hVG7
ここで聞く内容じゃないかもしれないので、 違ってたら誘導してください。 JSPでLinuxのlocalhost(仮にホスト名を2chとして)のMySQLに接続したく、 mysql-connector-java-3.0.11-stable-bin.jarを WEB-INF/libに置いたのですが、 接続を拒否されます。 try { Class.forName("org.gjt.mm.mysql.Driver"); String cs = "jdbc:mysql:///localhost/mona?useUnicode=true&characterEncoding=SJIS"; conn = DriverManager.getConnection(cs, "giko", "hage"); で、Invalid authorization specification, message from server: "ユーザー 'giko@2ch'を拒否します.(Using password: YES)" 何故、ユーザー名に@localhostでなく、 勝手にホスト名をつけてしまうのかも謎なのですが、 どうしたら繋げられるか教えて下さい。 宜しくお願いします。
769 :
766 :04/03/20 13:51 ID:o4011iwd
>>767-768 サンクスです。
JDBCでlocalhostは使ってくれないのですか…。
DB板に逝って来ます。
771 :
nobodyさん :04/03/31 17:22 ID:UF+6X1Rk
基本的な質問かもしれませんが プロパティで <jsp:getProperty name="SeitoMasterBeanId" property="shimei" /> を表示しようとすると文字が化けます。 (当然、日本語をシフトJISに変換していないのですから) BeanのGet or Setのところで変換処理を書いても文字が化けます。 どうしたらいいのでしょう?
当然? 普通は化けないぞ。 プロパティが腐ってるんじゃないか?
あい、すいません。 JSPのファイルをインクルードする場合に、<%@ include file="/xxx/..." %> などとディレクティブ指定をしています。 ここで、インクルードするJSPファイルAから、テーブルを表すJSPファイルBを インクルード宣言し、さらにファイルBの中では、部品Cをインクルード・・・。 上記のように多重インクルードを行い、htmlファイルとして、viewを確認しました。 このような処理を行うこと自体は、JSPの仕様上問題ないのでしょうか? どなたか、浅薄な私めにご教授くださいませんか?
>>772 > 普通は化けないぞ。
なんだ普通って。どこか一個でも指定が間違ってれば化けるのでは?
ほとんどの香具師がどこで何を指定してるかも意識してないわけで。
Windows、Java、DB での SJIS の意味をごっちゃにしたり。
・リクエスト取得時
・DB文字セット
・DB入出力
・Javaソース文字セット
・Javaソースビルド時
・JSP文字セット
・JSPロード時
・JSPエンコーディング
>>773 仕様上問題無いかもしれんけど・・・
それって保守しやすいのか?
776 :
773 :04/04/01 01:23 ID:???
それほど、複雑な仕様ではないので・・・ 業務的な都合でそうなっちゃうんですよ。
>>771 とりあえず、環境を書か無くてはいけないという基本的なことから始めよう。
778 :
nobodyさん :04/04/03 18:36 ID:O1tC5TLL
>>778 縁がなかったんだよ。.NET使ってくれ。
過去にバラバラに作ってきたweb系アプリをひとつのサーバに統合 したいと思っています、さらにログインを一回すれば全アプリに対して ログインをし直さなくてもいいようにしたいと思っています (現在はアプリごとにログインする必要があります) tomcat4.1使って実現したいのですが webapps/login ← ここにログインアプリと各アプリへのショートカットをおく →/app1 ← アプリその1をおく →/app2 ← アプリその2をおく このような構成でセッションを保持することは可能でしょうか?
781 :
nobodyさん :04/04/04 01:05 ID:4RzD/7jB
>>780 やってみればすぐ分かると思うが、できます。
782 :
nobodyさん :04/04/08 11:58 ID:FoBafMEy
初回読み込みの遅さを回避するため、 jspのプリコンパイルをしようとしています。 手順は以下の通りです。 1.antのjspcにて jsp ⇒ java 2.javacにて java ⇒ class 2のときに、コンパイルのエンコードがおかしいためか、 「エスケープ文字が不正です。」だとか、 「文字列リテラルが閉じられていません」 とかいったエラーがたくさんでます。 コンパイル時のエンコードの指定は、 Shift_JIS,MS932,Windows-31J を試しました。 ちゃんとコンパイルするやり方どなたか、 ご存知の方、おねがいします。
>>782 とりあえず JSP は関係ないよね。
普通にコンパイルは出来るの?
>>782 UTF-8じゃなかったか?
>>783 は意味不明だ。
JSPのプリコンパイルって知ってるか?
785 :
782 :04/04/08 15:19 ID:???
>>784 うぉ!
まじでありがとうございます!
できました。
>>784 > JSPのプリコンパイルって知ってるか?
俺に聞いてる?
2でエラーが出てるのにプリコンパイルが関係あんのか。
787 :
nobodyさん :04/04/15 14:10 ID:+fi+Mt9D
最近JSPの拡張タグをしこしこかいてます。 拡張タグクラスのreleaseメソッドって、どんなタイミングで呼ばれるのでしょう? たとえば、<foo:bar/>タグという拡張タグがあったとして、 1)ページ内の全ての<foo:bar/>が処理された後? 2)<foor:bar/>タグが一回出現する毎?
788 :
787 :04/04/15 14:12 ID:???
誤)2)<foor:bar/>タグが一回出現する毎? 正)2)<foo:bar/>タグが一回出現する毎? すんまそん。
789 :
nobodyさん :04/04/22 13:19 ID:E4wR8034
request.getParameterNames()を引数でメソッドに渡したいのですが、 メソッド側の引数の記述はどうすればよいのでしょうか? void hoge(String[] str)では駄目でした。
tomcat5.0.19を使用しています。 jsp-examplesとかのデフォルトでもっているコンテキストパスの設定が server.xmlに書かれていません。 どこにあるのでしょうか?
>>791 ないんだろ。
なくてもデフォルト設定で動くからな。
793 :
nobodyさん :04/04/27 09:56 ID:Ug3caUsM
Tomcat5 でPostgreSQLとDBコネクションプール設定解説書の通りにやっても なんか動かない。 教えてエロイ人。
JSPのページを ブラウザのアドレスから表示させないようにするには、 REFERERを見るしかありませんか?
表現力のないバカですね。 それはそれとしてセッションで管理という手もある
>>796 すげ!俺には795を解読する能力はなかった・・・・_| ̄|○
1.jspと2.jspと3.jspがあります。 1がログインページです。 2で1のログインが成功したら、setAttributeをします。 さらに3へのリンクがあります。 3はgetAttributeでセッションがあるかどうかを判別し、 さらにセッションがあっても2からしかこれないようにしたいんですけど、 それができません。 やはりREFERERでみるしかありませんか?
2からしかこれないようにしたいのなら、セッションをみなくてもいいですね。
>>795 strutsやtapestryなどのようにservletをかいして使えばjspは一切表に出ないよ。
>>798 詳しく書いたつもりなんだろうけど、
そもそもの日本語がおかしいので
意図が伝わってこない。
それはそれとして、Session に直前に表示したページを記録しておけば、
リンク元は確実にわかるんではないかと。
ブラウザの戻る機能とか言うのナシな。
1 ← セッションその1をセット ↓ 2 ← セッションその1があれば、セッションその2をセット ↓ 3 ← セッションその1とセッションその2があれば表示 (1と2の両方辿ってこないとだめ) こういうことなんだろうけど、小学生には難しすぎたかな。
>>802 それでは駄目です。
3からアドレスで1に戻って、2を通らないで3をアドレスで表示できます。
805 :
nobodyさん :04/05/03 16:25 ID:jpYUkA5K
tomcat4.1.27を使っています。認証にFilterを使っています。 ログインやパスワード変更といった部分だけhttpsを使用した いのですが、相対urlを使用してページ遷移を扱っているので 最初にhttpsを使うとそのままずっとhttpsで遷移し、最初に httpでアクセスするとhttpです。部分的にhttpsへ強制的に 変更し、それが終わったらhttpに戻すには絶対urlを使うし か無いのでしょうか? よろしくお願いいたします。
807 :
nobodyさん :04/05/09 13:56 ID:rCJcVa0r
Red Hat 9 にJ2SDK1.4.1とTomcat5.0.18を入れて動かしてるんだけど 2929 pts/1 S 0:13 /usr/java/j2sdk1.4.1_02/bin/java ・・・ のようにJAVAのプロセスがひとつしか立ち上がらない。 Red Hat 7,2で同じように設定するとJAVAのプロセスは複数上がってるけど。 これってRed Hat 9だけの問題? それともJAVA実行環境で何か設定しなきゃいけないの?
jspからphpを呼び出す事できまちか?
>>807 たまたま今読んだけど君と同じ環境で出てくるよ。
でも違うのはTomcatだけ。
こっちは5.0.16
あとは一緒。何か忘れてるんじゃないの
>807 ps(1)に-mを指定したらどうなる?
811 :
nobodyさん :04/05/10 14:52 ID:/DKqazGO
JSPを開くと同時にServletのPost(Get)メソッドに飛びたいのですがやり方がわかりません。 どなたかおわかりになるかたご教授お願いします。
813 :
nobodyさん :04/05/11 11:08 ID:p9z6cQ5k
解説本のCDにあったtaiken.warを [Tomcatディレクトリ/]webapps/ にコピーし、Tomcatを起動して Servletを実行するとエラーになります。 >HTTP Status 404 - /taiken/servlet/HelloServlet >type Status report >message /taiken/servlet/HelloServlet >description The requested resource (/taiken/servlet/HelloServlet) is not available. >Apache Tomcat/4.1.24 [Tomcatディレクトリ/]webapps/taiken/WEB-INF/classes/HelloServlet.class はあります。 ([Tomcatディレクトリ/]webapps/taiken/Hello.jsp はちゃんと表示されます。) $javac HelloServlet.java では >パッケージ javax.servlet は存在しません。 とエラーになるので、JAVAの設定又はインスコしたJAVAではServletに対応していないのかもしれません。 Servlet を動かす為のアドバイス、お願いします。
>AVAの設定又はインスコしたJAVAではServletに対応していないのかもしれません。 チガウ。 [Tomcatディレクトリ]/conf/ にある、web.xml を開いて、 <!-- <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> --> の部分のコメント記号を削除して、 <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping> にする。 そうでないと、その本の解説通りには動かない。 後学のために言っておくと、この方法でServletを動かすのはおすすめできないのだけど
便乗で聞いてみるテストだが、 なんでお薦めできないですか? 意図しないservletが実行されるとかは考えられるが、 そんなクラスがあること自体が問題だしな。
816 :
nobodyさん :04/05/11 12:18 ID:p9z6cQ5k
>>814 お、ありがとうございます。
エラーは無くなったのですが、ソース表示されちゃいます。
お薦めな方法ってあるのでしょうか。
>>815 814じゃないけど、そういう理由です。
意図しないモノがなんでも実行されてしまう
tomcat5.0.19を使ってますが、定期的にcatalina.outに以下の ログがはかれます。何か悪いとこがあるんでしょうか? ---------------- 2004/05/11 19:35:44 org.apache.jk.common.HandlerRequest invoke 情報: Unknown message 0
もういい加減スクラッチはやめてStrutsとか使えよ。
822 :
nobodyさん :04/05/12 16:45 ID:cGBfp7sJ
tomcat4(4.1.28)を、 インストーラを使わずにWindowsサービスに登録(解除も)するにはどうやればいいでしょう?
単純にejbを勉強するのに使った本とかありますか?
825 :
nobodyさん :04/05/12 23:16 ID:08LMvGa0
Fedora Core 1でJDKに関する質問 [root@xxx root]# /usr/java/jdk1.3.1_11/bin/java -version /usr/java/jdk1.3.1_11/bin/i386/native_threads/java: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory と出たので、下記のようにシンボリックリンク [root@xxx root]# ls -al /usr/lib/* | grep libstd lrwxrwxrwx 1 root root 14 May 12 21:33 /usr/lib/libstdc++-libc6.1-1.so.2 -> libstdc++.so.5 lrwxrwxrwx 1 root root 18 Apr 21 15:01 /usr/lib/libstdc++.so.5 -> libstdc++.so.5.0.5 -rwxr-xr-x 1 root root 739636 Oct 24 2003 /usr/lib/libstdc++.so.5.0.5 しかし動きません。。。 [root@xxx root]# /usr/java/jdk1.3.1_11/bin/java -version Segmentation fault 誰かご教授お願いいたします。。。。
826 :
nobodyさん :04/05/13 10:15 ID:vgdcDema
すいません、質問です。以下のようにtomacat4.1.29でweb.xmlに記述したのですが
<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"
http://java.sun.com/dtd/web-app_2_3.dtd ">
<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<servlet>
<servlet-name>config</servlet-name>
<jsp-file>/config.jsp</jsp-file>
<init-param>
<param-name>driverName</param-name>
<param-value>org.gjt.mm.mysql.Driver</param-value>
</init-param>
<init-param>
<param-name>connectString</param-name>
<param-value>jdbc:mysql://localhost/dbNameXx?user=UserXx&password=passwordXx&useUnicode=true&characterEncoding=Shift_JIS</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>config</servlet-name>
<url-pattern>/config.jsp</url-pattern>
</servlet-mapping>
</web-app>
以下のようなエラーが出てしまいます。。。記述方法に間違いがあるのでしょうが、わかりません。どなたかご教授お願い致します。
Parse Error at line 31 column 11: The content of element type "web-app" must match
>>826 各要素を書く順番が違う。
welcome-file-listやerror-pageは
servletやservlet-mappingより下に書かなければいけない
828 :
826 :04/05/13 11:20 ID:vgdcDema
>>827 ありがとうございました。修正したらいけました。
書く順番等の書いてあるとこってありますでしょうか?
830 :
nobodyさん :04/05/13 20:00 ID:lPVU25TO
教えていただきたいんですが、 XXX.jsp ------------------------------------------- <td width="400"><html:text property="val(structNm)" size="60" style="font-size:11pt" value="${struct.structnm}"/></td> <td width="50" align="center"> <html:select property="val(class)" size="1"> <html:options name="class.value" labelName="class.label" /> </html:select></td> <td width="50" align="center"><input type="checkbox" name="val(deleteFlg)" <c:if test="${struct.deleteflg=='1'}">checked</c:if>></td> <td width="90" align="center"><html:submit style="font-size:11pt" property="val(button)" value="保存"/></td> ------------------------------------------- XXX.java (アクションクラス) ------------------------------------------- String[] strClassVal={"0","1","2","3","4"}; String[] strClassLab={"A","B","C","D","E"}; req.setAttribute("class.value",strClassVal); req.setAttribute("class.label",strClassLab); ------------------------------------------- と、データベース上のデータをjspで表示して修正するプログラムなんですが、 <html:options>で作成したコンボボックスにデフォルト値を設定させたいんだけど、どうすれば良いか 解りません。どなたか教えてください。
<html:select value="初期値">
832 :
nobodyさん :04/05/14 11:19 ID:G39U8aYJ
JSPで出力したHTMLに入力したファイル名のファイルを読みこませて、データベースに上書きさせつつ、 別のデータベースにそのファイル名と日付を書き込むというプログラムを書きたいのですが、 そもそもJSPに書かれたファイル名で読み込ませることが出来る?
834 :
nobodyさん :04/05/14 22:36 ID:DxZxlHFI
>>833 あぷろだ作って神になりたいです。
だと思うョ
>>832 サーブレットもJSPも関係ない、それ以前の話を小学生低学年レベルの文章でしか伝えられない馬鹿は帰れ
>>834 マッピングがうまくいってないんじゃないの?
IISと連携させたこと無いからよくわからんけど
>>836 うーん。。。上記リンク先と同じ設定にしてるつもりなんですが。。。
HTMLは表示できます。404もIEのページが表示できないってやつじゃ
ないので,なんとなくできかけって感じもするんですけど。。。
838 :
nobodyさん :04/05/16 03:49 ID:Pscp0JbT
というようなエラーがでたのですが、どうしたらいいでしょうか? ----------- type 例外レポート メッセージ 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 javax.servlet.ServletException org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:867) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:800) org.apache.jsp.rank_jsp._jspService(hogehoge_jsp.java:334) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:133) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248) javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 原因 java.lang.OutOfMemoryError 注意 原因のすべてのスタックトレースは、Tomcatのログに記録されています
>java.lang.OutOfMemoryError
>>838 おおかた、無限ループでも書いたのだろう
すいませんん ejbのどうやって覚えたのでしょうか? ServletとJSPは覚えました。 DB(MySQL、ORACLE)との連携(JDBC)も 覚えました・・・ ejbだけが色々調べてるんですが解りません みなさんはどうやって覚えてのでしょうか? すいませんがよろしくお願いします。
842 :
838 :04/05/16 23:15 ID:???
844 :
nobodyさん :04/05/17 14:05 ID:B/id4q7v
すみません、もしかするとすっごく厨な質問かもしれませんが・・・ Tomcat5.0.24って、コンソール画面はどこに逝ってしまったの? どなたか教えて下さいお願いします。
846 :
844 :04/05/17 14:20 ID:B/id4q7v
すみませんでした。Win2kです。
サービスサービスぅ〜♪.
848 :
nobodyさん :04/05/17 16:48 ID:KshuWWSP
すいません。 csvファイルをFileInputStreamで読み込み、txtファイルに書き込むプログラム を書いているのですが、csvファイルを読み込む際に、列の指定って出来るのでしょうか? 9列ある中、1列目から6列目まで読み込んで次の行へ移るような感じです。 よろしくお願いします。
851 :
nobodyさん :04/05/18 02:56 ID:qbnsjiAX
ActiveDirectoryでクライアントが、 すでに認証されているかどうか判断することってできるのでしょうか? つまり、 URLクリック→ログイン画面→(認証)→トップページ を URLクリック→(認証)→トップページ のようにしたいのですが。 うーん。 URLクリックした時に、 ActiveDirectoryのサーバに飛ばして、 そっちから認証情報つきでAPサーバに飛ばすとか? どなたか、こんなことした人いませんでしょうか?
852 :
844 :04/05/18 10:31 ID:uwFr8kae
>>850 さん、レスありがとうございます。
私の質問の仕方が悪かったみたい。
http://localhost:8080/ の管理画面は出るのです。
ログが下から上へドリャーって勝手に流れてく、
あの画面が出なくなっちゃったんです。
一々ログファイル開けるなんて面倒です。
緑矢印の羽マークをクリックしても、
「MonitorTomcat」を起動しても、
出てくるのは「ApacheTomcatProperties」なんです。
(こんな症状は漏れだけ?)
ついでにいうと、「ApacheTomcatProperties」の中の
start||stopは選択できるけどpause&&restartは
押せない状態。
5.0.19に戻そうかと悩み中なり。
>>852 えっと、
tomcatが起動中なら止めて、
%TOMCAT_HOME%\bin
にある、
startup.bat
をダブルクリックする。
で、いいのか?
>>853 さん、アドバイスありがとうございました。
startup.batで出来ました。
お陰様でreloadable="真"が効いているのを
横目で確認しながらdeployできました。
だけどDOS窓をずっと立ち上げっ放しにしとくのは
スマート感に欠けると思ったのも正直な所です。
(折角教えてもらったのに失礼ゴメソ)
5.0.19だと見たい時だけダブルクリックすれば
良かったのに・・・
んでもありがとうございました。
Apache2とTomcat5を連携させて運用しています。
httpd.confでエイリアスの設定を利用して、同一ディレクトリで、
静的コンテンツの.htmlはApacheが処理をして、動的コンテンツの.jspはTomcatが処理をするということは
可能なのでしょうか?
例えば、
ttp://www.hogehoge.com/login というディレクトリの配下に.htmlと.jspが存在していて
# JSPを処理するwebapp配下のディレクトリにアクセス
Alias /login/*.jsp "/usr/local/tomcat/webapp/login"
# HTMLを処理するApacheのドキュメントルート配下のディレクトリにアクセス
Alias /login/*.html "/var/www/html/login"
とhttpd.confに設定です。
>>855 最近はそういうのを連携って言うんだ?
mod_jk2って知ってる?
信じられん。絶対ネタや
どうだろう、
>>855 は連携を勘違いしているようにも見えるし、
連携できてて、さらに改良したいようにも見える。
普通はworker2に設定するもんだと分かり切っていると思うが、
あくまで例としてhttpd.confを持ち出しただけなのかもしれない。
この書き方ではどっちにでも取れると思う。
ただ一つ言えるのは、
>>858 の口調がキモイと言うこと。
WebProgってこんなんばっかな(;´Д`) 役に立ったためしがない。 仮にもプログラムに関する板だろ?何でム板とこうも差が出るんだ?
>>861 ム板でもひどいとこはひどい。
こんなもんだよ。
>>854 最小化しとくか、ナシで、catalina.outを監視してれば?
便乗質問させて下さいな。 *.jspやservlet/*をmod_jk2に渡す方法は判るんだけど、 「*.html以外は全てmod_jk2に渡す」って設定は可能?
ここで質問していいのかどうかちょっと迷いますが、 servletやjspベースのDB管理ツールってあります? 開発中にDBいじったりするときにツールやコンソールを立ち上げるのが面倒くさい、 メンバー全員に設定・配るのが面倒くさいのでもしWebAppで出来ると楽かなーと思って。
>>865 何のDBかによると思いまふ。
例えばMySQLならphpMyAdmin(その名の通りPHP)。
Sevlet/JSPでそういうものがあるか知りません。
ちょいと質問させてください Tomcat5.0+Postgresql+Tyrexで2フェーズコミットって可能なんでしょうか? postgresqlのJDBCドライバのファイルを見てもXADataSourceが見つからないんですけれども もし可能なら何を指定したら良いのでしょう?? お願いします。
868 :
867 :04/05/19 16:16 ID:???
あ、postgresqlのバージョンは7.4です
>>864 httpd.confでTomcatのディレクトリを見るように設定すればいいのでは?
Alias /examples "/usr/local/tomcat/webapps/examples"
<Location "/examples/">
Options FollowSymLinks
</Location>
<Location "/examples/WEB-INF/">
AllowOverride None
deny from all
</Location>
俺もよくわからんが、あーだこーだ言って誰も答えられていないから、
>>861 がいうように、どいつもこいつも似たようなレベルなんだろう。
>>867 PostgreSQLのJDBCドライバのDataSource実装じゃなくて
コンテナが持っているDataSource実装を使うのがいいんじゃない?
>>864 私にも質問させてください。jspやservlet以外に何をmod_jk2に渡すつもり?
872 :
nobodyさん :04/05/19 18:46 ID:YCG+zBcP
質問です jspで作成したフォームに数値を記入し、その際validation.xml で検証を行うプログラムを作成してます。 その際、小数点を検証させてみたいのですが、どんな数値を入力してみても エラーが表示されません。 (validator-ruleやプロパティファイルは他の検証が普通に稼動しているので 問題ないかと思われます) validation.xml内の該当箇所は下記の通りです。 <field property="val(ratio)" depends="required,short,mask"> <arg0 key="Form.ratio"/> <arg1 name="mask" key="${var:mask}" resource="false"/> <var><var-name>mask</var-name> <var-value>^[-+]?[0-9]+(\.[0-9]*)?$</var-value></var> </field> 正規表現が間違っているのでしょうか?それとも他に原因があるのでしょうか? どなたか教えてください。
JSPに関する質問です。 以下のコードでSampleBeanから値を取得するのにjsp:getPropertyをつかっている 場合は問題無く動作しているのですが、 <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*" import="aaa.beans.*" %> <jsp;useBean id="sample" scope="request" type="aaa.beans.SampleBean" /> <html> <body> ID:<jsp:getProperty name="sample" property="id" /><br /> </body> </html> 以下のように、<%=sample.getId() %>とすると sample のシンボルが解決できない とエラーになってしまいます。 (略) <jsp;useBean id="sample" scope="request" type="aaa.beans.SampleBean" /> <html> <body> ID:<%=sample.getId() %> </body> </html> いろいろ試してみましたが、どうしてもうまく動作させることができません。 ご教授くださいm(_ _)m
877 :
873 :04/05/20 03:41 ID:???
>>875 >コロンとセミコロンが混じってない?
う、オハズカシイ、、、ご指摘の通りでした、、、。
<jsp;useBean => <jsp:useBean
修正するとスクリプトレットでも問題無く動くようになりました。
getPropertyで値がとれていたので、該当行に問題があるのに気が
つきませんでした、、、とほほ。ご指摘ありがとうございました。
>>874 ちがうよぉ、彼は.cgiを渡したいんだよ
皆様方、知識不足で申し訳ないのですが質問させていただいてよろしいでしょうか? クライアント-Https-Webさば-HTTP-AppSrvという構成でクライアントがSSLでAppSrv上のlogin.jspにアクセスすると必ず500エラーが帰ってしまいます。 ほかのサーブレットやJSPではうまく表示されます。なお、500が変える条件は <%@ page contentType="text/html;charset=Shift_JIS" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <html:html> <head> <LINK href="./theme/css_edi.css" rel="stylesheet" type="text/css"> <title>xxxxxxxx</title> </head> <body> <%-- メニュー項目 --%> <bean:include id="menu" page="/include/menu.jsp?patern=2" /> <%= menu %> <%-- メイン部分 --%> <table class="main_style" border="0" cellpadding="0" cellspacing="0"> <tr> <%-- コンテンツ部分 --%> <td class="content"> のように<bean:include id="menu" page="/include/menu.jsp?patern=2" />コーディングしているときのみ発生します。 なにか解決策などご存知の方いらっしゃいますでしょうか?ご教授のほどよろしくお願いいたします。
WindowsXP上でTomcatを動作させています。 Tomcat Administrationは動作しており、ログインもできますが、 StatusとTomcat Managerが動作していません。 こういう場合はどうしたらよいのでしょうか?
> こういう場合はどうしたらよいのでしょうか? 子ね。 Tomcatのバージョンも書かないし 「動作してません」とあるが、何を根拠に動作していないと判断するのか、 何をどう設定したのか、 エラーなり何なり書かない奴は氏んでいいよ
>>881 WindowsXP
Tomcat 5.0.24
htt://127.0.0.1:8080/manager/html
へアクセスすると、「ページを表示できません」とエラーが出る
/conf/Catalina/localhost/manager.xml を削除したとか
>>883 インストールしてすぐにアクセスしたから、削除はしていない。
CATALINA_HOME\server\webapps\manager\WEB-INF\lib\catalina-manager.jar
もある。
> インストールしてすぐにアクセスした ユーザ登録してないの?
>>885 お約束なんだろうけれど、tomcat-users.xmlには、
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="manager" password="manager" roles="manager"/>
<user username="admin" password="admin" roles="admin,manager"/>
</tomcat-users>
と追加してあるよ
Tomcatの起動時にコンソールに 情報: コンテキスト設定ファイルのURL file:D:\jakarta-tomcat-5.0.24\conf\Catalina\localhost\admin.xml を処理しています は出てる?
すまん、 情報: コンテキスト設定ファイルのURL file:D:\jakarta-tomcat-5.0.24\conf\Catalina\localhost\manager.xml を処理しています だ
ちなみに、俺はDドライブ直下にインストールしてる
>>887 2004/05/20 22:23:45 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:C:\Program Files\Apache Software Founda
tion\Tomcat 5.0\conf\Catalina\localhost\admin.xml を処理しています
2004/05/20 22:23:47 org.apache.catalina.core.StandardHostDeployer install
情報: コンテキスト設定ファイルのURL file:C:\Program Files\Apache Software Founda
tion\Tomcat 5.0\conf\Catalina\localhost\manager.xml を処理しています
きちんと処理をされているよ…。
何なんだろう。Linux側にインストールしたTomcatではTomcat Managerに正常にアクセスできるのに…。
あ、exe をインストールしてるのか。。。 127.0.0.1 じゃなくて localhost にしたらどうなる? exe はデフォルト設定内容が違うかもしれない
892 :
nobodyさん :04/05/20 23:24 ID:lu9i7lbx
サーブレットをコンパイルしたclassを読み込むとブラウザに <html> <head> <title> hogehoge </title> <body> <h2>test</h2> </body> </html> と表示されてしまいます。 ちゃんと表示するための設定方法を教えて下さい。
893 :
nobodyさん :04/05/21 00:44 ID:KjkiJBqs
JSPでページをRedirectするとき <jsp:forward ・・・> を使うと、ページアドレスが変わらずにリダイレクトされるけど ページアドレスを飛んだ先に変えるタイプのリダイレクトって JSPであります? JavaScript、<meta refresh・・・> 以外で。 環境は Tomcat5 RedHat9
894 :
890 :04/05/21 01:54 ID:???
うちは5.0.24(zipだけど)で動いてるし、 しかも5.0.25はアルファ版じゃなかった? でも、5.0.24は緊急パッチがリリースされたよ セッション管理にバグがあったらしい
896 :
894 :04/05/21 03:17 ID:???
>>895 あ、本当だ…。
明日にでも5.0.24のzipを展開して確認してみます。
とりあえず、もう寝ないと…。
ちょっと気になって調べたのですが、適当な解答にヒットしなかったので 質問させてください。 JSPで、<jsp:useBean />でBeanを指定する場合、必ずこのJSPにはBean が引きわたされないといけないでしょうか? 実は同一のJSPファイルでサーブレットからBeanを引渡した場合と引き わたさない場合で表示内容を切替えたいのですが、<jsp:useBean />を 指定してしまうと(引きわたさない場合)エラーになってしまう為、 こまっています。 こういった場合、request.getAttributeなどをスクリプトレット内部 で利用して、BeanのAttributeがある場合のみ処理をするといった方法 でしか解決はできないでしょうか?
>893 response.sendRedirect()
>>893 まず、フォワードとリダイレクトの違いを勉強してから出直して下さい。
<jsp:forward ・・ ではリダイレクトしないぞ
900 :
894 :04/05/22 11:42 ID:???
zipアーカイブのTomcat 5.0.24を展開して、
web.xmlを修正して、
http://localhost:8080/manager/html http://localhost:8080/manager/status にアクセスして、正常にログインを確認できたよ。
結局原因は何だったんだろう…。
起動時に下記の情報を出すけれど大丈夫なのかなぁ?
2004/05/22 11:35:08 org.apache.catalina.core.StandardEngine start
情報: Starting Servlet Engine: Apache Tomcat/5.0.24
2004/05/22 11:35:08 org.apache.catalina.core.StandardHost start
情報: XML検証は無効です
>>900 >XML検証は無効です
は、コンテナ起動時にXMLのvalidationを行うかどうかの設定がOFFになってますよ、
というだけ。XMLを検証してNGですた、ではないから安心汁
902 :
nobodyさん :04/05/22 13:03 ID:prWBgoDS
よくある着メロなんかのダウンロードカウンターを JSPで作ろうとしてるんだけど 誰かこんなの作ったことある?
903 :
900 :04/05/22 17:10 ID:???
904 :
nobodyさん :04/05/22 18:06 ID:7G6pdE8J
tomcatの中にあるweb.xml(DDファイル)について質問です あれの位置関係ですが ディレクトリのどこにおかなければいけないというのは決まっているのでしょうか? それとも設定か何かでDDファイルの格納場所をかえることは可能でしょうか? またweb.xmlやservlet.xmlという名前は変更は不可なのでしょうか?
> tomcatの中にあるweb.xml tomcat/conf の中にあるやつのこと?場所は動かせないはず。 各アプリの中にあるweb.xmlも動かせない。これはServletの仕様。 > またweb.xmlやservlet.xmlという名前は変更は不可なのでしょうか? 不可。 というか、なぜそんなことをしたいのか激しく謎
906 :
nobodyさん :04/05/23 12:19 ID:gxpa2OE5
質問です。 トムキャットつかって、servlet、jsp、beanのMVCの構成で コネクション・プーリングを使用するとき、このコードはどこでもつ べきでしょうか? beanに持たせるのがオブジェクト指向の観点からよいと思うのですが、 サーブレットが実行されるたびにロードされるだけのような気がして、 そうなるといちいちPoolableObjectFactoryインターフェイスの実装クラス を生成したりして効果がないのではないかな?と思ったんですけど。
907 :
nobodyさん :04/05/23 13:20 ID:QmMbhRLu
Hibernateとか使えば?
>>906 普通はコンテナのDataSourceをJNDI経由で取得するけどな
接続の管理はコンテナにやらせた方が開発側にも運用側にも
メリットが大きい。
910 :
nobodyさん :04/05/23 19:57 ID:OKzYro8X
| | ∩___∩ | ぷらぷら | ノ _, ,_ ヽ (( | / ● ● | (=) | ( _●_) ミ _ (⌒) J )) 彡、 |∪| ノ ⊂⌒ヽ / ヽノ ヽ /⌒つ \ ヽ / ヽ / \_,,ノ |、_ノ
> web.xmlとか他の場所におくことは可能でしょうか?
無理。
>>905 参照。
> jspやsrcフォルダの名前を変えたり、場所を変更することって可能でしょうか?
どうぞご自由に。
数件前のレスも調べられない奴には無理だと思うがw
同じことをなぜ二度聞くのだろう。
>>904 >>910 web.xmlの場所は変えられん。
参考までに、なんだけど、ver4までserver.xmlで記述していた内容の
一部が、META-INF/context.xmlで記述できるようになった。
(ResourceLink等)
俺もまだ使い切ってないのでアレだけど、結構嬉しい変更だね。
ま、ググッてみてくれ。
915 :
nobodyさん :04/05/25 19:53 ID:MF8n1Tko
BMP Entity Beanについて教えてほしいですが、 ejbStoreはどのタイミングで実行されるんでしょうか? findByPrimaryKey ↓ setメソッド ↓ ???(DBへの反映は何かする?それともほっておく??) J2EEサーバに依存する話になってくるのでしょうか? ちょっと調べてトランザクションの開始と終了にejbLoadとejbStoreが実行される ような事を見たんですけど、どうもejbStoreだけ呼ばれてないような感じがしまして…。 (と言うか、どのようにしたら?どのような状態になったら?実行されるのでしょうか) お分かりになる方、どうかご教授お願いしますm(__)m 環境 J2SE 1.5 Beta 1 JBOSS 3.2.3 Oracle 8i(細かいバージョンは忘れました…)
>>915 コンテナ依存する。
ejbStore() や ejbLoad() が実行されるタイミングは意識してはいけないことになっている
>>917 おぉ、レスありがとうございます。
やはりプログラム側ではどうしようもないんですね…。
(どうにか出来るがしちゃいけないんですね)
setメソッドを呼び出した後10分ほど放置してもejbStoreが走らないし、
JBOSS終了時も走らない…。
DBへの更新ができないなぁと悩んでたんですが、
もうちょいJBOSS+EJBの仕様を調べてみます。
>>916 直たたきになるのかな
遷移先でgetParameterなどしてるとリクエストが飛んでこないのでnullになるはずですよ
>919 ( ゚д゚)?
Tomcatの4.1.24を使っています。 クラスなどを更新して自動再ロードしたら、 セッションオブジェクトなどがちゃんとそのまま使えるが、リロードする前にServletContext にセットした値がリセットされるようです。 WebApp共通のパラメータ(例えばこの機能を使ってるユーザー数など)を格納できず悩んでます 質問は、 1、ServletContextのデータがリロードされないのは仕様ですか? 2、例えば同じ機能を使用するユーザーを制限する機能を実装するときに、 そのユーザー数をどこに格納すればいいでしょうか?まあリロードしなければ問題ないが、、、 よろしくお願いします。
922 :
nobodyさん :04/05/30 22:38 ID:WZ5KWoMd
文字化けで質問です。Tomcat4.30とStrutsを仕様いています。 http;//localhost:8080/test.do?param1=1111¶m2=岐阜県 というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、 岐?E? というふうに文字化けしてしまいます。 何を調査すればいいでしょうか?
923 :
nobodyさん :04/05/30 22:43 ID:eCTAzsCD
質問させてください。 Tomcat3.X系で動いていたプログラムを4.1.30で動かそうとしているんですが、 JSPの表示でエラーが出ます。 index.html → Loger2Serv(Loger2Beanにデータを格納) → set.jsp の順番でアクセスしています。 <%@ page import="Loger2Bean" contentType="text/html; charset=Shift_JIS" %> <jsp:useBean id="lb" class="Loger2Bean" scope="session"></jsp:useBean> 上記の部分のpage import="Loger2Bean" ... の部分でエラーが出ているようですが、原因がわかりません。 PageTypeの指定方法が変わったのでしょうか? エラーは 生成されたサーブレットのエラーです: [javac] Compiling 1 source file D:\ProgramFiles\eclipse\workspace\Loger2S\work\org\apache\jsp\review_jsp.java:7: '.' がありません。 import Loger2Bean; ^ と出ています。JSPからLoger2Beanが見えていないのでしょうか? ファイル配置などは、Eclipseのデフォルトだと思われます。 Loger2 ├Web-INF │ ├classes │ │ └Loger2Bean.class/Loger2Serv.class ... │ └src │ └Loger2Bean.java/Loger2Serv.java └set.jsp/index.html 対処方法を教えていただきたくレスさせて頂きます。 その他、足りない情報があれば追加します。 よろしくお願い致します。
>>922 > 文字化けで質問です。Tomcat4.30とStrutsを仕様いています。
「使用しています」だろ?
> http;//localhost:8080/test.do?param1=1111¶m2=岐阜県
> というURIを、HttpRequestのgetParameterValues(param2);で受け取ると、
> 岐?E?
> というふうに文字化けしてしまいます。
ServletRequestのgetParameterValues() だろ?
String value2 = new String(request.getParameter(param2).getBytes("ISO-8859-1"), "Windows-31J");
でOKなはず。"Windows-31J" のところは、環境に応じてEUC-JPとかShift_JISとか適切な値に変更してくれ。
925 :
922 :04/05/30 23:00 ID:WZ5KWoMd
926 :
922 :04/05/30 23:02 ID:WZ5KWoMd
>>924 タイプミスが多くてすいません。
ありがとうございました。
>>923 JavaBeansやServletはデフォルトパッケージではなく、
何らかのパッケージに属するようにすれば動くよ。
Tomcat4から、デフォルトパッケージのコンポーネントは
動作しなくなっている。
>>926 「仕様ています」のようなタイプミスはまあいいが、
クラスやインタフェース名を間違えるのは気をつけれ。
929 :
nobodyさん :04/05/30 23:34 ID:eCTAzsCD
>>927 おぉ〜ありがとうございます。
新たにパッケージに属するようにBeanの方を設定したら、無事動きました。
ありがとうございます。本当に助かりました。
930 :
nobodyさん :04/05/31 11:38 ID:8D/47Lkb
質問です。 Servlet内から相対パスでファイルを呼び出す場合は、どのような記述にすればいいのでしょうか? TestServletというServletを作成して、TestServlet\WEB-INF\classes\servlet\test.classから TestServlet\WEB-INF\lib\test.propatiesというファイルを相対パスで読み込みたいのですが、 記述方法がわからず呼び出せません。 web.xmlの初期化パラメータに絶対パスを記述してもいいのですが、プログラム作成機がWinで実行機がLinuxなもので、 いちいち実行機に移すときにweb.xmlを書き換えるのも・・・
new File(getServletContext().getRealPath("/"),"WEB-INF/lib/test.properties");
>>931 動作確認できました。ありがとうございます
933 :
nobodyさん :04/06/01 00:08 ID:1ZeWDaRJ
>>930 ClassLoader#getResourceAsStream(String)などのメソッドを使ってCLASSPATH中の
ファイルへの入力を開くことができます。なので、Servletのinit(ServletConfig)
メソッドなどで、以下のような処理をするといいかもです。
詳細はjava.lang.ClassLoader#getResourceAsStream(String)参照。
------------------------------------------------------------------------------------
ClassLoader loader = this.getClassLoader();
InputStream is = null;
Properties prop = new Properties();
try {
is = loader.getResourceAsStream("test.properties");
if ( is == null ) throw new ServletException("ERROR!!");
prop.load(is);
}catch ( IOException e ) {
throw new ServletException("設定ファイルの読み込み中にエラーが発生しました。", e);
}
------------------------------------------------------------------------------------
934 :
nobodyさん :04/06/01 02:20 ID:9Mqad65F
Tomcatのセッティングよくわからなくて、適当に遊んでいた。 そして、マネージャーで配置削除を押した。 その瞬間80Gにも及ぶ俺が今まで、Winnyなどでためたお宝ファイルが一瞬にして消えた。 復帰ソフトを使ってもほとんど無理だった。 トホホ…
>>934 なぜに、そんなところにお宝ファイルを置いているのやら・・・