struts2 adding interceptors in struts.xml for all action class

后端 未结 2 682
情书的邮戳
情书的邮戳 2020-12-18 05:03

I\'ve used the Struts 2 framework and I have created a web application which has a Login Page. I have three different Action classes named Action1,

相关标签:
2条回答
  • 2020-12-18 05:43

    Use

    <default-interceptor-ref name="newStack"/>
    

    If you not putting interceptor-ref manually for each action you could use the default-interceptor-ref to intercept all actions that has not explicitly defined interceptors configuration. See How do we configure an Interceptor to be used with every Action.

    We can create our own named stacks and even declare a new default interceptor stack for a package

    <package name="default" extends="struts-default" >
      <interceptors>
           <interceptor-stack name="myStack">
              <interceptor-ref name="timer"/>
              <interceptor-ref name="logger"/>
            <interceptor-ref name="defaultStack"/>
           </interceptor-stack>
      </interceptors>
    

    However, if you say that the interceptor above works fine I will encourage you to be cautious about a business logic that the login action will not be executed if it fails on the first execution. Instead of checking for the new session you should check for results of the authenticated user and save these results in the session that you could check in the interceptor. See this question for example.

    The example of writing the interceptor that use the authenticated user information with the session you could find here.

    0 讨论(0)
  • 2020-12-18 05:53
    <interceptor name="test" class="Full path for LoginInterceptor" />
    
        <interceptor-stack name="testStack">  
             <interceptor-ref name="test"/>
             <interceptor-ref name="defaultStack"/> //here you are including default stack
        </interceptor-stack> 
    
    </interceptors>  
    <default-interceptor-ref name="testStack"></default-interceptor-ref>
    

    Now testStack will execute for every request

    0 讨论(0)
提交回复
热议问题