Struts2入门:Action的多请求处理与动态方法调用

需积分: 0 2 下载量 184 浏览量 更新于2024-08-23 收藏 717KB PPT 举报
"能处理多个请求的Action-struts课件" 在Struts框架中,Action是核心组件之一,它负责处理来自客户端的请求,并通过业务逻辑处理后返回响应。本课件主要介绍了如何使一个Action能处理多个请求,具体包括两种方法。 1. 定义多个方法: 在Action类中,可以定义多个与execute方法签名相同但方法名不同的方法。当用户发送请求时,通过特定的命名规则来调用这些方法。例如,如果有一个名为`MyAction`的类,其中包含`doLogin()`和`doRegister()`方法,用户可以通过`MyAction!doLogin.action`和`MyAction!doRegister.action`来分别触发这两个方法。 2. 使用动态方法调用(Dynamic Method Invocation,DMI): Struts2允许使用星号(*)作为通配符来实现动态方法调用。在配置文件中,可以这样设置一个action: ```xml <action name="second*" class="com.aptech.action.SecondAction" method="{1}"></action> ``` 这样的配置意味着,任何以`second`开头的请求都会被路由到`SecondAction`类,并尝试调用与请求剩余部分匹配的方法。例如,`secondlogin.action`会调用`SecondAction`的`login()`方法,而`secondregister.action`会调用`register()`方法。 Struts2框架是基于Model-View-Controller (MVC)架构模式设计的,它的目标是提供一种优雅的方式来实现控制器功能,并集成如国际化、类型转换、数据验证以及Ajax支持等特性。Struts2是在XWork框架的基础上发展起来的,结合了XWork的先进解决方案和Struts的知名度,形成了现在的Struts2。 Struts2具有以下几个显著特点: - **无需与ServletAPI整合**:使得测试更加方便。 - **优雅的请求参数封装**:Struts2能够自动将请求参数映射到Action类的属性。 - **灵活的视图技术**:支持FreeMarker、Velocity等视图技术。 - **丰富的表达式语言OGNL**:OGNL(Object-Graph Navigation Language)允许在Action和视图之间传递复杂的数据。 - **机动、灵活、简单的配置**:Struts2的配置文件可以灵活地配置Action及其行为。 - **线程安全的控制器**:每个HTTP请求都对应一个独立的Action实例,确保线程安全性。 - **强大的插件系统**:提供了许多插件来扩展框架功能。 为了使用Struts2,需要进行环境搭建,包括将Struts2相关的库文件复制到项目的lib目录下,配置DTD文件(如果使用的是较旧版本的IDE),以及在`web.xml`中配置Struts2的核心过滤器`StrutsPrepareAndExecuteFilter`。 通过以上步骤,开发者可以创建一个能处理多种请求的Action,从而更好地管理应用中的各种操作,提高代码的可维护性和灵活性。Struts2的这一特性使得它成为Java Web开发中的一个强大工具。