概述
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>
最后
以上就是义气超短裙为你收集整理的struts1的学习笔记的全部内容,希望文章能够帮你解决struts1的学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复