Struts
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* Apache Struts [#h7bf9e85]
Struts導入メモ。
#contents
** バージョン1.2以前と1.3との相違 [#x89c3bf1]
この時期にStrutsを導入する場合に注意しなければならないの...
バージョン1.2と1.3では、その構成が大分変わっていること。
(今では、1.2以前をStrutsクラシックと呼ぶらしい。)
- [[Struts リリースノート(英語):http://struts.apache.org/...
- [[Struts Wiki:http://wiki.apache.org/struts/StrutsUpgra...
*** 互換性 [#w5b814e9]
1.2以前でコンパイルされたアプリケーションは、一応動作する...
ただやはり、1.3で構築しなおす方が無難。
*** struts.jar はどこいった? [#d8f4fb60]
1.2以前で struts.jar としてまとまっていたライブラリが、
1.3では struts-*.jar のような名前になって機能ごとに分割さ...
ということで、struts-*.jar と名前のつくライブラリを全部参...
1.2以前で作成したソースはコンパイルできるはずである。
(本当は、必要なものだけ参照設定する方がスマートだけど。)
*** TLD の URI [#d3a1c8f7]
Struts が Jakarta プロジェクトじゃなくなったらしい(?)...
ドメインが変更になっている。
|バージョン1.2以前|バージョン1.3|h
|http://jakarta.apache.org/struts/tags-bean|http://struts...
|http://jakarta.apache.org/struts/tags-html|http://struts...
|http://jakarta.apache.org/struts/tags-logic|http://strut...
|http://jakarta.apache.org/struts/tags-nested|http://stru...
|http://jakarta.apache.org/struts/tags-tiles|http://strut...
*** struts-config.xml の設定 [#f0722986]
struts-config.xml の DOCTYPE に記述する宣言は変更になって...
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuratio...
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
変更されたのは、
- バージョンが 1.3(当然)。
- URIが jakarta.apache.org/struts から struts.apache.org ...
というところ。
*** 1.3でなくなったもの [#i8560571]
- ActionError
- DataSourceConfig
これらはなくなったらしい。ActionError は ActionMessage に...
** Struts の罠 [#qc6e683c]
作業をしていてぶち当たった問題とその解決方法をメモ。
*** データソースの初期化に失敗する件 [#v0dba777]
struts-config.xml の data-source に次のように設定したとす...
<struts-config>
<data-sources>
<data-source key="oracle">
<set-property property="driverClass" value="ora...
<set-property property="url" value="jdbc:oracle...
<set-property property="user" value="user" />
<set-property property="password" value="passwd...
<set-property property="maxCount" value="64" />
<set-property property="minCount" value="10" />
<set-property property="autoCommit" value="fals...
</data-source>
</data-sources>
(以下略)
一見設定は正しいように見える(というか、設定自体は正しい...
しかし、これで、あるとき突然次のようなエラーを吐いて、act...
:
:
2007/03/16 19:42:19 org.apache.catalina.core.Application...
情報: サーブレット action を利用不可能にマークします
2007/03/16 19:42:19 org.apache.catalina.core.StandardCon...
致命的: サーブレット /app_hoge がload()例外を投げました
javax.servlet.UnavailableException: Initializing applica...
at org.apache.struts.action.ActionServlet.initModuleD...
at org.apache.struts.action.ActionServlet.init(Action...
at jp.co.hoge.MyActionServlet.init(MyActionServlet.ja...
at javax.servlet.GenericServlet.init(GenericServlet.j...
at org.apache.catalina.core.StandardWrapper.loadServl...
at org.apache.catalina.core.StandardWrapper.load(Stan...
at org.apache.catalina.core.StandardContext.loadOnSta...
at org.apache.catalina.core.StandardContext.start(Sta...
at org.apache.catalina.core.ContainerBase.addChildInt...
at org.apache.catalina.core.ContainerBase.addChild(Co...
at org.apache.catalina.core.StandardHost.addChild(Sta...
at org.apache.catalina.startup.HostConfig.deployDescr...
at org.apache.catalina.startup.HostConfig.deployDescr...
at org.apache.catalina.startup.HostConfig.deployApps(...
at org.apache.catalina.startup.HostConfig.start(HostC...
at org.apache.catalina.startup.HostConfig.lifecycleEv...
at org.apache.catalina.util.LifecycleSupport.fireLife...
at org.apache.catalina.core.ContainerBase.start(Conta...
at org.apache.catalina.core.StandardHost.start(Standa...
at org.apache.catalina.core.ContainerBase.start(Conta...
at org.apache.catalina.core.StandardEngine.start(Stan...
at org.apache.catalina.core.StandardService.start(Sta...
at org.apache.catalina.core.StandardServer.start(Stan...
at org.apache.catalina.startup.Catalina.start(Catalin...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ...
at sun.reflect.NativeMethodAccessorImpl.invoke(Native...
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De...
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst...
at org.apache.catalina.startup.Bootstrap.main(Bootstr...
(以下略)
これは、data-source の設定が不味い(接続先の情報、ユーザ...
コンソール(Oracle の場合は SQLPlus )などで接続すると、...
つまり、DBMSも落ちてないし、設定も間違っていない。
であるのに、データソースの初期化に失敗し、UnavailableExce...
これ、大ハマリしたんだけど、原因は、''Oracle のプーリング...
データベースのコネクションプールというのは、
あらかじめいくつかの接続を開いておいて、
2度目以降のアクセスで同じ接続先だったりSQLだったりしたと...
前に使っていた接続をプールから探して、同じのがあればそれ...
つまり、この''あらかじめ開いておく接続数がサーバの許容(...
SQLPlus は接続を1本しか張らないから、すんなりつながるわけ...
これがDBサーバの設定や状態によって発生したりしなかったり...
突然つながらなくなったり、かと思えば突然つながるようにな...
原因がさっぱりつかめずにハマるパターンだったりする。
大抵、DBサーバを再起動すればしばらく正常につながる。
ただ、開発やデバッグの段階ではプーリング機能はあまり関係...
minCount や maxCount の値を小さく(両方 1 でも良い)して...
** native2ascii [#x3cb8aaa]
ネイティブコード (Latin 1 および Unicode 以外) のファイル...
JDK に含まれているはず。(\bin の中)
*** Unicode に変換 [#y9fe0a07]
C:\(JDK ディレクトリ)\bin> native2ascii (ネイティブコー...
例えば、
C:\JDK1.5\bin> native2ascii C:\temp\hoge.properties C:\t...
とか。
※ファイル名はフルパスで。
*** ネイティブに戻す [#r6ad592d]
reverse オプションを使う。
C:\(JDK ディレクトリ)\bin> native2ascii -reverse (Unicod...
*** 文字コードを指定する [#ibb89d15]
encoding オプションを使う
C:\(JDK ディレクトリ)\bin> native2ascii -encoding (文字...
例えば、
C:\JDK1.5\bin> native2ascii -encoding EUC-JP C:\temp\hog...
とか。
*** 参考 [#m99e0202]
- [[ネイティブ - ASCII コンバータ:http://sdc.sun.co.jp/ja...
** 参考サイト [#waefa315]
- [[Apache Struts:http://struts.apache.org/]]&br;
本家。
- [[Apache Wiki(英語):http://wiki.apache.org/]]
-- [[Struts Wiki:http://wiki.apache.org/struts/]]&br;
Struts の様々な情報が詰まってる。
- [[uebu Jakarta TomcatとJakarta TaglibsとApache Strutsと...
参考になります。
-----
[[プログラム・開発系メモ]]
#googleads(1,1)
終了行:
* Apache Struts [#h7bf9e85]
Struts導入メモ。
#contents
** バージョン1.2以前と1.3との相違 [#x89c3bf1]
この時期にStrutsを導入する場合に注意しなければならないの...
バージョン1.2と1.3では、その構成が大分変わっていること。
(今では、1.2以前をStrutsクラシックと呼ぶらしい。)
- [[Struts リリースノート(英語):http://struts.apache.org/...
- [[Struts Wiki:http://wiki.apache.org/struts/StrutsUpgra...
*** 互換性 [#w5b814e9]
1.2以前でコンパイルされたアプリケーションは、一応動作する...
ただやはり、1.3で構築しなおす方が無難。
*** struts.jar はどこいった? [#d8f4fb60]
1.2以前で struts.jar としてまとまっていたライブラリが、
1.3では struts-*.jar のような名前になって機能ごとに分割さ...
ということで、struts-*.jar と名前のつくライブラリを全部参...
1.2以前で作成したソースはコンパイルできるはずである。
(本当は、必要なものだけ参照設定する方がスマートだけど。)
*** TLD の URI [#d3a1c8f7]
Struts が Jakarta プロジェクトじゃなくなったらしい(?)...
ドメインが変更になっている。
|バージョン1.2以前|バージョン1.3|h
|http://jakarta.apache.org/struts/tags-bean|http://struts...
|http://jakarta.apache.org/struts/tags-html|http://struts...
|http://jakarta.apache.org/struts/tags-logic|http://strut...
|http://jakarta.apache.org/struts/tags-nested|http://stru...
|http://jakarta.apache.org/struts/tags-tiles|http://strut...
*** struts-config.xml の設定 [#f0722986]
struts-config.xml の DOCTYPE に記述する宣言は変更になって...
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuratio...
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
変更されたのは、
- バージョンが 1.3(当然)。
- URIが jakarta.apache.org/struts から struts.apache.org ...
というところ。
*** 1.3でなくなったもの [#i8560571]
- ActionError
- DataSourceConfig
これらはなくなったらしい。ActionError は ActionMessage に...
** Struts の罠 [#qc6e683c]
作業をしていてぶち当たった問題とその解決方法をメモ。
*** データソースの初期化に失敗する件 [#v0dba777]
struts-config.xml の data-source に次のように設定したとす...
<struts-config>
<data-sources>
<data-source key="oracle">
<set-property property="driverClass" value="ora...
<set-property property="url" value="jdbc:oracle...
<set-property property="user" value="user" />
<set-property property="password" value="passwd...
<set-property property="maxCount" value="64" />
<set-property property="minCount" value="10" />
<set-property property="autoCommit" value="fals...
</data-source>
</data-sources>
(以下略)
一見設定は正しいように見える(というか、設定自体は正しい...
しかし、これで、あるとき突然次のようなエラーを吐いて、act...
:
:
2007/03/16 19:42:19 org.apache.catalina.core.Application...
情報: サーブレット action を利用不可能にマークします
2007/03/16 19:42:19 org.apache.catalina.core.StandardCon...
致命的: サーブレット /app_hoge がload()例外を投げました
javax.servlet.UnavailableException: Initializing applica...
at org.apache.struts.action.ActionServlet.initModuleD...
at org.apache.struts.action.ActionServlet.init(Action...
at jp.co.hoge.MyActionServlet.init(MyActionServlet.ja...
at javax.servlet.GenericServlet.init(GenericServlet.j...
at org.apache.catalina.core.StandardWrapper.loadServl...
at org.apache.catalina.core.StandardWrapper.load(Stan...
at org.apache.catalina.core.StandardContext.loadOnSta...
at org.apache.catalina.core.StandardContext.start(Sta...
at org.apache.catalina.core.ContainerBase.addChildInt...
at org.apache.catalina.core.ContainerBase.addChild(Co...
at org.apache.catalina.core.StandardHost.addChild(Sta...
at org.apache.catalina.startup.HostConfig.deployDescr...
at org.apache.catalina.startup.HostConfig.deployDescr...
at org.apache.catalina.startup.HostConfig.deployApps(...
at org.apache.catalina.startup.HostConfig.start(HostC...
at org.apache.catalina.startup.HostConfig.lifecycleEv...
at org.apache.catalina.util.LifecycleSupport.fireLife...
at org.apache.catalina.core.ContainerBase.start(Conta...
at org.apache.catalina.core.StandardHost.start(Standa...
at org.apache.catalina.core.ContainerBase.start(Conta...
at org.apache.catalina.core.StandardEngine.start(Stan...
at org.apache.catalina.core.StandardService.start(Sta...
at org.apache.catalina.core.StandardServer.start(Stan...
at org.apache.catalina.startup.Catalina.start(Catalin...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ...
at sun.reflect.NativeMethodAccessorImpl.invoke(Native...
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De...
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootst...
at org.apache.catalina.startup.Bootstrap.main(Bootstr...
(以下略)
これは、data-source の設定が不味い(接続先の情報、ユーザ...
コンソール(Oracle の場合は SQLPlus )などで接続すると、...
つまり、DBMSも落ちてないし、設定も間違っていない。
であるのに、データソースの初期化に失敗し、UnavailableExce...
これ、大ハマリしたんだけど、原因は、''Oracle のプーリング...
データベースのコネクションプールというのは、
あらかじめいくつかの接続を開いておいて、
2度目以降のアクセスで同じ接続先だったりSQLだったりしたと...
前に使っていた接続をプールから探して、同じのがあればそれ...
つまり、この''あらかじめ開いておく接続数がサーバの許容(...
SQLPlus は接続を1本しか張らないから、すんなりつながるわけ...
これがDBサーバの設定や状態によって発生したりしなかったり...
突然つながらなくなったり、かと思えば突然つながるようにな...
原因がさっぱりつかめずにハマるパターンだったりする。
大抵、DBサーバを再起動すればしばらく正常につながる。
ただ、開発やデバッグの段階ではプーリング機能はあまり関係...
minCount や maxCount の値を小さく(両方 1 でも良い)して...
** native2ascii [#x3cb8aaa]
ネイティブコード (Latin 1 および Unicode 以外) のファイル...
JDK に含まれているはず。(\bin の中)
*** Unicode に変換 [#y9fe0a07]
C:\(JDK ディレクトリ)\bin> native2ascii (ネイティブコー...
例えば、
C:\JDK1.5\bin> native2ascii C:\temp\hoge.properties C:\t...
とか。
※ファイル名はフルパスで。
*** ネイティブに戻す [#r6ad592d]
reverse オプションを使う。
C:\(JDK ディレクトリ)\bin> native2ascii -reverse (Unicod...
*** 文字コードを指定する [#ibb89d15]
encoding オプションを使う
C:\(JDK ディレクトリ)\bin> native2ascii -encoding (文字...
例えば、
C:\JDK1.5\bin> native2ascii -encoding EUC-JP C:\temp\hog...
とか。
*** 参考 [#m99e0202]
- [[ネイティブ - ASCII コンバータ:http://sdc.sun.co.jp/ja...
** 参考サイト [#waefa315]
- [[Apache Struts:http://struts.apache.org/]]&br;
本家。
- [[Apache Wiki(英語):http://wiki.apache.org/]]
-- [[Struts Wiki:http://wiki.apache.org/struts/]]&br;
Struts の様々な情報が詰まってる。
- [[uebu Jakarta TomcatとJakarta TaglibsとApache Strutsと...
参考になります。
-----
[[プログラム・開発系メモ]]
#googleads(1,1)
ページ名: