我的拦截器
package Demo;import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;public enum Lanjie implements Interceptor {
    ;    public void destroy() {
        // TODO Auto-generated method stub
       
    }    public void init() {
        // TODO Auto-generated method stub
       
    }    public String intercept(ActionInvocation invocation) throws Exception {
        // TODO Auto-generated method stub
        System.out.println("logge拦截于:"+ new java.util.Date(System.currentTimeMillis())+"kaishi lanjie action");
        String log=invocation.invoke();//获得逻辑视图
        Thread.sleep(3000);
        System.out.println("logge拦截于"+new java.util.Date(System.currentTimeMillis())+"拦截完毕");
        return log;
    }}
配置文件
<?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="default" namespace="/" extends="struts-default">
<interceptors>
    <interceptor name="Lanjie" class="Demo.Lanjie"/>
    <interceptor-stack name="mystack">
        <interceptor-ref name="Lanjie"/>
        <interceptor-ref name="defaultStack"></interceptor-ref>
    </interceptor-stack>
</interceptors>
<action name="Action" class="Demo.Action" method="execute">
<interceptor-ref name="mystack"/>
<result name="success">/login.jsp</result>
</action>
</package>
</struts>
出的结果是:
2012-9-6 11:42:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts.xml]
2012-9-6 11:42:59 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Unable to find parent packages osgi-default
2012-9-6 11:42:59 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-9-6 11:42:59 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-9-6 11:42:59 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/21  config=null
2012-9-6 11:42:59 org.apache.catalina.startup.Catalina start
信息: Server startup in 2186 ms
*********开始执行Action*********
拦截器没有起作用?????????????????? 

解决方案 »

  1.   

    package Demo;import com.opensymphony.xwork2.ActionSupport;public class Action extends ActionSupport {
    /**
     * 
     */
    private static final long serialVersionUID = 1L; public String execute()throws Exception{
    System.out.println("*********开始执行Action*********");
    return SUCCESS;
    }
    }
      

  2.   

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!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>登陆</title>
    </head>
    <body>
    <form action="Action" method="post">
    姓名:<input type="text" name="username"/><br>
    密码:<input type="password" name="password"/><br/>
    <input type="submit" value="登陆">
    </form>
    </body>
    </html>
      

  3.   

    public enum Lanjie implements Interceptor 
    没试过枚举的,要么你换成class试试吧
      

  4.   

    因为strut2众多功能都是依靠默认的拦截器实现的  可以说默认拦截器是strut2的核心 你要先调用 默认的拦截器  准备一些工作 再调用  自定义的拦截器 这样 才能起效果 
      

  5.   

    Unable to find parent packages osgi-default   这你提示 无法找到osgi-default父包