• Struts1框架学习笔记


    类实现DispatchAction  类似于ActionServlet
     
    ActionServlet 来自于 org.apache.struts.action 包,它继承自 HttpServlet,作为 Struts 的 Ser
    vlet 控制器,是 Struts 框架控制器的核心。
     
    ActionForm对象
    ActionForm 是 Struts 框架中的一个重要组成部分,它保存 request 参数。 ActionForm 从本
    质上讲,就是一个 JavaBean,这些 Bean 有与 HTTP request 参数相对应的属性名称,控制器
    根据 struts-config.xml 文件创建 ActionForm Bean 的实例。并根据配置, 把实例传给 Action 类,
    ActionForm Bean 的实例也被称为表单。 ActionForm Bean,必须继承 org.apache.struts.action.
    ActionForm 类。 当 ActionServlet 调用 Action 类时, 它创建生成相应的 ActionForm Bean 实例,
    然后把它传递个 Action 类。 ActionForm Bean 中会包含许多 get/set 方法, set 方法的调用是由
    Struts 框架自动完成的,请求开始处理时, Struts 框架从 request 对象中提取 url 参数,并自动
    使用这些参数为 FormBean 中对应的属性赋值。
     
    Struts框架利用ActionForm对象来临时存放视图页面中的表单数据。例如,一个登录页面会有一个用户名输入框和一个密码输入框,
    以及用来提交 登录请求的按扭。当用户提交登录请求后,Struts将 用户名和密码两个输入域的数据自动填充到相应的ActionForm对象中,
    然后控制层可以从该ActionForm对象中读取用户输入的表单数据,也可 以把来自模型层的数据存放到ActionForm中,然后返回给视图显示。
     
    Action 类
    必须继承 Struts 提供的类 org.apache.action.Action.Actoin 类的目标
    是处理一个请求, Struts 框架为每一个 Action 类只创建一个实例
    ActionServlet 调用 Action 类,并调用 exectue 方法,
    Action 类的 execute 方法声明如下:
    public ActionForward execute(ActionMapping mapping,
    ActionForm actionForm,
    ServletRequest request,
    ServletResponse response
    )
     
    public ActionForward execute(ActionMapping mapping,
    ActionForm actionForm,
    HttpServletRequest request,
    HttpServletResponse response
    )
     
    ActionMapping对象
    对应struts-config.xml中的<action-mappings>中的<action><forward>的元素
     
    Struts1创建
    创建Web Project类型
    选择项目,加入Struts类库
     
     
    实现Struts1的方式
    实现ActionForm、Action。
    配置好Struts-confing.xml。举例说明
     
    <struts-config>
        <form-beans>
            <form-bean name="LoginActionForm" type="com.mybbs.actionform.LoginActionform" />
        </form-beans>
     
        <action-mappings>
            <action input="/jsp/login.jsp" attribute="LoginActionForm"
                name="LoginActionForm" path="/LoginAction" scope="request"
                type="com.mybbs.action.LoginAction">
                <forward name="self" path="/jsp/login.jsp"></forward>
                <forward name="success" path="/jsp/success.jsp"></forward>
                <forward name="error" path="/jsp/error.jsp"></forward>
            </action>
        </action-mappings>
        <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
    </struts-config>
     
     先声明<form-beans>,input指明那个jsp上输入组件填充到ActionForm,attribute和name一致,path指明那个Action接收ActionForm,
    type指明Action的具体路径,forward指明在Action中根据那个关键字跳转。
     
    Web 应用中 Struts 所处 MVC 的位置
     
    Struts 通过配置文件将上面这些组件和对象关联起来一起工作。在 Web.xml 中,应该将 S
    truts 提供的 ActionServlet 配置成一个 Servlet(config属性指定),接着指定 Struts 自身的配置文件 struts-config.x
    ml,这个文件在 Servlet 中被调用解析。
     
    struts-config.xml
    作为 Struts 框架的核心描述符, struts-config.xml 可以说是“一切尽在掌握”。
    它不但描述了 MVC 模型,定义所有视图层和控制层之间的接口( ActionForm),与控制层和模型层的
    接口( Action)进行结合,而且可以定义一些附加组件,如国际化信息的资源配置( Resource
    s)文件,标签库信息以及验证框架等。
     
    控制器组件DispatchAction
    通常,在一个 Action 中只能完成一种业务操作,如果希望在同一个 Action 类中完成一组
    相关的业务操作,可以使用 DispatchAction 类。比如对一个用户对象来说,存在增加、删除、
    修改的操作,一种设计方案是为每种业务操作创建独立的 Action 类,如 addUserAction, del
    UserAction, updateUserAction。尽管这种设计方案是可行的,但是这三个 Action 在执行各自
    的任务中,可能会执行一些相同的操作,比如 addUserAction 和 updateUserAction 都要进行相
    同的数据验证。
    为了减少重复编程,使应用更加便于维护,可以由同一个 Action 类来完成一组相关的业
    务操作, DispatchAction 就提供了这种功能。
     
    ForwardAction 类
     
    在 Web 组件之间通过 ForwardAction 类来进行请求
    转发,可以充分利用 Struts 控制器的预处理请求功能。此外,也可以通过<action>元素的 forward
    属性来实现请求转发。
    例子:<action path=”/login” forward=”/login.jsp” scope=”request” />
     
     
    数据库相关的接口通过
    返回一个通过重用数据库连接来代替重新创建一个数据库连接。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    doc文档生成带目录的pdf文件方法
    Android uses-permission 权限大全
    AndroidManifest.xml配置文件详解 (转)
    解决导入Android例子时“Unable to resolve target 'android-x' ”的错误
    Eclipse导入Android项目的方法(转)
    数据结构与算法问题 AVL二叉平衡树
    TinyXml 与 Rapidxml效率对照
    HDU 1176-免费馅饼(DP_逆推)
    【OpenCV新手教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
    交换机基础
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/8966417.html
Copyright © 2020-2023  润新知