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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值