QA@IT
«回答へ戻る

5599
 を指定してみてください。
 
 アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。
+
+---
+
+**追記2**
+
+Resultについてはどうでしょう?直っていますか?
+Resultアノテーションはnameとvalueではなく、nameとlocationの様ですが。
+
+とりあえず私の環境ではcom.MySQL.actionsというパッケージ名で提示のindex.jspからlogout.actionを呼ぶところまではうまくいっています。
+
+Filterやtiles、LogoutActionのimportなどに関する情報がないので一旦調査はやめますが、
+まずは動くところまで戻られるといいと思います。
+
+Contextの配置中にエラーが出ていなければ、別でActionのパッケージを作成して
+`/<appname>/actionname.action`で呼び出してみるなど、tilesやfilterを使用しない形でActionを作ってみてはどうでしょうか。
+(すでにそういうActionがいるならば特に必要ありません)
+
+※他の情報を上げろという意味ではないです。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から com.MySQL.actions
にしてみてもらっていいですか?

init-param の
<param-value>com.MySQL</param-value>は、そのままでダメだったら
<param-value>com.MySQL.actions</param-value> にしてみてください。

うまくいかなかった場合は戻してください。

もし上手くいった場合

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)

ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

だけで動きます。


追記

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は @Action("〜")の形になります。
今回だと@Action("logout") ですね(先頭の/はあっても平気だったと思います)。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 javax.xml.ws.Actionがインポートされているんじゃないでしょうか)

import org.apache.struts2.convention.annotation.Action;

を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。


追記2

Resultについてはどうでしょう?直っていますか?
Resultアノテーションはnameとvalueではなく、nameとlocationの様ですが。

とりあえず私の環境ではcom.MySQL.actionsというパッケージ名で提示のindex.jspからlogout.actionを呼ぶところまではうまくいっています。

Filterやtiles、LogoutActionのimportなどに関する情報がないので一旦調査はやめますが、
まずは動くところまで戻られるといいと思います。

Contextの配置中にエラーが出ていなければ、別でActionのパッケージを作成して
/<appname>/actionname.actionで呼び出してみるなど、tilesやfilterを使用しない形でActionを作ってみてはどうでしょうか。
(すでにそういうActionがいるならば特に必要ありません)

※他の情報を上げろという意味ではないです。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から `com.MySQL.actions`
にしてみてもらっていいですか?

init-param の
`<param-value>com.MySQL</param-value>`は、そのままでダメだったら
`<param-value>com.MySQL.actions</param-value>` にしてみてください。

うまくいかなかった場合は戻してください。

*もし上手くいった場合*

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)


ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は
```
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
```
だけで動きます。

---

**追記**

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は `@Action("〜")`の形になります。
今回だと`@Action("logout")` ですね(先頭の/はあっても平気だったと思います)。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 `javax.xml.ws.Action`がインポートされているんじゃないでしょうか)
```java
import org.apache.struts2.convention.annotation.Action;
```
を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

---

**追記2**

Resultについてはどうでしょう?直っていますか?
Resultアノテーションはnameとvalueではなく、nameとlocationの様ですが。

とりあえず私の環境ではcom.MySQL.actionsというパッケージ名で提示のindex.jspからlogout.actionを呼ぶところまではうまくいっています。

Filterやtiles、LogoutActionのimportなどに関する情報がないので一旦調査はやめますが、
まずは動くところまで戻られるといいと思います。

Contextの配置中にエラーが出ていなければ、別でActionのパッケージを作成して
`/<appname>/actionname.action`で呼び出してみるなど、tilesやfilterを使用しない形でActionを作ってみてはどうでしょうか。
(すでにそういうActionがいるならば特に必要ありません)

※他の情報を上げろという意味ではないです。

5599
 すいません、指摘し忘れていました。
 現在指定しているAction アノテーションがStruts2のものではありません。
 Struts2のActionアノテーションの場合は `@Action("〜")`の形になります。
+今回だと`@Action("logout")` ですね(先頭の/はあっても平気だったと思います)。
 
 別のパッケージのActionアノテーションが指定されているはずです。
 (多分 `javax.xml.ws.Action`がインポートされているんじゃないでしょうか)

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から com.MySQL.actions
にしてみてもらっていいですか?

init-param の
<param-value>com.MySQL</param-value>は、そのままでダメだったら
<param-value>com.MySQL.actions</param-value> にしてみてください。

うまくいかなかった場合は戻してください。

もし上手くいった場合

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)

ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

だけで動きます。


追記

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は @Action("〜")の形になります。
今回だと@Action("logout") ですね(先頭の/はあっても平気だったと思います)。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 javax.xml.ws.Actionがインポートされているんじゃないでしょうか)

import org.apache.struts2.convention.annotation.Action;

を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から `com.MySQL.actions`
にしてみてもらっていいですか?

init-param の
`<param-value>com.MySQL</param-value>`は、そのままでダメだったら
`<param-value>com.MySQL.actions</param-value>` にしてみてください。

うまくいかなかった場合は戻してください。

*もし上手くいった場合*

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)


ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は
```
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
```
だけで動きます。

---

**追記**

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は `@Action("〜")`の形になります。
今回だと`@Action("logout")` ですね(先頭の/はあっても平気だったと思います)。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 `javax.xml.ws.Action`がインポートされているんじゃないでしょうか)
```java
import org.apache.struts2.convention.annotation.Action;
```
を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

5599
 </filter>
 ```
 だけで動きます。
+
+---
+
+**追記**
+
+すいません、指摘し忘れていました。
+現在指定しているAction アノテーションがStruts2のものではありません。
+Struts2のActionアノテーションの場合は `@Action("〜")`の形になります。
+
+別のパッケージのActionアノテーションが指定されているはずです。
+(多分 `javax.xml.ws.Action`がインポートされているんじゃないでしょうか)
+```java
+import org.apache.struts2.convention.annotation.Action;
+```
+を指定してみてください。
+
+アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から com.MySQL.actions
にしてみてもらっていいですか?

init-param の
<param-value>com.MySQL</param-value>は、そのままでダメだったら
<param-value>com.MySQL.actions</param-value> にしてみてください。

うまくいかなかった場合は戻してください。

もし上手くいった場合

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)

ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

だけで動きます。


追記

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は @Action("〜")の形になります。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 javax.xml.ws.Actionがインポートされているんじゃないでしょうか)

import org.apache.struts2.convention.annotation.Action;

を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から `com.MySQL.actions`
にしてみてもらっていいですか?

init-param の
`<param-value>com.MySQL</param-value>`は、そのままでダメだったら
`<param-value>com.MySQL.actions</param-value>` にしてみてください。

うまくいかなかった場合は戻してください。

*もし上手くいった場合*

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)


ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は
```
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
```
だけで動きます。

---

**追記**

すいません、指摘し忘れていました。
現在指定しているAction アノテーションがStruts2のものではありません。
Struts2のActionアノテーションの場合は `@Action("〜")`の形になります。

別のパッケージのActionアノテーションが指定されているはずです。
(多分 `javax.xml.ws.Action`がインポートされているんじゃないでしょうか)
```java
import org.apache.struts2.convention.annotation.Action;
```
を指定してみてください。

アノテーションの変更だけで状況が変わらない場合は、前述のパッケージ名の変更と併せて試してみてください。

回答を投稿

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から com.MySQL.actions
にしてみてもらっていいですか?

init-param の
<param-value>com.MySQL</param-value>は、そのままでダメだったら
<param-value>com.MySQL.actions</param-value> にしてみてください。

うまくいかなかった場合は戻してください。

もし上手くいった場合

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)

ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

だけで動きます。

struts2初めて触ったんであんまり自信ないんですけど、

LogoutActionのパッケージ名を
com.MySQL から `com.MySQL.actions`
にしてみてもらっていいですか?

init-param の
`<param-value>com.MySQL</param-value>`は、そのままでダメだったら
`<param-value>com.MySQL.actions</param-value>` にしてみてください。

うまくいかなかった場合は戻してください。

*もし上手くいった場合*

うちで試してみた限り、org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
は、struts2とかactionsとかいう名前が入っているパッケージをActionとして読み込んでくれているような気がします。

サイトではFilterDispatcherをStrutsPrepareAndExecuteFilterに変えましょうぐらいしか書いてなくて、しかも大半のサイトではinit-paramも指定しますが、ゼロコンフィギュレーションの一環で名前で拾うようになってるんじゃないですかね?
(最近のバージョンで変わっただけかもしれませんが)


ですのでパッケージ名の変更だけでうまくいったらたぶん`filter‘の部分は
```
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
```
だけで動きます。