2005-01-18
_ Struts - RequestProcessorを拡張する
久々にStruts関係のメモ.Strutsではリクエストの処理をRequestProcessorなるものがやってくれているわけですが,例えばログインしてるかどうかの認証をチェックしたりする共通的な処理を組み込むと結構便利です.でも,そのままRequestProcessorを書き換えなんてやっちゃいけないので,RequestProcessorを継承した新しいクラスを作ります.作っただけでは使ってくれないので,新しいRequestProcessorを使うことをstruts-config.xmlに記述しないといけません.これで,新しい拡張版RequestProcessorを使うことができます.struts-config.xmlには,
<controller processorClass="com.smallstyle.common.NewRequestProcessor"/>
といった感じで.拡張版RequestProcessorには例として,
public class NewRequestProcessor extends RequestProcessor { protected boolean processPreprocess( HttpServletRequest aRequest, HttpServletResponse aResponse) { //認証チェックの処理 return true; } }
といった具合で使えます.初回ログイン時などは認証チェックしないようにしておく必要がありますが,それ以外のプロセスで共通して行いたい前処理はこんな感じで実装しておくと便利.