SSH-理解struts1的基本类

struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。

一、Struts配置文件:struts-config.xml

1.配置global-forward:添加标签,可以定义全局转发,并不专属于某个action。作用和标签下的标签是一样的。通过创建逻辑名称映射,实现JSP页面的跳转。

<global-forwards>
    <forward name="index" path="/index.jsp"/>
</global-forwards>

2.配置form-beans:添加标签,创建逻辑名称映射ActionForm类。JSP页面表单提交时,通过这些配置文件,将页面数据映射并保存到相应的ActionForm类中。

<form-beans>
    <form-bean name="loginForm" type="com.bjpowernode.struts.LoginActionForm"></form-bean>
</form-beans>

3.配置actionmappings:添加标签,映射Action类,如果Action中用到ActionForm类,那么会将Action和ActionForm类建立关联。添加标签控制转向。

<action-mappings>
    <action path="/login"
            type="com.bjpowernode.struts.LoginAction"
            name="loginForm"
            scope="request"
            >
        <forward name="success" path="/login_success.jsp"></forward>
        <forward name="error" path="/login_error.jsp"></forward>
    </action>
</action-mappings>

二、ActionServlet类
struts框架中的控制器组件。这个类实现了javax.servlet.http.HttpServlet类,是Struts的Controller。
ActionServlet截取用户的Http请求,把请求映射到相应的Action类上。并创建ActionForm类,调用Action的execute()方法,将ActionMapping对象,ActionForm Bean对象,request,response作为参数传递过去。

1.ActionMapping类
通过截取用户请求,在struts-config.xml中映射到特定Action的相关信息存储在ActionMapping中。作为Action类中execute()方法的一个参数。完成调用相应的逻辑处理类后,用ActionMapping的findForward()方法,完成转发。

2.Action类
Action类真正实现了业务逻辑。所有的Action类都继承org.apache.struts.action.Action类。并重写了execute方法。
Action实现了线程安全,保证控制器面对多个用户请求时共享一个实例。

3.ActionForward类
根据Action类的处理的结果,控制器跳转到转向页面。

4.ActionForm类
struts框架中,为表单创建了ActionForm Bean,在struts-config.xml文件中定义bean,并将其与Action关联起来,会将form作为参数传递到Action中。这样Action中可以对其直接处理。

三、错误处理类
struts提供了两个错误类:ActionErrors和ActionError,它们都集成org.apache.struts.action类。ActionErrors保存着ActionError对象的集合。其中每一个都代表了独立的错误信息。

发布了106 篇原创文章 · 获赞 78 · 访问量 29万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章