- - PR -
JSPで読み込んだまま固まる・・・・・
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-11-26 19:13
そうです、そうです。 右クリックでソースを保存して見てください。リンク先などのパスに注意して多少手を加えないと同じ条件にならないかもしれません。 再現したら、問題を簡単にする為に再現する必要最小限のHTMLを目指して削っていきましょう。おのずと問題個所が浮き彫りになってくるはずです。 | ||||
|
投稿日時: 2003-11-26 21:14
途中経過です。
JavaScriptを修正する事で、長持ちするようになったりならなかったりです^^; 結果的には途中で止まるのですが、いじる事で動作が変わるため明らかにここに原因があると考えています。 ツリー表示のJavaScriptを貼り付けておきます。自分では気が付かないものがあるかもしれませんから・・・・・ if (!document.getElementById) { document.getElementById = function() { return null; } } var menuCookie = "menusToExpand" function initializeMenu(menuId, actuatorId) { var menu = document.getElementById(menuId); var actuator = document.getElementById(actuatorId); if (menu == null || actuator == null) return false; //if (window.opera) return; // I'm too tired actuator.parentNode.style.backgroundImage = "url(../../image/plus.gif)"; actuator.onclick = function() { var display = menu.style.display; this.parentNode.style.backgroundImage = (display == "block") ? "url(../../image/plus.gif)" : "url(../../image/minus.gif)"; menu.style.display = (display == "block") ? "none" : "block"; // Begin custom code for remembering expanded menus with cookies var menusToExpand = getCookie(menuCookie); if (menu.style.display == "block") { // set a cookie to keep the menu expanded if (menusToExpand == null) { setCookie(menuCookie,menuId); } else if (menusToExpand.indexOf(menuId) == -1) { setCookie(menuCookie,menusToExpand+","+menuId); } } else { // remove it from the expanded cookie list if (menusToExpand.indexOf(menuId) != -1) { // check for comma after menu if (menusToExpand.indexOf(menuId+",") != -1) { menusToExpand = menusToExpand.replace(menuId+",",""); } else { menusToExpand = menusToExpand.replace(menuId,""); } if (menusToExpand == "") { deleteCookie(menuCookie); } else { setCookie(menuCookie,menusToExpand); } } } // End custom code //document.links[0].target = "_top"; //alert("id = " + actuator.id); //if (actuator.id.search("Actuator") < 0) { // parent.parent.location.href = actuator.href; //} //location.href = actuator.href; //document.location.reload(); return true; } } function openMenu(menuId) { var menu = document.getElementById(menuId); var actuatorId = menuId.substring(0, menuId.indexOf("Menu")) + "Actuator"; var actuator = document.getElementById(actuatorId); if (menu != null) { var display = menu.style.display; menu.parentNode.style.backgroundImage = "url(../../image/minus.gif)"; menu.style.display = (display == "block") ? "none" : "block"; } } function expandMenus() { var menusToExpand = getCookie(menuCookie); if (menusToExpand != null) { // if more than one menu has been menusToExpanded, // create an array of menusToExpanded menus if (menusToExpand.indexOf(",") != -1) { menuArray = menusToExpand.split(","); for (var i=0; i < menuArray.length; i++) { openMenu(menuArray[i]); } } else { openMenu(menusToExpand); } } } // ========================================================================= // Cookie functions // ========================================================================= /* This function is used to set cookies */ function setCookie(name,value,expires,path,domain,secure) { document.cookie = name + "=" + escape (value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } /* This function is used to get cookies */ function getCookie(name) { var prefix = name + "=" var start = document.cookie.indexOf(prefix) if (start==-1) { return null; } var end = document.cookie.indexOf(";", start+prefix.length) if (end==-1) { end=document.cookie.length; } var value=document.cookie.substring(start+prefix.length, end) return unescape(value); } /* This function is used to delete cookies */ function deleteCookie(name,path,domain) { if (getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } } | ||||
|
投稿日時: 2003-11-27 01:06
どうやら、問題は JavaScript 側にありそうですね。
もう関係なさそうですが、Tomcat 側の問題だとして、スレッドダンプをとるならば >このDOS窓は、TomcatのWindowの事でしょうか?それとも、別途立ち上げたものでしょうか? これは、Tomcat が動いているプロセスを表す DOS 窓のほうです。最近 Tomcat 触っていないのでどんなだかわすれてしまいましたが、たぶん起動スクリプトをダブルクリックしてぼこっと現れるウィンドウです。 | ||||
|
投稿日時: 2003-11-27 17:33
>インギさん
他の業務で確認に時間がかかりました・・・・・ 一応、ctrl + Breakで確認しました。が、そこから吐き出される内容が良く判りませんでした(苦笑 "VM Periodic Task Thread" prio=10 tid=0x8ef918 nid=0x5c8 waiting on monitor "Suspend Checker Thread" prio=10 tid=0x8f0238 nid=0x890 runnable というところで終わっています。 | ||||
|
投稿日時: 2003-11-27 17:45
このスレッドの流れは終えていないんですが、JavaScript の問題なんですよね?
Tomcatなしで、保存した HTML をブラウザで表示しただけでも現象が発生するのであればスレッドダンプの解析は助けにならないと思います。 で、Tomcat 側で起きている問題だとしたら、スレッドダンプの見方は以下のページを見るとよくわかります。 http://www1.jpn.hp.com/products/software/development/java/tips/tune/p23.html 問題となっている JSP が固まっているのであればスタックトレースからどこで止まっているかが判断できますので。 [ メッセージ編集済み 編集者: インギ 編集日時 2003-11-27 17:45 ] | ||||
|
投稿日時: 2003-11-27 18:43
html化しての検証で、勘違いしているところがありました。
今までjspで動かしているところをhtmlに差し替えて動作確認を行っていたので 同じように固まっていましたが、htmlだけを単独で動かしたら、特に問題なく動いていました・・・・。申し訳ありません。 このことから問題は、taglibの問題か、httpリクエストが飛んでいないかの2点になってしまいましたが・・・・ しばらく、再検証してみます。 | ||||
|
投稿日時: 2003-12-01 12:22
JavaScriptが白だとすると、表示された画面からクリックなしに何らかのHTTPリクエストが投げられて、そのどれかが原因となるものかなと思います。
横取り丸(http://hide.maruo.co.jp/software/ydm.html)のようなツールでHTTPリクエストを拾ってつぶしていくしかないでしょうね。。。 | ||||
|
投稿日時: 2003-12-01 12:47
使っているブラウザはなんですか?
| ||||
