`
rain2005
  • 浏览: 14745 次
  • 来自: 武汉->大连->武汉
文章分类
社区版块
存档分类
最新评论

struts2 in action学习笔记

    博客分类:
  • java
阅读更多
Struts2 Action职责
  • 1.处理实际的业务逻辑,这一点与Struts1.x Action作用相同
  • 2.数据转换,自动处理从request里面提取的请求参数。实际上依赖interceptor实现
  • 3.请求转发,跳转到试图

Struts 2 packages
it’ll organize your actions and  other components into logical containers called packages
Struts2 package 和java包相似,都是按照功能或者业务领域把类分组。同时Struts2 package提供了继承机制。
<package name="chapterThreeSecure" namespace="/chapterThree/secure"
extends="struts-default">
<action name="AdminPortfolio" >
<result>/chapterThree/AdminPortfolio.jsp</result>
</action>
<action name="AddImage" >
<result>/chapterThree/ImageAdded.jsp</result>
</action>
<action name="RemoveImage" >
<result>/chapterThree/ImageRemoved.jsp</result>
</action>
</package>


ValueStack
The Value-Stack holds a stack of objects. These objects all have properties. The magic of the  ValueStack is that all the properties of these objects appear as properties of the   ValueStack itself.
Struts Action被放在ValueStack中,所以所有Action的实例变量都是ValueStack的properties。ValueStack中的所有properties都被暴露给当前request.

ActionContext
ActionContext中包含session,request,application以及ValueStack中的数据。ActionContext相当于一个大的map。我们可以在页面中通过struts标签通过OGNL表达式访问ActionContext中的对象。

OGNL
OGNL expression必须选择一个Root Object作为访问起点,在Struts2中,ValueStack就是这个Root Object。

再论ValueStack
当Struts2接受一个请求时,它迅速创建ActionContext,ValueStack,action object。然后action被存到ValueStack,所以action的实例变量可以被OGNL访问。

Interceptors
ActionInvocation包装了Action执行的详细信息。ActionInvocation持有Action所有的拦截器引用。
public String intercept(ActionInvocation invocation) throws Exception {
long startTime = System.currentTimeMillis();
String result = invocation.invoke();
long executionTime = System.currentTimeMillis() - startTime;
... log the time ...
return result;
}

<package name="chapterFourSecure" namespace="/chapterFour/secure"
extends="struts-default">
<interceptors>
<interceptor name="authenticationInterceptor"
class="manning.utils.AuthenticationInterceptor"/>
<interceptor-stack name="secureStack">
<interceptor-ref name="authenticationInterceptor"/>
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="secureStack"/>
. . .
</package>
分享到:
评论

相关推荐

    Struts2_Action学习笔记、通配符{1},{2}

    ### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    Struts2超详细学习笔记分享(献给自学新人)

    本篇超详细学习笔记将带你逐步深入理解Struts2的核心概念和运作机制。 首先,让我们了解Struts2的基本特性。Struts2是一个基于Servlet的框架,它通过将JSP作为视图(View),Servlet作为控制器(Controller),并将...

    struts2学习笔记(完美总结)——转自OPEN经验库

    本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与ValueStack、Tags以及项目中的关键实践。 **一、Action** Action是Struts2中处理业务逻辑的核心组件,它是实现了`...

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    马士兵struts2课程的学习笔记

    Struts2是一个流行的Java Web应用程序框架,用于构建...以上就是Struts2课程学习笔记中的主要知识点,涵盖了从基础配置到高级特性的多个方面。理解和掌握这些内容,有助于深入学习和使用Struts2框架进行Java Web开发。

    struts2学习笔记

    Struts2是一个强大的MVC(Model-...Struts2的核心配置文件是`struts.xml`,它负责定义Action、拦截器栈、结果类型、包配置等。在这个文件中,你可以声明你的Action类,定义它们对应的方法以及结果页面。例如: ```xml ...

    struts2详细学习笔记

    总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为。此外,还需了解Action、Interceptor(拦截器)的概念,以及结果类型、异常处理、国际化支持等内容。熟练掌握...

    struts2 学习笔记 实战

    本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace Namespace在Struts2中主要用于组织和隔离Action,它决定了Action的访问路径。默认情况下,Namespace为...

    struts2教程-学习笔记.zip

    这个"struts2教程-学习笔记.zip"压缩包包含了关于Struts2的基础到高级的学习资源,帮助开发者深入理解并掌握该框架。 首先,"struts2教程.chm"可能是一个包含详细教程的Windows帮助文档,涵盖了Struts2的基础概念,...

    struts2框架学习笔记整理

    ### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

Global site tag (gtag.js) - Google Analytics