??xml version="1.0" encoding="utf-8" standalone="yes"?>国产在线一在线二,91网页在线观看,www.亚洲资源http://www.aygfsteel.com/booby325/category/34148.htmlzh-cnSat, 30 Aug 2008 23:22:56 GMTSat, 30 Aug 2008 23:22:56 GMT60J2EE开发之常用开源项目介l?/title><link>http://www.aygfsteel.com/booby325/archive/2008/08/29/225629.html</link><dc:creator>飘?/dc:creator><author>飘?/author><pubDate>Fri, 29 Aug 2008 09:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/booby325/archive/2008/08/29/225629.html</guid><wfw:comment>http://www.aygfsteel.com/booby325/comments/225629.html</wfw:comment><comments>http://www.aygfsteel.com/booby325/archive/2008/08/29/225629.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/booby325/comments/commentRss/225629.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/booby325/services/trackbacks/225629.html</trackback:ping><description><![CDATA[<p>今天看到一文?lt;J2EE开发之常用开源项目介l?>Q许多都是自׃知道。近期打逐个摸烦Q以辑ֈ了解q尽量深入其内部的目的?font face="Arial" size="3"><font style="background-color: #ffcc00"><br /> <br />  J2EE开发之常用开源项目介l?/font> <br /> 原文链接Q?a >http://wlbookwl.javaeye.com/blog/109711</a> <br /> <br /> 主要我所了解的J2EE开发的框架或开源项目做个介l?可以Ҏ需求选用适当的开源组件进行开?主要q是以Spring为核?也ȝ了一些以前web开发常用的开源工具和开源类?br />  <br /> <font style="background-color: #99cc00" color="#ff9900"><strong>1持久?</strong></font><br /> <strong>1)Hibernate</strong><br /> q个不用介绍?用的很频J?用的比较多的是映?包括l承映射和父子表映射<br /> 对于DAO在这里介l个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernateq行了封? 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层ơ逻辑的条件查询可以自q装QueryObject.可以参考它做HibernateDAO.也可以直接利用它<br /> <strong>2) iBATIS</strong><br /> 另一个ORM工具,Apache?没有Hibernate那么集成,自由度比较大</font></p> <font face="Arial" size="3"> <p><br /> <strong><font style="background-color: #99cc00" color="#ff9900">2:SpringMVC</font></strong><br />        原理说明和快速入?<br />        配置文g?<br /> Spring的配|文仉认ؓWEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name?br />        Action分发:<br /> Spring按照配|文件定义的URLQMapping到具体Controllerc,再根据URL里的action= xxx或其他参敎ͼ利用反射调用Controller里对应的ActionҎ?br /> 输入数据l定:<br /> Spring提供Binder 通过名字的一一对应反射l定PojoQ也可以直接从request.getParameter()取数据?br /> 输入数据验证<br /> Sping 提供了Validator接口当然q可以用开源的Commons-Validaor支持最?br /> Interceptor(拦截?<br /> Spring的拦截器提供接口需要自q?在这点不如WebWork做的?全面 <br />        (q里提一下WebWork和Struts的区别最主要的区别在于WebWork在徏立一个Action时是新New一个对象而Struts是SingleMoule所有的都承它的一个Action,所以根据项目需要合适的选择.)</p> <p><br /> <strong><font style="background-color: #99cc00" color="#ff9900">3:View?/font></strong><br /> <strong>1) 标签?JSP2.0/JSTL</strong><br /> ׃Webwork或Spring的标{实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标{中最快的使用h也很?br />  <br /> <strong>2) 富客L:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控g</strong><br /> Dojo主要提供Tree, Tab{富客户端控?可以用其q行辅助客户端开?br /> YahooUI和DOJO一样它有自q一套javascript调试控制?主要支持ajax开发也有很多Tree,Table,Menu{富客户端控?br /> FCKEditor 最行的文本编辑器<br /> Coolest日历控g 目前很多日历控g可用,集成在项目中也比较简?q个只是其中的一?界面不错的说..<br />  <br /> <strong>3) JavaScript:Prototype.js</strong><br /> Prototype.js作ؓjavascript的成功的开源框Ӟ装了很多好用的功能,通过它很Ҏ~写AJAX应用,现在AJAX技术逐渐成熟,框架资源比较丰富,比如YUI,DWR{等,也是因ؓJavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个h认ؓ多用一些成熟的Ajax框架实现无刷新更新页面是不错的选择.<br />  <br /> <strong>4)表格控g:Display Tag ,Extreme Table</strong><br /> q两个的功能差不?都是View层表格的生成,界面也比较相?可以导出Excel,Pdf,对Spring支持很容?<br /> 相比较而言比较推荐ExtremeTable,它的设计很好功能上比DisplayTag多一?支持Ajax,装了一些拦截器,而且最斚w的是在主wiki中有详细的中文用文?<br />  <br /> <strong>5):OSCache</strong><br /> OSCache是OpenSymphonyl织提供的一个J2EE架构中Web应用层的~存技术实现组?Cache是一U用于提高系l响应速度、改善系l运行性能的技术。尤其是在Web应用中,通过~存面的输出结果,可以很显著的改善pȝ的稳定性和q行性能?br /> 它主要用在处理短旉或一定时间内一些数据或面不会发生变化,或将一些不变的l计报表,~冲在内?可以充分的减L务器的压?防治负蝲q,快速重启服务器(通过盘~存).<br />  <br /> <strong>6)SiteMesh</strong><br /> sitemesh应用Decorator模式主要用于提高面的可l护性和复用性,其原理是用Filter截取request和response,把页面组件head,content,bannerl合Z个完整的视图。通常我们都是用include标签在每个jsp面中来不断的包含各Uheader, stylesheet, scripts and footerQ现在,在sitemesh的帮助下Q我们删掉他们轻松达到复合视图模?<br /> Sitemesh也是 OpenSymphony的一个项目现在最q的版本?.2,目前OpenSymphony自从04q就没有更新的版本了..感觉它还是比较有创新的一U页面组装方? OpenSymphony开源组l的代码一般写的比较漂?可以改其源代码对自己的项目进行适配.<br /> 试发现Sitemeshq存在一些问?比如中文问题,它的默认~码是iso-8859-1在用时候需要做一些改?<br />  <br /> <strong>7)CSS,XHTML</strong><br /> q个不用说了,遵@W3C标准的web面开?<br /> <strong> <br /> 8)分页标签: pager-tagliblg</strong><br /> Pager-taglib 是一套分|{ֺQ可以灵zd实现多种不同风格的分导航页面,q且可以很好的与服务器分逻辑分离.使用h也比较简?<br /> <strong> <br /> 9)Form: Jodd Form taglib</strong><br /> Jodd Form taglib使用比较?只要把form的头以<JODD:FORM bean="mybean">包住<br /> ׃自动l定mybean, 自动l定mybean的所有同名属性到普通html标记input, selectbox, checkbox,radiobox.....在这些input框里不用再写M代码…<br />        <br /> <strong>10)Ajax:DWR</strong><br />        J2EE应用最常用的ajax框架<br />        <br /> <strong>11)报表 图表</strong><br /> Eclipse BIRT功能比较强大,也很庞大..好几十M,一般没有特别需求或别的图表设计软g可以解决的不用它<br /> JasperReports+ iReport是一个基于Java的开源报表工P它可以在Java环境下像其它IDE报表工具一h制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文g输出格式。JasperReports是当前Java开发者最常用的报表工兗?br /> JFreeChart主要是用来制作各U各L图表Q这些图表包括:饼图、柱状图(普通柱状图以及堆栈q?、线图、区域图、分布图、؜合图、甘特图以及一些A表盘{等?br />       琴棋报表,国?.重点推荐,适合中国的情?开放源代码Q用完全免贏V纯JAVA开发,适用多种pȝq_。特别适合B/Sl构的系l。官方网站有其优点介l?看来用它q是不错的选择,最重要的是支持国呵呵<br />  <br /> <strong><font style="background-color: #99cc00" color="#ff9900">4:权限控制: Acegi</font></strong><br /> Acegi是Spring Framework 下最成熟的安全系l,它提供了强大灉|的企业安全服务Q如完善的认证和授权机制QHttp资源讉K控制QMethod 调用讉K控制{等,支持CAS<br /> (耉大学的单点登陆技?q个单点登陆Ҏ比较出名.我也q行q配|?可以Ҏ目需?如果用户分布在不同的地方不同的系l通用一套登陆口令可以用它进行解?一般注册机登陆机就是这栯决的)<br />        Acegi只是于Springl合最好的安全框架,功能比较强大,当然q有一些其他的安全框架,q里列D一些比较流行的是我从网上找到的,使用Ҏ看其官方文档?#8230;<br /> JAAS, Seraph, jSai - Servlet Security, Gabriel, JOSSO, Kasai, jPAM, OpenSAML都是些安全控制的框架..真够多的呵呵<br />  <br /> <font style="background-color: #99cc00" color="#ff9900"><strong>5:全文?/strong></font><br /> <strong>       1) Lucene</strong><br />        Lucene是一套全文烦引接?可以通过它将数据q行倒排文g处理加入索引文g,它的索引速度和查询速度是相当快?查询百万U数据毫U出结?现在最火的Apache开源项?版本更新速度很快现在已经C2.0,每个版本更新的都比较?目前用的最多的版本应该?.4.3,但它有个不太斚w的地方单个烦引文件有2G文g限制,现在2.0版本没有q个限制,我研I的比较?它的扩展性比较好,可以很方面的扩充其分词接口和查询接口.<br />        Z它的开发的pȝ很多,比如最常用的Eclipse的搜索功?q有一些开源的软g比如Compass,Nutch,Lius,q有我最q做的InSearch(企业UFTP文g|页搜烦) <form> </form> </JODD:FORM></p> <p><br /> <font style="background-color: #99cc00" color="#ff9900"><strong>6:公共Utilc?/strong></font><br />        主要是Jakarta-Commonscd,其中最常用得是以下几个cd<br /> <strong>1) Jakarta-Commons-Language</strong><br />        最常用得类是StringUtilsc?提供了用的字符串处理的常用Ҏ效率比较?br /> <strong>2) Jakarta-Commons-Beantuils</strong><br />        主要用Beantuils能够获得反射函数装及对嵌套属性,map,array型属性的d?br /> <strong>3) Jakarta-Commons-Collections</strong><br />        里面有很多UtilsҎ<br />  <br /> <font style="background-color: #99cc00" color="#ff9900"><strong>7 日志理</strong></font><br />        Log4J<br />        d是日志记?分ؓInfo,Warn,error几个层次可以更好的调试程?br />  <br /> <font style="background-color: #99cc00" color="#ff9900"><strong>8 开源的J2EE框架</strong></font><br />        <strong>1) Appfuse</strong><br />               Appfuse是Matt Raible 开发的一个指导性的入门UJ2EE框架, 它对如何集成行的Spring、Hibernate、iBatis、Struts、Xdcolet、JUnit{基框架l出了示? 在持久层QAppFuse采用了Hibernate O/R映射工具Q在容器斚wQ它采用了Spring,用户可以自由选择Struts、Spring/MVCQWebworkQJSFq几个Web框架?br />        <br />        <strong>2) SpringSide<br /> </strong>       .SpringSide较完整的演示了企业应用的各个斚w,是一个电子商务网站的应用 SpringSide也大量参考了Appfuse中的优秀l验。最重要的是它是国内的一个开源项?可以了解到国内现在的一些实际技术动态和方向很有指导意义…<br />  <br /> <font style="background-color: #99cc00" color="#ff9900"><strong>9:模版 Template</strong></font> <br /> 主要有Veloctiy和Freemarker<br /> 模板用Servlet提供的数据动态地生成 HTML。编译器速度快,输出接近静态HTML             面的速度?br /> <font color="#ff9900"> <br /> </font><font style="background-color: #99cc00" color="#003366"><strong><font color="#ff9900">10:工作?/font><br /> </strong></font>       我所知道比较出名的主要有JBpm Shark Osworkflow,׃对它没有q多的研I所以还不是很清楚之间有什么区?<br />  <br /> 目理软g<br /> dotProject:是一个基于LAMP的开源项目管理Y件。最出名的项目管理Y?br /> JIRA: 目计划QQ务安排,错误理<br /> Bugzilla:提交和管理bug,和eclipse集成,可以通过安装MyEclipse配置一下即可?br /> BugFree借鉴微Y公司软g研发理念、免费开放源代码、基于Web的精版Bug理<br /> CVS:q个׃介绍了都在用.<br /> SVN: SubVersion已逐渐越CVSQ更适应于JavaEE的项目。Apache用了它很久后QSourceforge刚刚推出SVN的支持?br /> 试用例:主要JUnit单元试,~写TestCase,Spring也对Junit做了很好的支?br />  <br /> <strong><font color="#99cc00"><font style="background-color: #ffcc00">后记:</font><br /> </font></strong>       以SpringZ的应用开发可选用的组件中间g真是D~ؕ,所以针对不同的目需求可以利用不同的开源品解?比如用Spring+Hibernate/ iBATIS或Spring+WebWork+Hibernate/ iBATIS或Spring+Struts+Hibernate/ iBATIS,合理的框架设计和代码复用设计寚w目开发效率和E序性能有很大的提高,也有利于后期的维?</font></p> <img src ="http://www.aygfsteel.com/booby325/aggbug/225629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/booby325/" target="_blank">飘?/a> 2008-08-29 17:33 <a href="http://www.aygfsteel.com/booby325/archive/2008/08/29/225629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ٲ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">пǰ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¹</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">ӱ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank">կ</a>| <a href="http://" target="_blank">ǿ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>