Struts的核心类

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实现了SunModel2架构,这个控制器可以用来管理jsp页面和其他表现设备之间的流程.Struts通过使用ActionForwardActionMapping来保证表现层之外的控制流决策来实现MVC层模式.JSP可以引用一个逻辑目标.控制器组建在运行时提供准确的URI.

    Struts 的核心类:

    ActonForward   :     用户指向或视图选择

    ActionForm   :       状态改变的数据

    ActionMapping  :     状态改变事件

    ActionServlet    :     控制器,接受用户请求和状态改变,以及发出视图选择

    Action          :     控制器的一部分,与模型交互,执行状态改变或状态查询,以及告诉ActionServlet下一个选择的视图

    

   Struts配置文件:

    ApplicationRwsources.properties  :  存储本地化信息和标签,以使应用可以国际化.

    struts-config.xml    :   存储控制器对象的缺省配置,包括模型支持的用户指向,状态改变,状态查询

?/P>

    为了将Struts配置数据暴露给视图,框架以jsp标签的形式提供了大量的助手类,

    struts-html.tld :    扩展HTML FormJSP标记

    struts-bean.tld :    扩展处理JavaBeanJSP标记

    struts-login.tld :    扩展测试属性值的JSP标记

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水寒

感谢打赏,您的支持是我最大的动

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值