天天看点

Struts_Gossip学习笔记

为了不侵犯别人的版权,因此我就不提供下载的文件了,大家可以直接去对方网站下载,这本书写得不错,值得推荐。大家可以自己去网上找找看。

<a href="http://www.caterpillar.onlyfun.net/Gossip/index.html">http://www.caterpillar.onlyfun.net/Gossip/index.html</a>

1. Struts核心

1.1. 什么是Struts?

1.2. Struts基本运作流程

Controller: org.apache.struts.action.ActionServlet/ javax.servlet.http.HttpServlet

 理想收客户不会直接请求资源或相关JSP页面,所有的客户请求都必须传送到控制器,由控制器决定转发给哪个对象处理、哪个页面回应。

View: 静态网页、JSP网页、Struts自定义标签。

1.5. ActionMapping: struts-config.xml的&lt;action-mappings&gt;标签用来描述一组ActionMapping对象。客户请求至ActionServlet时,ActionSerlvet查看相应的ActionMapping,ActionMapping回复应该使用哪个Action对象,ActionServlet再将控制转移至Action对象。

1.6. Action: 调用execute()。通常工作包括:验证使用者进程状态;进一步验证表单对象的信息;更新应用程序中对象的状态;处理客户端的请求;返回ActionForward给ActionServlet。

1.7. ActionForm: 是表单的对象化,就是一个JavaBean。表单项目的对应;数据缓存;数据验证;属性转换;程序安全控制。

1.8. ActionError或ActionMessage: 表单的validate()。表示验证不通过的数据,会在JSP页面中进行表示。

1.9. DynaActionForm: 避免为每个表单写代码,在XML中定义,由系统自动生成。但是会造成struts-config.xml过长,系统性能下降。

1.10. Map-backed ActionForm: 由程序代码生成的表单内容。(这个没搞懂用途)

1.11. 协同开发:可以拆分struts-config.xml文件为多个,从而协同开发时不会冲突。

1.12. 异常处理:使用Struts默认的异常处理;使用自定义全局异常处理;为每个Action提供用户自定义异常处理。

1.13. 从ActionServlet到RequestProcessor:可以跟踪或者自定义Controller。

1.14. ForwardAction、IncludeAction、SwitchAction:(这个没搞懂用途)

1.15. 使用DispatchAction类:可以为Action进行函数级别的定义,减少了Action的数量。

1.16. 使用LookupAction类:与DispatchAction一样可以用参数定义Action进行函数级别的定义,还增加了通过value查询对应的函数。(y这个地方还需要再详细描述)

1.17. PlugIn接口:用来扩展ActionServlet功能,使初始化函数不用在代码中固定,只需要在struts-config.xml中定义就可以,Tiles与Validator就是这样扩充的。

2. Struts Tag

2.1 Struts Html Tag快速参考:&lt;html:html/&gt;, &lt;html:base/&gt;, &lt;html:link/&gt;, &lt;html:img/&gt;, &lt;html:errors/&gt;, &lt;html:messages/&gt;, &lt;html:button/&gt;, &lt;html:form/&gt;, &lt;html:submit/&gt;, &lt;html:reset/&gt;, &lt;html:cancel/&gt;, &lt;html:text/&gt;, &lt;html:password/&gt;, &lt;html:hidden/&gt;, &lt;html:textarea/&gt;, &lt;html:radio/&gt;, &lt;html:checkbox/&gt;, &lt;html:multibox/&gt;, &lt;html:select/&gt;, &lt;html:option/&gt;, &lt;html:image/&gt;

2.2. Strtus Bean Tag快速参考:&lt;bean:cookie/&gt;、&lt;bean:header/&gt;、&lt;bean:parameter/&gt;, &lt;bean:page/&gt;, &lt;bean:define/&gt;, &lt;bean:include/&gt;, &lt;bean:message/&gt; &lt;bean:resource/&gt;, &lt;bean:write/&gt;, &lt;bean:struts/&gt;

2.3. Struts Logic Tag快速参考: &lt;logic:equal/&gt;、&lt;logic:notEqual/&gt; &lt;logic:greatEqual/&gt;、&lt;logic:greatThan/&gt; &lt;logic:lessEqual/&gt;、&lt;logic:lessThan/&gt; &lt;logic:match/&gt;、&lt;logic:notMatch/&gt; &lt;logic:present/&gt;、&lt;logic:notPresent/&gt;

3. Validator整合

3.1. Validator简介:减少validator()函数的撰写,以及代码绑定。

需要commons-validator.jar和jakarta-oro.jar两个类库。

以plug-in的方式扩展Struts功能,因此必须在struts-config.xml中定义。

3.2. 客户端验证

3.3. 服务器验证

3.4. 配置文件管理

3.5. 内建验证器

3.6. 自定义验证器

4. Tiles整合

4.1. Tiles简介:是Template Engine,可以使网页布局(Layout)标签与内容分离,提供版面控制机制。

需要commons-beanutils.jar、commons-logging.jar、commons-collections.jar、commons-digester.jar、struts.jar四个类库。

必须在web.xml中定义标签库。

5. 档案上传

学习重点:

struts-config.xml

DTO(Data Transfer Object)

DAO(Data Access Object)