À¹½ØÆ÷ÊÇÔÚÃæÏòÇÐÃæ±à³ÌµÄ¾ÍÊÇÔÚÄãµÄservice»òÕßÒ»¸ö·½·¨£¬Ç°µ÷ÓÃÒ»¸ö·½·¨£¬»òÕßÔÚ·½·¨ºóµ÷ÓÃÒ»¸ö·½·¨ £¬±ÈÈ綯̬´úÀí¾ÍÊÇÀ¹½ØÆ÷µÄ¼òµ¥ÊµÏÖ£¬¹ýÂËÆ÷ÊÇÔÚjava webÖУ¬Äã´«ÈëµÄrequest,responseÌáǰ¹ýÂ˵ôһЩÐÅÏ¢£¬»òÕßÌáǰÉèÖÃһЩ²ÎÊý£¬È»ºóÔÙ´«Èëservlet»òÕßstrutsµÄ action½øÐÐÒµÎñÂß¼£¬±ÈÈç¹ýÂ˵ô·Ç·¨url£¨²»ÊÇlogin.doµÄµØÖ·ÇëÇó£¬Èç¹ûÓû§Ã»Óеǽ¶¼¹ýÂ˵ô£©,»òÕßÔÚ´«Èëservlet»òÕß strutsµÄactionǰͳһÉèÖÃ×Ö·û¼¯£¬»òÕßÈ¥³ýµôһЩ·Ç·¨×Ö·û¡£
À¹½ØÆ÷Óë¹ýÂËÆ÷µÄÇø±ð£º
1¡¢À¹½ØÆ÷ÊÇ»ùÓÚjavaµÄ·´Éä»úÖÆµÄ£¬¶ø¹ýÂËÆ÷ÊÇ»ùÓÚº¯Êý»Øµ÷ 2¡¢¹ýÂËÆ÷ÒÀÀµÓëservletÈÝÆ÷£¬¶øÀ¹½ØÆ÷²»ÒÀÀµÓëservletÈÝÆ÷ 3¡¢À¹½ØÆ÷Ö»ÄܶÔactionÇëÇóÆð×÷Ó㬶ø¹ýÂËÆ÷Ôò¿ÉÒÔ¶Ô¼¸ºõËùÓеÄÇëÇóÆð×÷ÓÃ
4¡¢À¹½ØÆ÷¿ÉÒÔ·ÃÎÊactionÉÏÏÂÎÄ¡¢ÖµÕ»ÀïµÄ¶ÔÏ󣬶ø¹ýÂËÆ÷²»ÄÜ 5¡¢ÔÚactionµÄÉúÃüÖÜÆÚÖУ¬À¹½ØÆ÷¿ÉÒÔ¶à´Î±»µ÷Ó㬶ø¹ýÂËÆ÷Ö»ÄÜÔÚÈÝÆ÷³õʼ»¯Ê±±»µ÷ÓÃÒ»´Î
¹ýÂËÆ÷
Ò²¾ÍÊÇдһ¸ö×Ô¼ºµÄÀà,ÈÃÕâ¸öÀàʵÏÖÓÚFilterÕâ¸ö½Ó¿Ú,Õâ¸ö½Ó¿ÚÀïÓÐÈý¸ö·½·¨ ¡£
init()£¬doFilter()£¬destroy()£»Ö÷ÒªÊǶÔdoFilter()½øÐвÙ×÷,Äã¿ÉÒÔÔÚÕâ¸ö·½·¨ÀïдÄãÏë½øÐеIJÙ×÷.
дÍêÕâЩ֮ºó,¾ÍÊÇÔÚweb.xmlÀïµÄÅäÖÃÁË
ÔÚ
Ö´ÐÐ×Ô¶¨ÒåµÄfilterÀïµÄdoFilter·½·¨ÀïµÄ´úÂë.ÕâÑù¾Í¿ÉÒÔ½øÐÐÏàÓ¦µÄ¹ýÂ˲Ù×÷ÁË¡£ À¹½ØÆ÷ 1¡¢¶¨ÒåÀ¹½ØÆ÷
a.·½·¨Ò»£ºÊµÏÖInterceptor½Ó¿Ú
public class MyInterceptor implements Interceptor { private String hello;//¶¨Òå´ø²ÎÊýµÄÀ¹½ØÆ÷ public String getHello() { return hello; }
public void setHello(String hello) { this.hello = hello; }
public void destroy() {
// TODO Auto-generated method stub System.out.println(\ }
@Override
public void init() {
//·þÎñÆ÷Æô¶¯Ê±×Ô¶¯¼ÓÔØÒ»´Î System.out.println(\ System.out.println(\ }
@Override
public String intercept(ActionInvocation arg0) throws Exception { System.out.println(\ String result=arg0.invoke(); System.out.println(\ return result; } }
b.·½·¨¶þ£º¼Ì³ÐAbstractInterceptorÀà
public class MyInterceptor2 extends AbstractInterceptor { @Override
public String intercept(ActionInvocation arg0) throws Exception { System.out.println(\ String result=arg0.invoke(); System.out.println(\ return result; } }
c.·½·¨Èý£º¼Ì³ÐMethodFilterInterceptorÀà,¶¨Òå¹ýÂË·½·¨µÄÀ¹½ØÆ÷ public class MyInterceptor3 extends MethodFilterInterceptor { //¹ýÂË·½·¨µÄÀ¹½ØÆ÷ @Override
protected String doIntercept(ActionInvocation arg0) throws Exception {