- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[Java] Appfuse 源代码分析
[Java] Appfuse 源代码分析
前面《Appfuse tapestry 小记》中介绍了Appfuse的基本使用和一些小实例,感觉不过瘾~使用这个第一次让我感觉到“轻量”的J2EE框架,的确有一种爱不释手的感觉~所以就索性另写一篇《Appfuse 源代码分析》把这个“轻量级”的强大框架介绍给大家~少说废话,说来就来~
[Appfuse 源代码分析]
以下我们会以标准的ssh框架来说分析,因为这个骨架基本覆盖了现在最主流的j2EE技术(包括Spring2(Acegi)/Struts2/Hibernate3/Sitemesh/Velocity/XFire/DWR等),下面是建立骨架的命令:mvn archetype:create -DarchetypeGroupId=org.appfuse.archetypes -DarchetypeArtifactId=appfuse-basic-struts -DremoteRepositories=/releases -DarchetypeVersion=2.0.2 -DgroupId=com.mycompany.app -DartifactId=myproject
按照《Appfuse tapestry 小记》中介绍的安装步骤安装好源码后,你可以先尝试一下Appfuse的大致功能。Appfuse提供给我们一个最初始的框架,包括用户登录、信息管理、角色管理和一个简单的文件上传功能,以便我们可以更自由的扩展它,当然我建议你在这之前先全面阅读一遍它的代码,这样以后的工作才能更顺手哦~ 下面让我们开始分析代码:
由于我更倾向于用更符合人们接受和思考的顺序记录方式来剖析这个框架,所以下面我拟从配置文件开始,然后进入MVC模式的层次内部,中间穿插介绍事务和安全控制的内容,最后重点分析一些核心代码,希望能有更好的讲解效果~
1. pom.xml web.xml
既然是Maven管理J2EE项目,首先当然是看看pom.xml和web.xml这两个文件了,关于pom.xml就不多做解释,如果有疑问可以看看之前的文章《Maven2 小记》,一般来说我们需要修改pom.xml尾部的datasource的username和password这两个地方,就可以开始安装,当然如何你想为Appfuse加入一些其他的插件或者扩展库可以在这里控制,我们着重分析一下web.xml(主要介绍filter部分) ...(参考/halenabc/archive/2005/10/19/509555.aspx)... ...??? filter??????? filter-namecacheFilter/filter-name??????? filter-classcom.opensymphony.oscache.web.filter.CacheFilter/filter-class??? /filter??? filter??????? filter-nameclickstreamFilter/filter-name??????? filter-classcom.opensymphony.clickstream.ClickstreamFilter/filter-class??? /filter??? !-- 用于区别爬虫和正常的用户流量 --??? filter??????? filter-nameencodingFilter/filter-name??????? filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class??????? init-param??????????? param-nameencoding/param-name??????????? param-valueUTF-8/param-value??????? /init-param??????? init-param??????????? param-nameforceEncoding/param-name??????????? param-valuetrue/param-value??????? /init-param??? /filter??? filter??????? filter-nameexportFilter/filter-name??????? filter-classorg.displaytag.filter.ResponseOverrideFilter/filter-class??? /filter??? !-- 用于表格展示/排列/分页等 --??? filter??
文档评论(0)