`

struts2拦截器(简单)

阅读更多

1.LoginAction.java

 

package lee;

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("进入execute方法体.........");
  Thread.sleep(1500);
  if(this.getUsername().equals("scott")&&this.getPassword().equals("tiger")){
   return SUCCESS;
  }else{
   return ERROR;
  }
  
 }

}

 

2.SimpleInterceptor.java

 

package lee;

import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
import java.util.*;
public class SimpleInterceptor extends AbstractInterceptor {
    private String name;
    public void setName(String name){
     this.name=name;
    }
   
 public String intercept(ActionInvocation invocation) throws Exception {
     LoginAction action=(LoginAction)invocation.getAction();
     System.out.println(name+"拦截器的动作-----"+"开始执行登录Action的时间为:"+new Date());
     long start=System.currentTimeMillis();
     String result=invocation.invoke();
     System.out.println(name+"拦截器的动作-----"+"执行完登录Action的时间为:"+new Date());
     long end=System.currentTimeMillis();
     System.out.println(name+"拦截器的动作-----"+"执行完该Action的事件为"+(end-start)+"毫秒");
  return result;
 }

}

 

3.struts.xml

 

<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
   <constant name="struts.custom.i18n.resources" value="globalMessages"></constant>
   <constant name="struts.i18n.encoding" value="GBK"></constant>
    <package name="lee" extends="struts-default">
       <interceptors>
         <interceptor name="mysimple" class="lee.SimpleInterceptor">
            <param name="name">简单拦截器</param>
         </interceptor>
       </interceptors>
       <action name="login" class="lee.LoginAction">
          <result name="error">/error.jsp</result>
          <result name="success">/welcome.jsp</result>
       <!-- 拦截器一般配置在result元素之后! -->
       <interceptor-ref name="defaultStack"></interceptor-ref>
       <interceptor-ref name="mysimple">
          <param name="name">改名后的拦截器</param>
       </interceptor-ref>
       </action>
   
    </package>
</struts>

 

4.login.jsp

<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>登录页面</title>
</head>
<body>
<form action="login.action" method="post">
    <table align="center">
    <caption><h3>用户登录</h3></caption>
        <tr>
            <td>用户名:<input type="text" name="username"/></td>
        </tr>
        <tr>
            <td>密&nbsp;&nbsp;码:<input type="text" name="password"/></td>
        </tr>
        <tr align="center">
            <td><input type="submit" value="登录"/><input type="reset" value="重填" /></td>
        </tr>
    </table>
</form>
</body>
</html>

 

4. error.jsp

 

<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
    <head>
        <title>错误页面</title>
    </head>
    <body>
        您不能登录!
    </body>
</html>

 

5.welcome.jsp

 

<%@ page language="java" contentType="text/html; charset=GBK"%>
<html>
    <head>
        <title>成功页面</title>
    </head>
    <body>
        您已经登录!
    </body>
</html>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics