拦截器类interceptor
import java.util.Map;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class CheckUserInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("checkuser begin");
String result=null;
Map session=invocation.getInvocationContext().getSession();
if(session.get("username")==null)
{
result="login";
}
else
{
result=invocation.invoke();
//System.out.println("invoke complete");
}
System.out.println("checkuser end");
return result;
}
}
struts.xml
<struts>
<package name="struts2" extends="struts-default">
<interceptors>
<interceptor name="checkuserinterceptor" class="com.accp.interceptor.CheckUserInterceptor"></interceptor>
<interceptor-stack name="checkuser">
<interceptor-ref name="checkuserinterceptor"></interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
</interceptor-stack>
</interceptors>
<global-results>
<result name="login">/login.jsp</result>
</global-results>
<action name="login" class="com.accp.action.user.LoginAction">
<result name="success" type="redirect">showalluser.action</result>
<result name="input">/login.jsp</result>
</action>
<action name="showalluser" class="com.accp.action.user.ShowAllUserAction">
<result name="success" >showalluser.jsp</result>
<result name="input">login.jsp</result>
<interceptor-ref name="checkuser"></interceptor-ref>
</action>
</package>
</struts>
Action:
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String userpassword;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpassword() {
return userpassword;
}
public void setUserpassword(String userpassword) {
this.userpassword = userpassword;
}
@SuppressWarnings("unchecked")
@Override
public String execute() throws Exception {
if("wang".equals(username) && "123".equals(userpassword) )
{
Map session=ActionContext.getContext().getSession();
session.put("username", username);
return "success";
}
return "input";
}
}
jsp:
<s:form action="login" method="post">
<s:textfield name="username" label="用户名"></s:textfield>
<s:textfield name="userpassword" label="密码"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>