1. 程式人生 > >Struts2中的攔截器入門

Struts2中的攔截器入門

1。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>
    <package name="default" namespace="/" extends="struts-default">


        <interceptors
>
<interceptor name="my" class="cn.itcast.intercept.MyInterceptor"/> </interceptors> <action name="demo1" class="cn.itcast.action.Demo1Action"> <result name="login">/login.jsp</result> <interceptor-ref name="my" />
</action> </package> </struts>

2。定義的攔截器MyInterceptor.java檔案:

package cn.itcast.intercept;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;

public class MyInterceptor implements
Interceptor {
public void destroy() { } public void init() { System.out.println("my interceptor init"); } public String intercept(ActionInvocation ai) throws Exception { System.out.println("my interceptor 攔截。。。。。"); return ai.invoke(); // 放行 } }

3。動作類Demo1Action.java 檔案:

package cn.itcast.action;

import com.opensymphony.xwork2.ActionSupport;

public class Demo1Action extends ActionSupport {

    @Override
    public String execute() throws Exception {

        System.out.println("demo1 action");
        return "login";
    }

    public String a() throws Exception {

        System.out.println("a action");
        return null;
    }
}

4。檢視login.jsp檔案:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'index.jsp' starting page</title>

</head>

<body>
        <s:fielderror/>
        <s:actionerror/>        
    <form action="${pageContext.request.contextPath}/login" method="post">
        username:<input type="text" name=username><br>
        password:<input type="password" name="password"><br>
        <input type="submit" value="login">
    </form>
</body>
</html>