struts2 拦截器

loginInterceptor.java中:

package cn.com.Sample.interceptor;


import cn.com.Sample.action.UserAction;


import com.opensymphony.xwork2.ActionContext;

import com.opensymphony.xwork2.ActionInvocation;

import com.opensymphony.xwork2.ActionProxy;

import com.opensymphony.xwork2.ActionProxyFactory;

import com.opensymphony.xwork2.interceptor.AbstractInterceptor;


public class LoginInterceptor extends AbstractInterceptor {


@Override

public String intercept(ActionInvocation invocation) throws Exception {


   ActionContext actionContext=invocation.getInvocationContext();

   UserAction action=(UserAction)invocation.getAction();

   

   //ActionProxy proxy=invocation.getProxy();

   

   if((actionContext.getSession().get("username")==null)||

   "".equals(actionContext.getSession().get("username")))

   return "login";

   

   String result=invocation.invoke();

   

   return null;

}


}

loginAction.java中:

package cn.com.Sample.action;


import com.opensymphony.xwork2.ActionContext;


public class LoginAction {


private String username;

private String password;

public String login(){

if("sd".equals(username)&&"11".equals(password)){

       ActionContext.getContext().getSession().put("username", username);

return "success";

}

return "login";

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

   }


struts.xml中:


<struts>

 <constant name="struts.devMode" value="true" />

 <constant name="struts.action.extension" value="action,,do,webwork"/>

 <constant name="struts.ognl.allowStaticMethodAccess" value="true"/>



 <package name="struts2_OGNL01" namespace="/" extends="struts-default">


<interceptors>

    <interceptor name="LoginInterceptor" class="cn.com.Sample.interceptor.LoginInterceptor"></interceptor>

    <interceptor name="SimpleInterceptor" class="cn.com.Sample.interceptor.SimpleInterceptor"></interceptor>


 <interceptor-stack name="MyStack">

   <interceptor-ref name="defaultStack"/>

   <interceptor-ref name="LoginInterceptor"/>

   <interceptor-ref name="SimpleInterceptor"/>

 </interceptor-stack>

 </interceptors>

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


<global-results>

    <result name="login">login.jsp</result>

 </global-results>


 <action name="User" class="cn.com.Sample.action.UserAction" >

   <result name="add_input">addInput.jsp</result>

   <result name="add_success">addSuccess.jsp</result>

   <result name="static">MethodCalls.jsp</result>

 </action>


 <action name="Login" class="cn.com.Sample.action.LoginAction" >

 <interceptor-ref name="defaultStack"/>

   <result>success.jsp</result>

 </action>


</package>


</struts>



你可能感兴趣的:(拦截器,import,package,public)