Struts2ÖеÄÀ¹½ØÆ÷Óë¹ýÂËÆ÷ѧϰ ÏÂÔØ±¾ÎÄ

À¹½ØÆ÷ÊÇÔÚÃæÏòÇÐÃæ±à³ÌµÄ¾ÍÊÇÔÚÄãµÄ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ÀïµÄÅäÖÃÁË

myFilter

°üÃû+ʵÏÖFilter½Ó¿ÚµÄÀà

myFilter /*

ÔÚÀïÃæÉèÖÃÁË/*Ö®ºó,Ò²¾ÍÊÇ˵ÔÚ½øÐÐÿһ¸ö²Ù×÷ʱ¶¼»á×Ô¶¯È¥

Ö´ÐÐ×Ô¶¨ÒåµÄ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 {