[cubby-user:90] cubbyを一部のPATHのみに適用したい。

Masanobu Shimura [E-MAIL ADDRESS DELETED]
2008年 9月 16日 (火) 23:14:47 JST


Cubbyを利用させていただいています。
通常通り Cubbyを <url-pattern>/*</url-pattern> に適用はうまくいったのですが、
dojoを使用しており、dojoのjavascript を downloadするたびに HOT DEPLOYされるので、
適用を一部の 下位 PATHのみにしたいと思っています。(他に良い方法がありましたらご教授願います)

そこで、web.xmlの cubbyFilterやhotdeployFilterを <url-pattern>/dojo/*</url-pattern> の様に
一部 PATHの適用に変えました。

DojoAction Classは、下記の様になっています。

public class DojoAction extends Action {
	@RequestParameter
	String loginname;
	@RequestParameter
	String password;	
	public HttpServletRequest request;
	private HashMap loginr = new HashMap();
	public ActionResult login() {
		if (loginname!=null &&  loginname.equals("S")) {
			loginr.put("result", "pass");
		} else {
			loginr.put("result", "fail");		
		}
		return new Json(loginr);
	}
}

これは、以前と変わっていないのですが、上記変更をおこなうと、以前は下記 LOG(抜粋)だったのが、

DEBUG 2008-09-16 22:49:20,992 [btpool0-4] アクションメソッドを登録します
[regex=^/$,method=public org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.IndexAction.index(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=true]
DEBUG 2008-09-16 22:49:20,993 [btpool0-4] /__internal_forward
へフォワードします (ルーティング {null=[regex=^/dojo/login$,method=public
org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.DojoAction.login(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=true]})
DEBUG 2008-09-16 22:49:20,993 [btpool0-4] リクエストされたURIに次のルーティングがマッチしました
{null=[regex=^/dojo/login$,method=public
org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.DojoAction.login(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=true]}
DEBUG 2008-09-16 22:49:20,994 [btpool0-4]
[E-MAIL ADDRESS DELETED]
を用いてリクエストを解析します。
DEBUG 2008-09-16 22:49:20,994 [btpool0-4] /__internal_forward の処理を開始します
DEBUG 2008-09-16 22:49:20,994 [btpool0-4] アクションメソッド(public
org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.DojoAction.login())を実行します
DEBUG 2008-09-16 22:49:21,006 [btpool0-4]
クラス(com.shimura.cubby.dojo.action.DojoAction[dojoAction])のコンポーネント定義を登録します
DEBUG 2008-09-16 22:49:21,100 [btpool0-4] [PropertyInterType]
Introducing... com.shimura.cubby.dojo.action.DojoAction

下記の様になってしまいます。

DEBUG 2008-09-16 23:12:11,808 [btpool0-2] アクションメソッドを登録します
[regex=^/$,method=public org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.IndexAction.index(),uriParameterNames=[],requestMethod=POST,onSubmit=null,priority=2147483647,auto=true]
DEBUG 2008-09-16 23:12:11,810 [btpool0-2] /__internal_forward
へフォワードします (ルーティング {null=[regex=^/dojo/login$,method=public
org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.DojoAction.login(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=true]})
DEBUG 2008-09-16 23:12:11,810 [btpool0-2] リクエストされたURIに次のルーティングがマッチしました
{null=[regex=^/dojo/login$,method=public
org.seasar.cubby.action.ActionResult
com.shimura.cubby.dojo.action.DojoAction.login(),uriParameterNames=[],requestMethod=GET,onSubmit=null,priority=2147483647,auto=true]}
DEBUG 2008-09-16 23:12:11,839 [btpool0-2] HOT deployを終了しました

画面(直接アクセスすると)には

HTTP ERROR: 404

NOT_FOUND

RequestURI=/__internal_forward

と表示されます。

ヒントがあればよろしくお願いいたします。

志村正信


cubby-user メーリングリストの案内