1.ActionServlet类:
是一个前端控制器,将request转发给RequestProcessor来处理。提供了一组能够被Action对象使用的方法:
(1) 动态的添加和删除,只影响应用程序当前的实例
public void addFormBean(ActionFormBean formBean)
public void removeFormBean(ActionFormBean formBean)
public void addForward(ActionForward actionForward)
public void removeForward(ActionForward actionForward)
public void addMapping(ActionMaping actionMapping)
public void removeMapping(ActionMaping actionMapping)
(2) 根据名称查找对象
public ActionFormBean findFormBean(String name)
public ActionForward findForward(String name)
public ActionMapping findMapping(String name)
(3) 用来处理数据源
public void addDataSource(String key, DataSource ds)
public DataSource findDataSource(String key)
(4) 使用destroy()方法结束ActionServlet
(5) 使用reload()方法从struts配置文件将信息重新加载。
2.ActionMapping类:
ActionMapping类是ActionConfig的子类,实质上是对struts-config.xml的一个映射类,从中可以取得所有的配置信息。将特定请求映射到特定Action的相关信息存储在ActionMapping中,ActionServlet将ActionMapping传送到Action类的perform()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。若没有找到具体的ActionForward,就返回一个null。ActionMapping类的方法:
(1) 可以在映射中动态添加ActionForward
public ActionForward findForward(String name)
(2) 可以返回与映射关联的表单bean
public void addForward(ActionForward forward)
(3) 可以返回映射的属性域(回话或请求)
public String getName()
(4) 可以返回映射的作用域
public String getScope()
3.RequestProcessor类
根据提交过来的url,如*.do从ActionMapping中得到相应的ActionForm和Action,然后将request参数对应到ActionForm中,进行验证。如果验证通过则调用Action的execute()方法来执行Action,最终返回ActionForward。
4.ActionForward类:
是对mapping中一个forward的包装,对应于一个url。
5.Action类:是框架包的核心,链接客户请求和业务操作,真正实现应用程序的事务逻辑,负责处理请求。其方法有:
(1) 所有Action类都扩展org.apache.struts.action.Action类,且覆盖类中定义的一个execute()方法。
处理非HTTP请求:
public ActionForward execute(ActionMapping action, ActionForm form,
ServletRequest request, ServletResponse response)
thorws IOException, ServletException
处理HTTP请求:
public ActionForward execute(ActionMapping action, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
thorws IOException, ServletException
(2) 可以获得或设置与请求相关联的区域:
public Local getLocal(HttpServletRequest request)
public void setLocal(HttpServletRequest request, Local local)
(3) 为应用程序获得消息资源:
public MessageResources getResources()
(4) 检查用户是否点击表单上的“取消”键,如果是,返回true:
public Boolean isCancelled(HttpServletRequest request)
(5) 当应用程序发生错误时,Action类存储错误信息:
public void saveErrors(HttpServletRequest request, ActionErrors errors)
6.DispatchAction类:
Struts提供了多种Action供选择使用。普通的Action只能通过调用execute执行一项任务,而DispatchAction可以根据配置参数执行,而不是仅进入execute()函数,这样可以执行多种任务。如insert,update等。LookupDispatchAction可以根据提交表单按钮的名称来执行函数。
Struts通过提供一个控制器Servlet实现了Sun的Model2架构,这个控制器可以用来管理jsp页面和其他表现设备之间的流程.Struts通过使用ActionForward和ActionMapping来保证表现层之外的控制流决策来实现MVC层模式.JSP可以引用一个逻辑目标.控制器组建在运行时提供准确的URI.
Struts 的核心类:
ActonForward : 用户指向或视图选择
ActionForm : 状态改变的数据
ActionMapping : 状态改变事件
ActionServlet : 控制器,接受用户请求和状态改变,以及发出视图选择
Action : 控制器的一部分,与模型交互,执行状态改变或状态查询,以及告诉ActionServlet下一个选择的视图
Struts配置文件:
ApplicationRwsources.properties : 存储本地化信息和标签,以使应用可以国际化.
struts-config.xml : 存储控制器对象的缺省配置,包括模型支持的用户指向,状态改变,状态查询
?/P>
为了将Struts配置数据暴露给视图,框架以jsp标签的形式提供了大量的助手类,
struts-html.tld : 扩展HTML Form的JSP标记
struts-bean.tld : 扩展处理JavaBean的JSP标记
struts-login.tld : 扩展测试属性值的JSP标记
分享到:
相关推荐
这个"struts核心jar包.zip"文件包含了Struts框架的核心库,这些库文件是开发和运行Struts应用程序所必需的。下面我们将详细探讨Struts框架的一些关键知识点: 1. **ActionServlet**:这是Struts框架的中心控制器,...
1. **`struts2-core.jar`**:这是Struts 2框架的核心库,包含了Action、Result、Interceptor等核心接口和实现类,以及配置解析、请求处理等相关功能。这个jar文件是构建任何基于Struts 2的应用的基础。 2. **`xwork...
1. **Action**:这是Struts2的核心组件,负责处理用户请求。Action接口定义了处理请求的方法,开发者可以自定义Action类,实现特定的业务逻辑。`org.apache.struts2.dispatcher.ng.ExecuteOperations`和`org.apache....
总结,Struts2作为Java web开发的主流框架之一,其核心技术包括Action、Interceptor、Value Stack、OGNL等,通过这些组件和机制,开发者能够高效地构建MVC应用,实现业务逻辑与表现层的分离,同时具备良好的扩展性...
Struts2的核心组件包括Action、Result、Interceptor等,它们协同工作,使得业务逻辑与表现层分离,提高了代码的可重用性和可测试性。 标题中的"struts2核心包"指的是Struts2框架的基础组件,其中包括`struts2-core-...
最新版的Struts2核心开发包提供了该框架的核心组件,旨在简化开发过程并提高效率。下面将详细介绍这些核心包以及它们在Struts2中的作用。 1. **struts2-core-2.3.7.jar**:这是Struts2框架的核心库,包含了框架的...
首先,我们来看`xwork`,它是Struts2的核心组件之一,负责业务逻辑的执行。XWork提供了一种强大的Action机制,允许开发者定义和执行动作,同时支持拦截器(Interceptor)的使用,拦截器可以实现如权限验证、日志记录...
- `struts2-core.jar`:包含Struts2框架的核心类和接口,如ActionSupport、ActionContext等。 - `xwork-core.jar`:Struts2基于XWork框架,该JAR包包含了XWork的核心组件,如对象容器、动态方法调用等。 - `ognl....
Struts2最新版本2.2.1中所设计的核心库文件,包括以下内容: struts2-core-2.2.1.jar:Struts2框架的核心类库。 xwork-core-2.2.1.jar:Xwork核心类库,Struts2在其上构建。 ognl-3.0.jar:对象图导航语言(Object ...
1. **Action类和ActionSupport**: Action是Struts2的核心组件,负责处理用户请求并执行业务逻辑。ActionSupport是Action的基类,提供了默认的行为,如错误处理和国际化支持。 2. **Interceptor(拦截器)**: 拦截器...
1. **Struts2核心库**:struts2-core.jar 是框架的主体部分,它包含了Action、Result、Interceptor等关键组件。Action是处理用户请求的业务逻辑,Result负责渲染响应,Interceptor则是处理请求和响应之间的一系列...
Struts核心API宝典是一本全面深入探讨Struts框架核心组件和技术的参考资料,它旨在帮助开发者熟练掌握这一经典的Java Web开发框架。Struts是Apache软件基金会下的一个项目,以其MVC(模型-视图-控制器)架构模式为...
### Struts2核心配置文件详解 #### 一、概述 Struts2框架是Java Web开发领域内一个重要的轻量级框架,它简化了基于MVC(Model-View-Controller)设计模式的应用程序开发过程。在Struts2框架中,有两个核心配置文件...
在Struts中,`ActionServlet`是关键组件之一,它是Struts框架与Servlet容器之间的桥梁。 **ActionServlet** 是Struts框架的核心控制器,它是一个定制的Servlet,负责处理所有的HTTP请求。当用户发起一个请求时,...
Struts核心组件** - **ActionForm**:它是用户输入数据的载体,通常对应一个表单。Struts会自动将表单提交的数据绑定到ActionForm对象中。 - **Action**:实现了业务逻辑,负责处理请求,一般是一个Java类,每个...
- `struts-core.jar`:包含Struts框架的核心类,如Action、ActionForm、ActionMapping等。 - `struts-tiles.jar`:提供Tiles框架,用于构建复杂的页面布局和模板。 - `struts-bean.jar`和`struts-html.jar`:提供...
这个“struts2核心jar包”包含了Struts2框架的核心组件,使得开发者能够快速搭建应用并实现业务逻辑。 在Struts2的核心jar包中,主要包括以下几个关键组件: 1. **Action类**:它是业务逻辑的载体,负责处理用户的...
1. **Struts核心组件**:Struts框架的核心组件包括ActionServlet、ActionForm、Action、Struts-config.xml配置文件等。ActionServlet作为过滤器,处理所有HTTP请求,ActionForm用于在请求间存储数据,Action类执行...