-- 配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>struts2_deptsystem</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- struts2核心 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> -- 配置applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <!-- - Application context definition for JPetStore's business layer. - Contains bean references to the transaction manager and to the DAOs in - dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation"). --> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.0.110:1521:ites" /> <property name="username" value="scott" /> <property name="password" value="tiger" /> </bean> <!-- 配置hibernate的sessionFactory对象 --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <!-- 数据库方言 -- > <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <property name="configLocation"> <value>classpath:hibernate.cfg.xml</value> </property> </bean> <!-- 配置Action scope="prototype 必须要有,否则会出现页面‘卡死’状态。 Spring默认的是单例模式,每次只能生成一个对象,所以propertype表示生成多个对象。 --> <bean id="deptAction" class="kcit.rj2.deptsystem.action.DeptAction" scope="prototype"> <property name="deptService" ref="deptService" /> </bean> <bean id="empAction" class="kcit.rj2.deptsystem.action.EmpAction" scope="prototype"> <property name="empService" ref="empService" /> <property name="deptService" ref="deptService"/> </bean> <!-- 配置service --> <bean id="deptService" class= "kcit.rj2.deptsystem.service.impl.DeptServiceImpl"> <property name="deptDao" ref="deptDao"/> </bean> <bean id="empService" class= "kcit.rj2.deptsystem.service.impl.EmpServiceImpl"> <property name="empDao" ref="empDao"/> </bean> <!-- 配置Dao --> <bean id="deptDao" class="kcit.rj2.deptsystem.dao.impl.DeptDaoImpl"> <property name="sessionFactory" ref = "sessionFactory"/> </bean> <bean id="empDao" class="kcit.rj2.deptsystem.dao.impl.EmpDaoImpl"> <property name="sessionFactory" ref = "sessionFactory"/> </bean> </beans> -- 配置dept.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="kcit.rj2.deptsystem.bean"> <class name="DeptBean" table="DEPT_TEMP_HWL"> <id name="deptId" type="java.lang.Integer"> <column name="DEPTNO" /> <generator class="native" /> </id> <property name="deptName" type="java.lang.String"> <column name="DNAME" length="14" /> </property> <property name="addr" type="java.lang.String"> <column name="LOC" length="13" /> </property> </class> </hibernate-mapping> -- 配置emp.hbm.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="kcit.rj2.deptsystem.bean"> <class name="EmpBean" table="EMP_TEMP_HWL"> <id name="empId" type="java.lang.Integer"> <column name="EMPNO" /> <generator class="native" /> </id> <property name="empName" type="java.lang.String"> <column name="ENAME" /> </property> <property name="empJob" type="java.lang.String"> <column name="JOB" /> </property> <property name="empMgr" type="java.lang.Integer"> <column name="MGR" /> </property> <property name="empHiredate" type="java.util.Date"> <column name="HIREDATE" /> </property> <property name="empSal" type="java.lang.Integer"> <column name="SAL" /> </property> <property name="empComm" type="java.lang.Integer"> <column name="COMM" /> </property> <many-to-one fetch = "join" name="dept" lazy="false" class="DeptBean" column="DEPTNO"></many-to-one> </class> </hibernate-mapping> -- hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping resource="kcit/rj2/deptsystem/bean/dept.hbm.xml" /> <mapping resource="kcit/rj2/deptsystem/bean/emp.hbm.xml" /> </session-factory> </hibernate-configuration>
deptList.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>deptList</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/530906.jpg) no-repeat fixed; "> <table border='0'> <tr> <td><a href="/struts2_deptsystem/deptview/deptAdd.jsp">添加</a> </tr> <tr> <td>部门ID</td> <td>部门名称</td> <td>部门地址</td> <td>操作</td> </tr> <s:iterator value="list"> <tr> <td><s:property value="deptId" /></td> <td><s:property value="deptName" /></td> <td><s:property value="addr" /></td> <td><a href="dept_toUpdate.action?deptId=<s:property value="deptId" />">修改</a> <a href="dept_delete.action?deptId=<s:property value="deptId" />">删除</a></td> </tr> </s:iterator> </table> </body> </html>
deptAdd.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>deptAdd</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/476362.jpg)"> <s:form action="dept_insert.action" method="post"> <table> <tr> <!-- 显示校验信息 --> <td><span style="color: #ff0000;"><s:fielderror /></span></td> </tr> <tr> <td><s:textfield key="deptId"></s:textfield></td> </tr> <tr> <td><s:textfield key="deptName"></s:textfield></td> </tr> <tr> <td><s:textfield key="addr"></s:textfield></td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form> </body> </html>
deptUpdate.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>deptUpdate</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/476362.jpg)"> <s:form action="dept_alter.action" method="post"> <table> <tr> <!-- 显示校验信息 --> <td><span style="color: #ff0000;"><s:fielderror /></span></td> </tr> <tr> <td><s:textfield key="deptId" name="dept.deptId"></s:textfield></td> </tr> <tr> <td><s:textfield key="deptName" name="dept.deptName"></s:textfield></td> </tr> <tr> <td><s:textfield key="addr" name="dept.addr"></s:textfield></td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form> </body> </html>
empList.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>deptList</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/530906.jpg) no-repeat fixed; "> <table border='0'> <tr> <td><a href="emp_toAdd.action">添加</a> </tr> <tr> <td>员工ID</td> <td>员工名称</td> <td>员工工作</td> <td>经理ID</td> <td>入职日期</td> <td>底薪</td> <td>奖金</td> <td>部门ID</td> <td>操作</td> </tr> <s:iterator value="list"> <tr> <td><s:property value="empId" /></td> <td><s:property value="empName" /></td> <td><s:property value="empJob" /></td> <td><s:property value="empMgr" /></td> <td><s:property value="empHiredate" /></td> <td><s:property value="empSal" /></td> <td><s:property value="empComm" /></td> <td><s:property value="dept.deptId" /></td> <td><a href="emp_toUpdate.action?empId=<s:property value="empId" />">修改</a> <a href="emp_delete.action?empId=<s:property value="empId" />">删除</a></td> </tr> </s:iterator> </table> </body> </html>
empAdd.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>empAdd</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/476362.jpg)"> <s:form action="emp_insert.action" method="post"> <table> <tr><!-- 显示校验信息 --> <td><span style="color: #ff0000;"><s:fielderror /></span></td> </tr> <tr> <td><s:textfield key="empId" ></s:textfield></td> </tr> <tr> <td><s:textfield key="empName"></s:textfield></td> </tr> <tr> <td><s:textfield key="empJob"></s:textfield></td> </tr> <tr> <td><s:textfield key="empMgr"></s:textfield></td> </tr> <tr> <td><s:textfield key="empSal"></s:textfield></td> </tr> <tr> <td><s:textfield key="empComm"></s:textfield></td> </tr> <tr> <td><select name="dept"> <s:iterator value="deptList" > <option value="<s:property value="deptId" />"><s:property value="deptName" /> </s:iterator> </select></td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form> </body> </html>
empUpdate.jsp
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>empUpdate</title> </head> <body style="background:url(${pageContext.request.contextPath}/framework/image/476362.jpg)"> <s:form action="emp_alter.action" method="post"> <table> <tr><!-- 显示校验信息 --> <td><span style="color: #ff0000;"><s:fielderror /></span></td> </tr> <tr> <td><s:textfield key="empId" name="emp.empId"></s:textfield></td> </tr> <tr> <td><s:textfield key="empName" name="emp.empName"></s:textfield></td> </tr> <tr> <td><s:textfield key="empJob" name="emp.empJob"></s:textfield></td> </tr> <tr> <td><s:textfield key="empMgr" name="emp.empMgr"></s:textfield></td> </tr> <tr> <td><s:textfield key="empSal" name="emp.empSal"></s:textfield></td> </tr> <tr> <td><s:textfield key="empComm" name="emp.empComm"></s:textfield></td> </tr> <tr> <td><select name="dept"> <s:iterator value="deptList" > <option value="<s:property value="deptId" />"><s:property value="deptName" /> </s:iterator> </select></td> </tr> <tr> <td><s:submit value="提交" /></td> </tr> </table> </s:form> </body> </html>
相应Action类
DeptAction.java
package kcit.rj2.deptsystem.action; import java.util.ArrayList; import java.util.List; import kcit.rj2.deptsystem.bean.DeptBean; import kcit.rj2.deptsystem.service.IDeptService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class DeptAction extends ActionSupport implements ModelDriven<DeptBean> { private static final long serialVersionUID = 1L; private DeptBean dept = new DeptBean(); public DeptBean getDept() { return dept; } public void setDept(DeptBean dept) { this.dept = dept; } private List<DeptBean> list = new ArrayList<DeptBean>(); public List<DeptBean> getList() { return list; } public void setList(List<DeptBean> list) { this.list = list; } private IDeptService<DeptBean> deptService; public IDeptService<DeptBean> getDeptService() { return deptService; } public void setDeptService(IDeptService<DeptBean> deptService) { this.deptService = deptService; } @Override public DeptBean getModel() { return dept; } public String insert() { deptService.add(dept); return query(); } public String query() { list = deptService.list(); return "deptList"; } public String toUpdate() { dept = deptService.queryByCondition(dept); return "deptUpdate"; } public String alter() { deptService.update(dept); return query(); } public String delete() { deptService.del(dept); return query(); } public void validateAlter() { if(dept.getDeptId() == null){ addFieldError("deptId","内容不能为空"); }else if("".equals(dept.getDeptName().trim()) || dept.getDeptName() == null){ addFieldError("deptName", "内容不能为空"); }else if("".equals(dept.getAddr()) || dept.getAddr() == null){ addFieldError("addr", "内容不能为空"); } } public void validateInsert() { if(dept.getDeptId() == null){ addFieldError("deptId","内容不能为空"); }else if("".equals(dept.getDeptName().trim()) || dept.getDeptName() == null){ addFieldError("deptName", "内容不能为空"); }else if("".equals(dept.getAddr()) || dept.getAddr() == null){ addFieldError("addr", "内容不能为空"); } } }
EmpAction.java
package kcit.rj2.deptsystem.action; import java.util.ArrayList; import java.util.Date; import java.util.List; import kcit.rj2.deptsystem.bean.DeptBean; import kcit.rj2.deptsystem.bean.EmpBean; import kcit.rj2.deptsystem.service.IDeptService; import kcit.rj2.deptsystem.service.IEmpService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class EmpAction extends ActionSupport implements ModelDriven<EmpBean>{ private static final long serialVersionUID = 1L; private EmpBean emp = new EmpBean(); private List<EmpBean> list = new ArrayList<EmpBean>(); private List<DeptBean> deptList = new ArrayList<DeptBean>(); private IEmpService<EmpBean> empService; private IDeptService<DeptBean> deptService; public EmpBean getEmp() { return emp; } public void setEmp(EmpBean emp) { this.emp = emp; } public List<EmpBean> getList() { return list; } public void setList(List<EmpBean> list) { this.list = list; } public List<DeptBean> getDeptList() { return deptList; } public void setDeptList(List<DeptBean> deptList) { this.deptList = deptList; } public IEmpService<EmpBean> getEmpService() { return empService; } public void setEmpService(IEmpService<EmpBean> empService) { this.empService = empService; } public IDeptService<DeptBean> getDeptService() { return deptService; } public void setDeptService(IDeptService<DeptBean> deptService) { this.deptService = deptService; } @Override public EmpBean getModel() { return emp; } public String query(){ list = empService.list(); return "empList"; } public String toAdd(){ deptList = deptService.list(); return "empAdd"; } public String insert(){ emp.setEmpHiredate(new Date()); empService.add(emp); return query(); } public String toUpdate(){ deptList = deptService.list(); emp = empService.queryByCondition(emp); return "empUpdate"; } public String alter(){ empService.update(emp); return query(); } public String delete(){ empService.del(emp); return query(); } public void validateAlter() { if(emp.getEmpId() == null){ addFieldError("empId","内容不能为空"); }else if(emp.getEmpComm() == null){ addFieldError("empComm","内容不能为空"); }else if(emp.getEmpHiredate() == null){ addFieldError("empHiredate","内容不能为空"); }else if("".equals(emp.getEmpJob().trim()) || emp.getEmpJob() == null){ addFieldError("empJob","内容不能为空"); }else if(emp.getEmpMgr() == null){ addFieldError("empMgr","内容不能为空"); }else if(emp.getEmpName() == null || "".equals(emp.getEmpName().trim())){ addFieldError("empName","内容不能为空"); }else if(emp.getEmpSal() == null){ addFieldError("empSal","内容不能为空"); } } public void validateInsert() { if(emp.getEmpId() == null){ addFieldError("empId","内容不能为空"); }else if(emp.getEmpComm() == null){ addFieldError("empComm","内容不能为空"); }else if(emp.getEmpHiredate() == null){ addFieldError("empHiredate","内容不能为空"); }else if("".equals(emp.getEmpJob().trim()) || emp.getEmpJob() == null){ addFieldError("empJob","内容不能为空"); }else if(emp.getEmpMgr() == null){ addFieldError("empMgr","内容不能为空"); }else if(emp.getEmpName() == null || "".equals(emp.getEmpName().trim())){ addFieldError("empName","内容不能为空"); }else if(emp.getEmpSal() == null){ addFieldError("empSal","内容不能为空"); } } }
相应的bean类
DeptBean.java
package kcit.rj2.deptsystem.bean; public class DeptBean { private Integer deptId; private String deptName; private String addr; public Integer getDeptId() { return deptId; } public void setDeptId(Integer deptId) { this.deptId = deptId; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } @Override public String toString() { return "DeptBean [deptId=" + deptId + ", deptName=" + deptName + ", addr=" + addr + "]"; } }
EmpBean.java
package kcit.rj2.deptsystem.bean; import java.util.Date; public class EmpBean { private Integer empId; private String empName; private String empJob; private Integer empMgr; private Date empHiredate; private Integer empSal; private Integer empComm; private DeptBean dept = new DeptBean(); public Integer getEmpId() { return empId; } public void setEmpId(Integer empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public String getEmpJob() { return empJob; } public void setEmpJob(String empJob) { this.empJob = empJob; } public Integer getEmpMgr() { return empMgr; } public void setEmpMgr(Integer empMgr) { this.empMgr = empMgr; } public Date getEmpHiredate() { return empHiredate; } public void setEmpHiredate(Date empHiredate) { this.empHiredate = empHiredate; } public Integer getEmpSal() { return empSal; } public void setEmpSal(Integer empSal) { this.empSal = empSal; } public Integer getEmpComm() { return empComm; } public void setEmpComm(Integer empComm) { this.empComm = empComm; } public DeptBean getDept() { return dept; } public void setDept(DeptBean dept) { this.dept = dept; } @Override public String toString() { return "EmpBean [empId=" + empId + ", empName=" + empName + ", empJob=" + empJob + ", empMgr=" + empMgr + ", empHiredate=" + empHiredate + ", empSal=" + empSal + ", empComm=" + empComm + ", dept=" + dept + "]"; } }
关联struts.xml
配置dept.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="dept" namespace="/" extends="struts-default"> <action name="dept_*" method="{1}" class="deptAction"> <result name="deptList">/deptview/DeptList.jsp</result> <result name="deptUpdate">/deptview/deptUpdate.jsp</result> <result name="input">/deptview/deptAdd.jsp</result> </action> </package> </struts>
配置emp.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="emp" namespace="/" extends="struts-default"> <action name="emp_*" method="{1}" class="empAction"> <result name="empUpdate">/empview/empUpdate.jsp</result> <result name="empList">/empview/empList.jsp</result> <result name="empAdd">/empview/empAdd.jsp</result> <!-- --> <result name="input">/empview/empAdd.jsp</result> </action> </package> </struts>
配置struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="message"></constant> <package name="login" namespace="/" extends="struts-default"> <interceptors> <!—自定义拦截器 --> <interceptor name="myInterceptor" class="kcit.rj2.deptsystem.interceptors.LoginInterceptor"/> <interceptor-stack name="myInterceptorStack"> <interceptor-ref name="myInterceptor"></interceptor-ref> <!— 必须引入struts2默认的拦截器,否则无法得到表单提交的数据。 --> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <action name="login_*" method="{1}" class="loginAction"> <interceptor-ref name="myInterceptorStack"></interceptor-ref> <result name="framework">/framework/framework.jsp</result> <result name="login">/framework/login.jsp</result> </action> </package> <include file="dept.xml" /> <include file="emp.xml" /> </struts>
LoginInterceptor.java
package kcit.rj2.deptsystem.interceptors; import javax.servlet.http.HttpServletRequest; import kcit.rj2.deptsystem.tools.GetIPTools; import kcit.rj2.deptsystem.tools.GetMACTools; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class LoginInterceptor extends AbstractInterceptor{ private static final long serialVersionUID = 1L; private String ip ; private String mac; public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getMac() { return mac; } public void setMac(String mac) { this.mac = mac; } @Override public String intercept(ActionInvocation arg0) throws Exception { HttpServletRequest req = ServletActionContext.getRequest(); ip = GetIPTools.getIpAddr(req); mac = GetMACTools.getWindows7MACAddress(); if(ip.equals("127.0.0.1")&& mac.equals("94de800762a4")){ arg0.invoke(); return "framework"; } return "login"; } }