`
leisure
  • 浏览: 26450 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

struts2源码阅读一

    博客分类:
  • Java
阅读更多
   看了下struts2的访问拦截器的机制,自己写了段类似的代码
public interface Test {
    public String test(TestInvocation invocation);
}
public class Test1 implements Test {

	@Override
	public String test(TestInvocation invocation) {
		// TODO Auto-generated method stub
          System.out.println("hello!in test1");
          return invocation.invoke();
	}

}

public class Test2 implements Test {

	@Override
	public String test(TestInvocation invocation) {
		// TODO Auto-generated method stub
        System.out.println("hello in test2");
        return invocation.invoke();
	}

}

Test接口         对应struts2中的Interceptor接口.
TestInvocation 对应struts2中的ActionInvocation
public class DefaultInvocation implements TestInvocation{
    public Iterator interceptors;
    public String result;
	public String invoke() {
		// TODO Auto-generated method stub
		if(interceptors.hasNext()){
			Test test=(Test)interceptors.next();
			result=test.test(this);
			
		}
		else
			return "end";
		return null;
	}
	public void init(){
		Test t1=new Test1();
		Test t2=new Test2();
		List<Test> tlist=new ArrayList<Test>();
		tlist.add(t1);
		tlist.add(t2);
		interceptors=tlist.iterator();
	}
	
	public static void main(String[] args){
		DefaultInvocation inc=new DefaultInvocation();
		inc.init();
		inc.invoke();
	}
    
}


更详细的一篇
http://blog.csdn.net/leisure55/archive/2009/08/05/4410387.aspx
分享到:
评论

相关推荐

    struts2源代码 struts2源代码

    struts2源代码 正宗的 源码struts2源代码 正宗的 源码struts2源代码 正宗的 源码struts2源代码 正宗的 源码

    Struts2源码阅读

    通过阅读Struts2的源码,我们可以深入了解框架如何处理请求、如何调度Action以及如何应用拦截器来扩展功能。这有助于开发者更好地定制和优化他们的应用程序,提高代码质量和性能。在实际开发中,对源码的理解能帮助...

    struts2.3.4源代码

    尽管描述中提到不包含XWork源代码,但XWork是Struts2的基础,它处理Action的执行和异常管理。 在Struts2.3.4源代码中,我们可以深入理解以下关键知识点: 1. **FilterDispatcher**: 这是Struts2框架的入口点,负责...

    struts2源代码分析

    在分析Struts2的源代码之前,你需要首先获取Struts2的源代码,可以通过访问http://www.opensymphony.com/xwork/download.action下载XWork的源码,因为它构成了Struts2的核心。下载的源代码压缩包名为struts-2.1.0-...

    Struts2源代码项目

    总的来说,这个"Struts2源代码项目"提供了一个深入学习和研究Struts2框架的机会。通过查看和分析源代码,你可以理解Struts2的拦截器机制、Action调度、结果渲染等核心概念,同时也能了解到如何在实际项目中配置和...

    Struts2框架源码

    在MyEclipse9中,你可以导入这些源码,通过调试和阅读代码,理解Struts2的工作原理。对于初学者来说,这是一条深入理解MVC框架的好途径。你可以逐步分析Action类如何被调用,拦截器如何影响Action的执行流程,以及...

    struts2 项目源代码

    这个"北大青鸟 struts2 项目源代码"是学习和理解Struts2框架的一个实用资源,尤其适合初学者和开发者深入研究。 在Struts2框架中,核心组件包括Action、Result、Interceptor(拦截器)、配置文件等。Action是业务...

    struts1源代码

    在Struts1的源代码中,`org`目录通常是框架的核心组件包,包含了许多关键类和接口。以下是一些重要的知识点: 1. **ActionServlet**:这是Struts1的主控制器,是Servlet的子类,负责处理HTTP请求并调用相应的Action...

    struts1.3.10源代码

    在Struts 1.3.10的源代码中,我们可以关注以下几个核心组件和知识点: 1. **ActionServlet**:这是Struts的核心控制器,负责处理来自客户端的HTTP请求。它实现了Servlet接口,并在web.xml中被配置为过滤所有与...

    struts2 源码分析

    从 org.apache.struts2.dispatcher.FilterDispatcher 开始 Java 代码阅读,我们可以看到 FilterDispatcher 的 init 方法,它负责初始化 Dispatcher 对象,并创建了一个 ActionMapper 实例,以便对请求进行处理。...

    struts2教程源代码

    在"struts2教程源代码"中,你可以找到一系列用于学习和实践Struts2框架的实例。这些源代码是针对初学者设计的,旨在帮助理解如何在实际应用中运用Struts2的核心概念和特性。"strut2课程源代码第一天及说明"可能包含...

    JAVAEE源代码以及struts2源代码

    JavaEE源代码与Struts2源代码是JavaWeb开发中的重要组成部分,对于深入理解Web应用程序的构建和运行机制至关重要。JavaEE(Java Platform, Enterprise Edition)是Java平台的一个版本,专为开发和部署企业级应用而...

    Struts2源码分析

    Struts2是一个流行的Java web应用程序框架,它源自Struts1.x和WebWork的结合,具有稳定性和高性能。在深入理解Struts2的工作原理时,源码分析是必不可少的步骤。Struts2的核心设计理念和设计模式相比Struts1.x有了...

    struts2源码分析

    struts2源码详细解析51CTO下载-struts2源代码分析(个人觉得非常经典)

    struts2 源码解读

    通过阅读源码,我们可以了解到Struts2如何处理Action的请求映射、拦截器的执行逻辑、结果的渲染等细节。此外,还可以深入到动态方法调用、类型转换、异常处理等方面,这些都是Struts2处理请求和响应时的重要环节。 ...

    struts2文件上传下载源代码

    这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`...

    最新Struts2开源实例代码以及Struts2源码

    这份"最新Struts2开源实例代码以及Struts2源码"包含了Struts2框架的最新版本2.3.12的应用示例和源码,对于深入理解Struts2的工作机制和开发实践非常有帮助。 首先,我们来看`struts-2.3.12-apps.gz`,这个文件很...

    struts2 源码

    深入学习Struts2的源码,有助于理解其运行机制,从而更好地优化代码、调试问题,甚至开发自己的扩展。对于Java Web开发者来说,掌握Struts2的基本原理和使用技巧,能够显著提高开发效率和应用质量。

Global site tag (gtag.js) - Google Analytics