Jfinalブロッキングの使用

1457 ワード

ブロッキングは、Javaでアクション呼び出しを動的にブロッキングするオブジェクトです.開発者は、1つのactionが実行する前後に実行されるコードを定義したり、1つのactionが実行される前に実行を阻止したりすることができ、同時にactionの再利用可能な部分を抽出する方法を提供する.AOP(Aspect-oriented Programming)では、メソッドまたはフィールドがアクセスされる前にブロッキングを行い、前または後に何らかのアクションを加えるためにブロッキングが使用されます.ログインが必要な場合は、ブロッキングを構成する必要があります.ログインしていない場合、ユーザが経路を知っていてもコンテンツが表示されないことを保証することができる.Jfinalでブロッキングを使用するには、1.configInterceptor(Interceptors me)メソッドでグローバルブロッキングを定義する方法があります.
2.カスタムXXクラス継承インタフェースInterceptor、その中でインタフェース方法を実現し、論理判断を実現する.ブロックが必要なコントローラの前に@(XX.class)を追加すると、ブロック機能の一部が完了します.
例:(1).インターセプタを構成し,インタフェースInterceptorを実現する.public class GlobalInterceptor extends Controller implements Interceptor { public void intercept(Invocation inv) { //TODO Auto-generated method stub HttpSession session = inv.getController().getSession(); String username = (String) session.getAttribute(“username”); if(session == null){ inv.getController().render(“/index/login.html”);}else{String nickname=(String)session.getAttribute("nickname");if(nickname!=null){System.out.println(username);inv.invoke()}else{inv.getController()/render("/index/login.html.}}}(2).ユーザー登録時にユーザー名のパスワードが一致するとsessionが保存されます.getSession().setAttribute(“nickname”, username);
    setSessionAttr("sessionId", username);//       session
    //setCookie("cuser", sessionId, 60000);//      cookie
    redirect("/admin");

(3).ブロックが必要なコントローラの前にブロック@Before(GlobalInterceptor.class)を追加