db2 ストアド作成

2008-01-26 00:08:54 | db2
db2 -td@ -vf スクリプトファイル

-tdは、文末文字をあらわし、上記例の場合では、@が文末文字になる。

参考

*db2 ? optionsに-tdの説明ちゃんとつけて欲しい。ぐぐっても情報少ないし。
マニュアルには載っていたけど。半日悩みました。

html:cancel

2008-01-25 23:17:28 | Struts
(html:cancelタグを使用せずに、cancel用のロジックに流したい場合)
・html:cancelに変えて、<input type="button"~>を使用する。
・<input>タグのonclickで、任意のJavaScriptを呼び出す。
・任意のJavaScriptで、
document.forms[0].action=<パス>?org.apache.struts.taglib.html.CANCEL
document.forms[0].action=<パス>?org.apache.struts.taglib.html.CANCEL=return
document.forms[0].submit()

で可能。

Tomcatの場合取り消し線でOKでしたが、WASでは何か値を設定しておかないといけないようです。ちなみに値を設定しておいても、TomcatではOKでした。

*なんでこのようなことが必要になったのか?
・IE6,7で一つフォームに複数の<input type="submit"~>があった場合、ENTERキーを押すと(フォーム内にフォーカスがあたっている場合)、最初の<input type="submit"~>でサブミットされる。
・使い勝手の都合上、ENTERキーを押された場合に、二つ目の<input type="submit"~>にsubmitしたい。
・レイアウト上、ボタンの位置は変更したくない。
・validatorを使用しているので、cancel機能を使用したかった。

最初の<input type="submit"~>を<input type="button"~>に変えることで、ENTERキーを押すと(フォーム内にフォーカスがあたっている場合)、元二番目の<input type="submit"~>でサブミットされるようになった。

参考

以上

Websphereのweb.xml

2008-01-20 21:50:25 | WebSphere
WASで、デプロイすることなく、web.xmlを書き換えたい場合は、

[WAS_HOME]\profiles\[プロファイル]\installedApps\[セル]\[コンテキスト]\_war.ear\[コンテキスト]_war\WEB-INF
の中ではなく、
[WAS_HOME]\profiles\[プロファイル]\config\cells\[セル]\applications\[コンテキスト]_war.ear\deployments\[コンテキスト]_war\[コンテキスト]_war\WEB-INF
の中のweb.xmlを修正する。

TLD又はタグファイル中のattribute指示子に従って属性itemsはどんな式も受け付けません

2008-01-09 23:37:51 | Tomcat

JSPでJSTLを使用していて、「TLD又はタグファイル中のattribute指示子に従って属性itemsはどんな式も受け付けません」というエラーが発生することがある。

原因は、

 Servlet 2.3/JSP 1.2とServlet 2.4/JSP 2.0では、使えるJSTLのバージョンが違います。(それぞれ1.0と1.1) Servlet 2.4/JSP 2.0でJSTL 1.0を使おうとすると、「TLD又はタグファイル中のattribute指示子に従って属性valueはどんな式も受け付けません」というエラーになってしまいます。
ソース
ソース2

らしいです。

web.xmlと対象のJSPを以下のように修正。
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
 version="2.4">

対象のJSP)
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
 ↓
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

 


WAS6.1での手動でのメモリダンプの取り方

2008-01-02 00:32:55 | WebSphere
1. wsadminを起動
cd <WAS導入ディレクトリ>profiles<AppSrv01>bin
2. JVM objectNameの検出
wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process= server1,node= AA04Node07,*]
例)サーバー:server1,ノード:AA04Node07

以下のようなメッセージが返されれればOK
WebSphere:name=JVM,process=server1,platform=proxy,node=AA04Node07, j2eeType=JVM,J2EEServer=server1,version=6.1.0.1,type=JVM, mbeanIdentifier=JVM,cell=AA04Node08Cell,spec=1.0

3. メモリー・ダンプを生成
wsadmin> $AdminControl invoke $objectName generateHeapDump
で、
<WAS導入ディレクトリ>profiles<AppSrv01>に
heapdump.<yyyymmdd.hhmmss.ssss>.phdというような名前で作成される。

後は、HeapAnalyzerやMDD4Jで解析
ex) HeapAnalyzerの場合 java -Xmx512m -jar ha24.jar

WAS6.1でのGCログのとり方

2008-01-02 00:17:17 | WebSphere
管理コンソールから、
サイドメニューの「サーバ」→「アプリケーション・サーバ」を選択

メインメニューに表示されたアプリケーション・サーバの一覧から、適切な
サーバを選択

「Java及びプロセス管理」→「Java仮想マシン」を選択

表示された画面の「冗長ガーベッジ・コレクション 」にチェックを入れて、
適用をクリックし、保管、再起動することで、「native_stderr.log」に出力
される。

「native_stderr.log」をIBM Pattern Modeling and Analysis Tool for Java Garbage Collectorで解析することで、GCの分析が可能になる。
ex) java -Xmx256m -jar ga15.jarで起動し、native_stderr.logをOpenする。

Apache2.2とTomcat6の連携

2008-01-01 17:21:04 | Apache
1. httpd.confの以下のモジュールのコメントを外す
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

2. httpd.confに以下の行を追加する。
Include conf/extra/httpd-proxy.conf
*3でhttpd-proxy.confで記述する内容を、httpd.confに直接記述しても
良い。その場合、Include conf/extra/httpd-proxy.confの記述とhttpd-proxy.confの作成は不要。

3. extra/httpd-proxy.confを作成する。
<Location /examples/>
ProxyPass ajp://localhost:8009/examples/
</Location>
*examples...任意のパスに変更
*localhost...Tomcatの稼動するホスト名に変更

4. Tomcat conf/server.xml
conf/server.xmlで、
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
がコメントされていないことを確認。
*もしコメントされていれば、コメントを外す。

Apache2.0とTomcat5.5の連携

2008-01-01 17:10:07 | Apache
1. mod_jk-apache2-2.0.55.soをmod_jk.soにリネームして、apache2\modulesにコピー
2. apache2\confにworkers.propertiesファイルを作成
* workers.propertiesの内容
worker.list=ajp13
worker.ajp13.type=ajp13

3. httpd.confに以下の記述を追加
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "conf/workers.properties"
JkMount /*.jsp ajp13
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples/* ajp13
JkMount /*.do ajp13