struts1的学习笔记

Struts的主要包有:

Commons-digester-1.7.jar:它基于规则的xml文档解释,主要用于xml到Java对象的映射,简而言之它是解释xml的包。

Commons-beantils-1.7.jar:提供Java反射和自身API的包装,主要用于帮助开发者获取或设置JavaBean属性。

Commons-logging-1.0.4.jar:日志包

Commons-validator.jar:Struts的数据效验包。

Struts的组件:

1、  actionServlet:所有程序的入口截获所有用户的请求(Struts的核心)

2、  actionMapping:对用户进行映射

3、  actiomForward:转发(用来指示操作转移的对象)

4、  actionErrors:用来存储和回收错误

5、  actionCalss:包含事务逻辑

6、  actionForm:封装数据

标签库

Action:业务逻辑的一个包装,用途是将HttpServletRequest转发为业务逻辑

配置文件Struts-config.xml的局部转发和全局转发的配置:

<action-mappings>(局部转发)

       <action path=”/login” type=”包名.类名” name=”LoginForm”/>

       <forward name=”loginsucceed” path=”/loginSucceed.jsp”/>

       <forward name=”loginfilure” path=”/loginFailure.jsp”/>

</action-mapping>

<global-forwards>(全局转发)

       <forward name=”loginsucceed” path=”/loginSucceed.jsp”/>

       <forward name=”loginfailure” path=”/loginFailure.jsp”/>

</global-forwards>

全局转发表示所有的Action的path都可以访问,当局部转发与全局转发的name相同时,它只访问局部转发的页面。

Struts的数据效验有两种方式:

1、  写一个继承ActionForm的类实现validate()方法,把错误信息放进ActionErrors里。

2、  配置一个validate.xml文件进行效验

<form-validation>

       <formset>

              <form name=”NewForm”>此name要跟Form-bean的name相同

                     <field property=”username” depends=”required”>

                            <arg key=”error.login.username” resource=”true”/>

                     </field>

                     <field property=”password” depends=”required”>

                            <arg key=”error.login.username” resource=”true”/>

                     </field>

              </form>

       </fromset>

</form-validate>

Struts的工作流程

1、  检索和用户请求匹配的ActionMapping实例,如果存在,就返回用户请求路径无效的信息

2、  如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中

3、  根据配置信息决定是否需要表单验证,如果需要验证,就调用ActionForm的validate()方法或者通过配置文件validate.xml进行配置

4、  如果ActionForm的validate()方法饭胡null或返回一个不包含ActionMassage的ActionErrors对象,如是配置文件就要通过配置来来实现

5、  ActionServlet根据ActionMapping实例包含的映射信息决定请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的excute()方法

6、  Action的excute()方法返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward 对象指向的JSP组件

7、  ActionForward对象指向的JSP组件生成动态网页,返回给客户



迭代标签以及一些判断标签等的学习

<logic:iterate>

<logic:write>

<logic:empty>

你可能感兴趣的:(xml,jsp,工作,bean,struts)