一、自定义的拦截器MyInterceptor
package server;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
public class MyInterceptor extends AbstractInterceptor {
// 拦截action处理的拦截方法
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("action执行之前----------");
final String res = invocation.invoke();
System.out.println("action执行之后----------");
return res;
}
}
二、登录的action LoginAction
package action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;
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;
}
public String execute() throws Exception {
System.out.println("action");
return SUCCESS;
}
}
三、struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="lee" extends="struts-default">
<!-- 定义名为myinter的拦截器 -->
<interceptors>
<interceptor name="myinter" class="server.MyInterceptor" />
</interceptors>
<!-- 定义全局result -->
<global-results>
<result name="login">/index.jsp</result>
</global-results>
<action name="log" class="action.LoginAction">
<result name="success">/welc.jsp</result>
<!-- 拦截器一般放在result之后 -->
<!-- struts2默认拦截器 -->
<!-- <interceptor-ref name="defaultStack"/> -->
<!-- 应用自定义拦截器 -->
<interceptor-ref name="myinter" />
</action>
</package>
</struts>
四、登录页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<s:form action="lee/log">
<s:textfield name="username" label="用户名"/>
<s:textfield name="password" label="密码"/>
<s:submit value="登录"/>
</s:form>
</body>
</html>
五、登录成功页面welc.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'welc.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
welc
</body>
</html>