<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title></title>
    <description>Nanyang Technological University</description>
    <link>http://lylewolf.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
          <item>
        <title>undefined method `scaffold’ 《Web开发敏捷之道》中的错误</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/207590" style="color:red;">http://lylewolf.javaeye.com/blog/207590</a>&nbsp;
          发表时间: 2008年06月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在第六章按照书中的方法无法进行，会提示undefined method `scaffold’的错误，找了半天，最终找到解决办法：<br /><br />Rails2.0.2把scaffold 剥离为插件，也就是说Rails2.0.2里面不能直接使用scaffold了，而书中的版本与最新版还是对不上，所以需要重新安装，而且需要安装两个plugin<br /><br />1. 执行 以下语句 安装scaffolding<br /><br />ruby script/plugin install scaffolding<br /><br />2. 分页插件的解决方法<br /><br />状况如下：<br /><br />undefined method `paginate’<br /><br />解决办法：安装老的classic_pagination<br /><br />ruby script/plugin install http://tools.assembla.com/svn/breakout/breakout/vendor/plugins/classic_pagination/
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/207590#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 24 Jun 2008 17:05:33 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/207590</link>
        <guid>http://lylewolf.javaeye.com/blog/207590</guid>
      </item>
          <item>
        <title>mootools的资料</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/202736" style="color:red;">http://lylewolf.javaeye.com/blog/202736</a>&nbsp;
          发表时间: 2008年06月12日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          网上看到有朋友搜集了很多关于mootools的资料链接，非常好，感谢。<br /><br />　一.教程/文章/代码实例：<br />　　<br />http://clientside.cnet.com/wiki/mootorial/ --- The Mootorial：比较完整的mootools教程<br />http://solutoire.com/2007/02/16/mootools-ajax-xhr-classes/ --- ajax 和 XHR<br />http://solutoire.com/2007/01/31/mootools-10-whats-new/ --- Mootools 1.0: What’s new<br />"http://solutoire.com/2006/12/25/porting-prototype-enumerable-functions-to-mootools-array-objects/ --- 将 Prototype的Enumerable移植到Mootools Array<br />http://www.coryhudson.com/blog/2006/09/12/extending-objects-and-classes-with-mootools/ --- 用mootools扩展 Objects 和 Classes<br />http://www.coryhudson.com/blog/2006/09/14/useful-utility-functions-in-mootools/ --- Mootools中有用的“Utility”函数<br />http://www.coryhudson.com/blog/2006/09/26/extending-dom-nodes-with-mootools/ --- 用 Mootools 扩展 DOM Nodes<br />http://www.snook.ca/archives/javascript/mootools_drag_a/ --- Mootools 拖拽实例<br />http://smoothgallery.jondesign.net/getting-started --- 在你的网站上创建一个画廊或幻灯<br />http://www.chromasynthetic.com/blog/wp-content/uploads/2006/09/mootools1.html --- 简单的导航条实例<br />http://www.chrisesler.com/mootools/mootools-dragwindow.html --- 可拖动的窗口实例（实际上是可拖动的div）<br />http://www.chrisesler.com/mootools/mootools-rowcolumnhighlight.php --- 表格行列高亮实例<br />http://techblog.billkrueger.com/2006/10/11/mootools-sortable-list-example/ --- 可排序列表实例<br />http://www.digitalknk.com/2006/10/10/final-class-project-complete/ --- 可折叠菜单的视频教程<br />http://solutoire.com/2007/01/16/mootools-playing-with-height-transitions/ --- 非常好的tab菜单教程（Mootools: playing with height-transitions）<br />http://solutoire.com/2006/11/29/mootools-the-ajax-class/ --- 关于ajax类<br />http://www.thepcspy.com/articles/programming/ajax_search_with_ms_live_and_mootools --- 用Mootools实现基于ajax的Ms live查询<br />http://solutoire.com/2006/11/29/mootools-horizontal-accordions-explained/ --- 又一个可折叠菜单<br />http://solutoire.com/2006/12/18/mootools-json-explained/ --- Json模块与php教程<br />http://dev.digitarald.de/tile.html --- 移动背景实例<br />http://www.dotes.com.br/mootools/FlyOverBackground.html --- 移动背景实例（fixed for ie）<br />http://dev.digitarald.de/ghostdrag.html --- 拖拽实例<br />http://dev.digitarald.de/tabs.html --- tab实例<br />http://beautyindesign.com/tutorial/free_series_mootools_for_the_rest_of_us.php --- 5节课的Mootools教程：MooTools for the Rest of Us<br />http://www.chrisesler.com/mootools/fisheye/index.php --- Mac os dock样式的菜单<br /><br />二. 插件<br />http://smoothgallery.jondesign.net --- JonDesign的SmoothGallery：画廊、幻灯和展厅<br />http://www.electricprism.com/aeron/slideshow/ --- 幻灯<br />http://smoothslideshow.jondesign.net --- JonDesign的幻灯类库<br />http://solutoire.com/2006/11/29/fxfont-mootools-and-font-resizing/ --- Fx.Font 自动改变文字大小<br />http://www.brunofigueiredo.com/archive/2006/09/14/88.aspx --- moobox：实现简单的LightBox效果<br />http://www.brunofigueiredo.com/archive/2006/09/21/103.aspx --- 反射效果<br />http://www.brunofigueiredo.com/archive/2006/09/15/93.aspx --- 另类图片标签<br />http://www.brunofigueiredo.com/code/jsShadowReflection/extension_1.htm --- efxFactory 0.1 BETA:阴影和反射效果库<br />http://inviz.ru/moo/transcorners/ --- 圆角效果<br />http://www.digitalia.be/software/slimbox --- Slimbox：完整的Lightbox克隆，只有7k<br />http://www.digitalia.be/software/reflectionjs-for-mootools --- 反射 Reflection.js<br />http://nhatanh.voxfamilyvn.com/moo/slider.html --- Moo.Slider：滑动器<br />http://nhatanh.voxfamilyvn.com/moo/calendar.html --- Moo.Calendar：日历<br />http://og5.net/~wusch/?cat=javascript --- ie6的png透明插件<br />http://www.clanccc.co.uk/moo/sortlist.html --- 嵌入式可排序列表<br />http://www.blackmac.de/archives/44-Mootools-AJAX-timeout.html --- AjaxPlus：为AJAX增加超时事件<br /><br /><br />注意：部分.de域名需要用代理上，推荐的代理工具：vidalia<br />下载：http://vidalia-project.net/download.php
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/202736#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 12 Jun 2008 22:54:35 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/202736</link>
        <guid>http://lylewolf.javaeye.com/blog/202736</guid>
      </item>
          <item>
        <title>转载: J2EE开发之常用开源项目介绍</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/195104" style="color:red;">http://lylewolf.javaeye.com/blog/195104</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库<br /> <br />1持久层:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />1)Hibernate<br />这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射<br />对于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernate进行了封装, 查询功能包括执行hsql或者sql查询/更新的方法，如果你要多层次逻辑的条件查询可以自己组装QueryObject.可以参考它做HibernateDAO.也可以直接利用它<br />2) iBATIS<br />另一个ORM工具,没有Hibernate那么集成,自由度比较大,所以使用时普遍性能上比Hibernate要快一些.<br />2:SpringMVC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 原理说明和快速入门:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 配置文件为:<br />Spring的配置文件默认为WEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Action分发:<br />Spring将按照配置文件定义的URL，Mapping到具体Controller类，再根据URL里的action= xxx或其他参数，利用反射调用Controller里对应的Action方法。<br />输入数据绑定:<br />Spring提供Binder 通过名字的一一对应反射绑定Pojo，也可以直接从request.getParameter()取数据。<br />输入数据验证<br />Sping 提供了Validator接口当然还可以使用开源的Commons-Validaor支持最好<br />Interceptor(拦截器)<br />Spring的拦截器提供接口需要自己编写,在这点不如WebWork做的好.全面 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (这里提一下WebWork和Struts的区别最主要的区别在于WebWork在建立一个Action时是新New一个对象而Struts是SingleMoule所有的都继承它的一个Action,所以根据项目需要合适的选择.)<br />3:View层<br />1) 标签库:JSP2.0/JSTL<br />由于Webwork或Spring的标签确实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标签中最快的使用起来也很简单<br /> <br />2) 富客户端:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控件<br />Dojo主要提供Tree, Tab等富客户端控件,可以用其进行辅助客户端开发<br />YahooUI和DOJO一样它有自己的一套javascript调试控制台,主要支持ajax开发也有很多Tree,Table,Menu等富客户端控件<br />FCKEditor 最流行的文本编辑器<br />Coolest日历控件 目前很多日历控件可用,集成在项目中也比较简单,这个只是其中的一个,界面不错的说..<br /> <br />3) JavaScript:Prototype.js<br />Prototype.js作为javascript的成功的开源框架，封装了很多好用的功能,通过它很容易编写AJAX应用,现在AJAX技术逐渐成熟,框架资源比较丰富,比如YUI,DWR等等,也是因为JavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个人认为多用一些成熟的Ajax框架实现无刷新更新页面是不错的选择.<br /> <br />4)表格控件:Display Tag ,Extreme Table<br />这两个的功能差不多,都是View层表格的生成,界面也比较相向,可以导出Excel,Pdf,对Spring支持很容易.<br />相比较而言比较推荐ExtremeTable,它的设计很好功能上比DisplayTag多一些,支持Ajax,封装了一些拦截器,而且最方面的是在主页wiki中有详细的中文使用文档.<br /> <br />5):OSCache<br />OSCache是OpenSymphony组织提供的一个J2EE架构中Web应用层的缓存技术实现组件,Cache是一种用于提高系统响应速度、改善系统运行性能的技术。尤其是在Web应用中，通过缓存页面的输出结果，可以很显著的改善系统的稳定性和运行性能。<br />它主要用在处理短时间或一定时间内一些数据或页面不会发生变化,或将一些不变的统计报表,缓冲在内存,可以充分的减轻服务器的压力,防治负载平衡,快速重启服务器(通过硬盘缓存).<br /> <br />6)SiteMesh<br />sitemesh应用Decorator模式主要用于提高页面的可维护性和复用性，其原理是用Filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and footer，现在，在sitemesh的帮助下，我们删掉他们轻松达到复合视图模式.<br />Sitemesh也是 OpenSymphony的一个项目现在最近的版本是2.2,目前OpenSymphony自从04年就没有更新的版本了..感觉它还是比较有创新的一种页面组装方式, OpenSymphony开源组织的代码一般写的比较漂亮,可以改其源代码对自己的项目进行适配.<br />测试发现Sitemesh还存在一些问题,比如中文问题,它的默认编码是iso-8859-1在使用时候需要做一些改动.<br /> <br />7)CSS,XHTML<br />这个不用说了,遵循W3C标准的web页面开发.<br /> <br />8)分页标签: pager-taglib组件<br />Pager-taglib 是一套分页标签库，可以灵活地实现多种不同风格的分页导航页面，并且可以很好的与服务器分页逻辑分离.使用起来也比较简单.<br /> <br />9)Form: Jodd Form taglib<br />Jodd Form taglib使用比较简单,只要把&lt;form>的头尾以&lt;jodd:form bean= "mybean">包住<br />就会自动绑定mybean, 自动绑定mybean的所有同名属性到普通html标记input, selectbox, checkbox,radiobox.....在这些input框里不用再写任何代码…<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />10)Ajax:DWR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; J2EE应用最常用的ajax框架<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 11)报表 图表<br />Eclipse BIRT功能比较强大,也很庞大..好几十M,一般没有特别需求或别的图表设计软件可以解决的不用它<br />JasperReports+ iReport是一个基于Java的开源报表工具，它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。<br />JFreeChart主要是用来制作各种各样的图表，这些图表包括：饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /> <br />4:权限控制: Acegi<br />Acegi是Spring Framework 下最成熟的安全系统，它提供了强大灵活的企业级安全服务，如完善的认证和授权机制，Http资源访问控制，Method 调用访问控制等等,支持CAS<br />(耶鲁大学的单点登陆技术,这个单点登陆方案比较出名.我也进行过配置使用,可以根据项目需要,如果用户分布在不同的地方不同的系统通用一套登陆口令可以用它进行解决,一般注册机登陆机就是这样解决的)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Acegi只是于Spring结合最好的安全框架,功能比较强大,当然还有一些其他的安全框架,这里列举一些比较流行的是我从网上找到的,使用方法看其官方文档把…<br />JAAS, Seraph, jSai - Servlet Security, Gabriel, JOSSO, Kasai, jPAM, OpenSAML都是些安全控制的框架..真够多的呵呵<br /> <br />5:全文检索<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) Lucene<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Lucene是一套全文索引接口,可以通过它将数据进行倒排文件处理加入索引文件,它的索引速度和查询速度是相当快的,查询百万级数据毫秒级出结果,现在最火的Apache开源项目,版本更新速度很快现在已经到了2.0,每个版本更新的都比较大,目前用的最多的版本应该是1.4.3,但它有个不太方面的地方单个索引文件有2G文件限制,现在2.0版本没有这个限制,我研究的比较多,它的扩展性比较好,可以很方面的扩充其分词接口和查询接口.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基于它的开发的系统很多,比如最常用的Eclipse的搜索功能,还有一些开源的软件比如Compass,Nutch,Lius,还有我最近做的InSearch(企业级FTP文件网页搜索)<br />6:公共Util类<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要是Jakarta-Commons类库,其中最常用得是以下几个类库<br />1) Jakarta-Commons-Language<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最常用得类是StringUtils类,提供了使用的字符串处理的常用方法效率比较高<br />2) Jakarta-Commons-Beantuils<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要用Beantuils能够获得反射函数封装及对嵌套属性，map,array型属性的读取。<br />3) Jakarta-Commons-Collections<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 里面有很多Utils方法<br /> <br />7 日志管理<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Log4J<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 任务是日志记录,分为Info,Warn,error几个层次可以更好的调试程序<br /> <br />8 开源的J2EE框架<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) Appfuse<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Appfuse是Matt Raible 开发的一个指导性的入门级J2EE框架, 它对如何集成流行的Spring、Hibernate、iBatis、Struts、Xdcolet、JUnit等基础框架给出了示范. 在持久层，AppFuse采用了Hibernate O/R映射工具；在容器方面，它采用了Spring,用户可以自由选择Struts、Spring/MVC，Webwork，JSF这几个Web框架。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) SpringSide<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .SpringSide较完整的演示了企业应用的各个方面,是一个电子商务网站的应用 SpringSide也大量参考了Appfuse中的优秀经验。最重要的是它是国内的一个开源项目,可以了解到国内现在的一些实际技术动态和方向很有指导意义…<br /> <br />9:模版 Template <br />主要有Veloctiy和Freemarker<br />模板用Servlet提供的数据动态地生成 HTML。编译器速度快，输出接近静态HTML&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 页面的速度。<br /> <br />10:工作流<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我所知道比较出名的主要有JBpm Shark Osworkflow,由于对它没有过多的研究所以还不是很清楚之间有什么区别.<br /> <br />项目管理软件<br />dotProject:是一个基于LAMP的开源项目管理软件。最出名的项目管理软件<br />JIRA: 项目计划，任务安排，错误管理<br />Bugzilla:提交和管理bug,和eclipse集成,可以通过安装MyEclipse配置一下即可使用<br />BugFree借鉴微软公司软件研发理念、免费开放源代码、基于Web的精简版Bug管理<br />CVS:这个就不介绍了都在用.<br />SVN: SubVersion已逐渐超越CVS，更适应于JavaEE的项目。Apache用了它很久后，Sourceforge刚刚推出SVN的支持。<br />测试用例:主要JUnit单元测试,编写TestCase,Spring也对Junit做了很好的支持<br /> <br />后记:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 以Spring为主的应用开发可选用的组件中间件真是眼花缭乱,所以针对不同的项目需求可以利用不同的开源产品解决,比如用Spring+Hibernate/ iBATIS或Spring+WebWork+Hibernate/ iBATIS或Spring+Struts+Hibernate/ iBATIS,合理的框架设计和代码复用设计对项目开发效率和程序性能有很大的提高,也有利于后期的维护.
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/195104#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 10:09:52 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/195104</link>
        <guid>http://lylewolf.javaeye.com/blog/195104</guid>
      </item>
          <item>
        <title>java 万年历</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/188073" style="color:red;">http://lylewolf.javaeye.com/blog/188073</a>&nbsp;
          发表时间: 2008年04月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          转贴从：http://www.blogjava.net/soddabao/archive/2006/12/31/91098.html<br /><br />&nbsp; Calendar&nbsp;&nbsp; c1&nbsp;&nbsp; =&nbsp;&nbsp; Calendar.getInstance();&nbsp;&nbsp; <br />		 c1.set(yearCount,monthCount-1,1);&nbsp;&nbsp; <br />		&nbsp;&nbsp;&nbsp; <br />		 Calendar&nbsp;&nbsp; c2&nbsp;&nbsp; =&nbsp;&nbsp; Calendar.getInstance();&nbsp;&nbsp; <br />		 c2.set(yearCount,monthCount,1);&nbsp;&nbsp; <br />		&nbsp;&nbsp;&nbsp; <br />		 long&nbsp;&nbsp; c2s&nbsp;&nbsp; =&nbsp;&nbsp; c2.getTimeInMillis();&nbsp;&nbsp; <br />		 long&nbsp;&nbsp; c1s&nbsp;&nbsp; =&nbsp;&nbsp; c1.getTimeInMillis();&nbsp;&nbsp; 		 <br />		 long&nbsp;&nbsp; day&nbsp;&nbsp; =&nbsp;&nbsp; 1* 24* 60*60*1000;&nbsp;&nbsp; 		&nbsp;&nbsp; <br />		 long&nbsp;&nbsp; days&nbsp; =&nbsp; (c2s-c1s)/day;&nbsp;&nbsp; <br /><br /><br /><img src="http://www.blogjava.net/images/blogjava_net/soddabao/11.bmp" /><br /><pre name="code" class="java">主类：MainFrame
package clock;

/** *//**
 * MainFrame.java
 * Summary 万年历主类
 * Created on
 * @author
 * remark 如有改动请发一份代码给我，邮箱wsh.grxx@163.com
 */

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;
import java.util.Calendar;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;


class MainFrame extends JFrame {
    /** *//**
     * 
     */
    private static final long serialVersionUID = 1L;
    JPanel panel = new JPanel(new BorderLayout());
    JPanel panel1 = new JPanel();
    JPanel panel2 = new JPanel(new GridLayout(7, 7));
    JPanel panel3 = new JPanel();
    JLabel[] label = new JLabel[49];
    JLabel y_label = new JLabel("年份");
    JLabel m_label = new JLabel("月份");
    JComboBox com1 = new JComboBox();
    JComboBox com2 = new JComboBox();
    int re_year, re_month;
    int x_size, y_size;
    String year_num;
    Calendar now = Calendar.getInstance(); // 实例化Calendar

    MainFrame() {
        super("万年历");
        setSize(300, 350);
        x_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getWidth());
        y_size = (int) (Toolkit.getDefaultToolkit().getScreenSize().getHeight());
        setLocation((x_size - 300) / 2, (y_size - 350) / 2);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel1.add(y_label);
        panel1.add(com1);
        panel1.add(m_label);
        panel1.add(com2);
        for (int i = 0; i &lt; 49; i++) {
            label[i] = new JLabel("", JLabel.CENTER);// 将显示的字符设置为居中
            panel2.add(label[i]);
        }
        panel3.add(new Clock(this));
        panel.add(panel1, BorderLayout.NORTH);
        panel.add(panel2, BorderLayout.CENTER);
        panel.add(panel3, BorderLayout.SOUTH);
        panel.setBackground(Color.white);
        panel1.setBackground(Color.white);
        panel2.setBackground(Color.white);
        panel3.setBackground(Color.white);
        Init();
        com1.addActionListener(new ClockAction());
        com2.addActionListener(new ClockAction());

        setContentPane(panel);
        setVisible(true);
        setResizable(false);
    }

    class ClockAction implements ActionListener {
        public void actionPerformed(ActionEvent arg0) {
            int c_year, c_month, c_week;
            c_year = Integer.parseInt(com1.getSelectedItem().toString()); // 得到当前所选年份
            c_month = Integer.parseInt(com2.getSelectedItem().toString()) - 1; // 得到当前月份，并减1,计算机中的月为0－11
            c_week = use(c_year, c_month); // 调用函数use，得到星期几
            Resetday(c_week, c_year, c_month); // 调用函数Resetday
        }
    }
    
    public void Init() {
        int year, month_num, first_day_num;
        String log[] = { "日", "一", "二", "三", "四", "五", "六" };
        for (int i = 0; i &lt; 7; i++) {
            label[i].setText(log[i]);
        }
        for (int i = 0; i &lt; 49; i = i + 7) {
            label[i].setForeground(Color.red); // 将星期日的日期设置为红色
        }
        for (int i = 6; i &lt; 49; i = i + 7) {
            label[i].setForeground(Color.green);// 将星期六的日期设置为绿色
        }
        for (int i = 1; i &lt; 10000; i++) {
            com1.addItem("" + i);
        }
        for (int i = 1; i &lt; 13; i++) {
            com2.addItem("" + i);
        }
        month_num = (int) (now.get(Calendar.MONTH)); // 得到当前时间的月份
        year = (int) (now.get(Calendar.YEAR)); // 得到当前时间的年份
        com1.setSelectedIndex(year - 1); // 设置下拉列表显示为当前年
        com2.setSelectedIndex(month_num); // 设置下拉列表显示为当前月
        first_day_num = use(year, month_num);
        Resetday(first_day_num, year, month_num);
    }

    public int use(int reyear, int remonth) {
        int week_num;
        now.set(reyear, remonth, 1); // 设置时间为所要查询的年月的第一天
        week_num = (int) (now.get(Calendar.DAY_OF_WEEK));// 得到第一天的星期
        return week_num;
    }

    @SuppressWarnings("deprecation")
    public void Resetday(int week_log, int year_log, int month_log) {
        int month_day_score; // 存储月份的天数
        int count;
        month_day_score = 0;
        count = 1;

        Date date = new Date(year_log, month_log + 1, 1); // now
        Calendar cal = Calendar.getInstance();
        cal.setTime(date);
        cal.add(Calendar.MONTH, -1); // 前个月
        month_day_score = cal.getActualMaximum(Calendar.DAY_OF_MONTH);// 最后一天

        for (int i = 7; i &lt; 49; i++) { // 初始化标签
            label[i].setText("");
        }
        week_log = week_log + 6; // 将星期数加6，使显示正确
        month_day_score = month_day_score + week_log;
        for (int i = week_log; i &lt; month_day_score; i++, count++) {
            label[i].setText(count + "");
        }
    }

    public static void main(String[] args) {
        JFrame.setDefaultLookAndFeelDecorated(true);
        new MainFrame();
    }
}</pre><br /><br /><pre name="code" class="java">显示时间的类：Clock
package clock;

/** *//**
 * Clock.java
 * Summary 数字时间显示
 * Created on
 * @author
 * remark 
 */

import java.awt.Canvas;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.text.SimpleDateFormat;
import java.util.Calendar;
class Clock extends Canvas implements Runnable{
    /** *//**
     * 
     */
    private static final long serialVersionUID = 3660124045489727166L;
    MainFrame mf;
    Thread t;
    String time;
    public Clock(MainFrame mf){
    this.mf=mf;
    setSize(280,40);
    setBackground(Color.white);
    t=new Thread(this);                //实例化线程
    t.start();                        //调用线程
    }
    public void run(){
    while(true){
    try{
    Thread.sleep(1000);                    //休眠1秒钟
    }catch(InterruptedException e){
    System.out.println("异常");
    }
    this.repaint(100);
    }
    }
    public void paint(Graphics g){
    Font f=new Font("宋体",Font.BOLD,16);
    SimpleDateFormat SDF=new SimpleDateFormat("yyyy'年'MM'月'dd'日'HH:mm:ss");//格式化时间显示类型
    Calendar now=Calendar.getInstance();
    time=SDF.format(now.getTime());        //得到当前日期和时间
    g.setFont(f);
    g.setColor(Color.orange);
    g.drawString(time,45,25);
    }
}</pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/188073#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Apr 2008 15:22:38 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/188073</link>
        <guid>http://lylewolf.javaeye.com/blog/188073</guid>
      </item>
          <item>
        <title>ofbiz Form Operation</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/188033" style="color:red;">http://lylewolf.javaeye.com/blog/188033</a>&nbsp;
          发表时间: 2008年04月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1 Drop-down Form:<br /><br />1.1 Option Value hardcode:<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field name="monthSelected" title="${uiLabelMap.monthSelected}" widget-style="inputBox"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;drop-down allow-empty="false"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="01" description="1-January"/>&lt;option key="02" description="2-February"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="03" description="3-March"/>&lt;option key="04" description="4-April"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="05" description="5-May"/>&lt;option key="06" description="6-June"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="07" description="7-July"/>&lt;option key="08" description="8-August"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="09" description="9-September"/>&lt;option key="10" description="10-October"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;option key="11" description="11-November"/>&lt;option key="12" description="12-December"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/drop-down><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field><br /><br />1.2 option Value From Entity<br /><br />field name="accountCurrencyUomId"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;drop-down allow-empty="false" no-current-selected-key="${defaultCurrencyUomId}"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;entity-options entity-name="Uom" description="[${abbreviation}] ${description}" key-field-name="uomId"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;entity-constraint name="uomTypeId" value="CURRENCY_MEASURE"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;entity-order-by field-name="abbreviation"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/entity-options><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/drop-down><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field>
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/188033#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 29 Apr 2008 14:12:55 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/188033</link>
        <guid>http://lylewolf.javaeye.com/blog/188033</guid>
      </item>
          <item>
        <title>ofbiz四种情景安装指南(hsql/mysql/oracle+tomcat/apache)</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/173823" style="color:red;">http://lylewolf.javaeye.com/blog/173823</a>&nbsp;
          发表时间: 2008年03月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、ofbiz 用自身数据库安装<br /><br />1. 由 binary 安装:<br /><br />由 binary 安装非常简单, 以下是安装方法:<br /><br />下载ofbiz-2.0-beta1-complete.tar.gz, 注意不是ofbiz-2.0-beta1.tar.gz.<br />tar xvzf ofbiz-2.0.beta1-complete.tar.gz<br />cd tomcat/bin<br />./ofbiz.sh start<br />galeon http://localhost:8080/webtools<br /><br />2. 由 CVS 安装:<br /><br />由 CVS 安装要稍微复杂一些. 由于 ofbiz 的更新非常快, 所以由 CVS 安装将获得最新功能. 以下是安装方法:<br /><br />mkdir ofbiz<br />ln -s /PATH-TO-TOMCAT tomcat<br />cd ofbiz<br />export CVSROOT=:pserver:anonymous at cvs dot ofbiz.sourceforge.net:/cvsroot/ofbiz<br />cvs login<br />cvs co catalog<br />cvs co commonapp<br />cvs co core<br />cvs co ecommerce<br />cvs co lib<br />cvs co ordermgr<br />cvs co partymgr<br />cvs co setup<br />cvs co website<br />cvs co webtools<br />cvs co workeffort<br />cp setup/ofbiz/build.xml .<br />cp setup/ofboz/updateall.sh .<br />export CATALINA_HOME=PATH-TO-TOMCAT<br />export OFBIZ_HOME=`pwd`<br />ant<br />ant install<br />创建 postgreSQL 用户 ofbiz, 口令 ofbiz<br />createdb -E EUC_CN ofbiz<br />cd ../tomcat/bin<br />./ofbiz.sh start<br />galeon http://localhost:8080/webtools<br /><br />二、安装ofbiz+tomcat+oracle<br /><br />这个文章描述的是安装ofbiz在oracle+tomcat环境<br />ofbiz2.11提供的缺省的web server是jetty,由于我比较习惯tomcat，因此打算把他转移到tomcat上来。<br />ofbiz2.11提供的却省的数据库是hsql的，用webtools，转移他的数据库是非常方便的，这里我介绍如何按装到oracle中，<br />同样的方法我也在mysql中测试通过了。<br /><br />1。下载ofbiz2.11<br /><br /><br />可以通过www.ofbiz.org下载，不......代理，也可以直接到http://sf.net上面查找ofbiz项目下载。<br />2。下载tomcat <br /><br /><br />建议使用tomcat4.1.24,曾经在网上看到过有人介绍tomcat.4.1.7之前的版本运行ofbiz时，taglib的处理非常慢，<br />之后的版本就没有这个问题了。tomcat可以到www.apache.org处下载。<br />3。安装oracle<br /><br /><br />理论上数据库可以是任何支持jdbc的数据库，我使用的是oracle8.17.<br />3.1 建立oracle表空间<br />&nbsp;&nbsp;&nbsp; create tablespace ofbiz<br />&nbsp;&nbsp;&nbsp; datafile 'd:\orant\oradata\ofbiz.dbf' size 2m<br />&nbsp;&nbsp;&nbsp; autoextend on next 2m maxsize unlimited;<br />3.2 建立用户<br />&nbsp;&nbsp;&nbsp; create user ofbiz<br />&nbsp;&nbsp;&nbsp; identified by ofbiz<br />&nbsp;&nbsp;&nbsp; default tablespace ofbiz;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; grant connect,resource to ofbiz;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 测试用户<br />&nbsp;&nbsp;&nbsp; connect ofbiz/ofbiz;<br /><br />4。安装ofbiz<br /><br /><br /><br />4.1 设置环境变量<br />&nbsp;&nbsp;&nbsp; JAVA_HOME<br />&nbsp;&nbsp;&nbsp; ANT_HOME<br />&nbsp;&nbsp;&nbsp; CATALINA_HOME<br />&nbsp;&nbsp;&nbsp; OFBIZ_HOME<br />&nbsp;&nbsp;&nbsp; <br />4.2&nbsp;&nbsp;&nbsp; 自动安装<br />&nbsp;&nbsp;&nbsp; ofbiz 已经准备了一个ant脚本，它可以自动安装ofbiz到。<br />&nbsp;&nbsp;&nbsp; 在OFBIZ_HOME中有一个build.xml,执行ant install即可。<br />&nbsp;&nbsp;&nbsp; 但是这个自动脚本有的时候执行时会出错！如果出错，请看4。3手工安装。<br />&nbsp;&nbsp;&nbsp; <br />4.3 手工安装<br />&nbsp;&nbsp;&nbsp; 4。3。1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\commonapp\etc\目录下面的所有文件到CATALINA_HOME\share\classes中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\commonapp\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\core\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意OFBIZ_HOME\lib\中的jar文件是按目录分门别类存放的，复制到CATALINA_HOME\share\lib需要去掉所有目录，把所有jar都放到lib目录下。<br />&nbsp;&nbsp;&nbsp; 4。3。2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编辑CATALINA_HOME\share\classes\entityengine.xml<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查找<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;datasource name="localoracle"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; helper-class="org.ofbiz.core.entity.GenericHelperDAO"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; field-type-name="oracle"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check-on-start="true"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add-missing-on-start="true"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join-style="theta-oracle"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;inline-jdbc<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-driver="oracle.jdbc.driver.OracleDriver"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-uri="jdbc:oracle:thin: at 127 dot 0.0.1:1521:ofbiz"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-username="ofbiz"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-password="ofbiz"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isolation-level="ReadCommitted"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/datasource><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将jdbc部分改成对应的参数。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查找<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;delegator name="default" entity-model-reader="main"......><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;group-map group-name="org.ofbiz.commonapp" datasource-name="localhsql"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/delegator><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 改成<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;delegator name="default" entity-model-reader="main"......><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;group-map group-name="org.ofbiz.commonapp" datasource-name="localoracle"/><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/delegator><br />&nbsp;&nbsp;&nbsp; 4.3.3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\setup\catalina41\bin中的ofbiz.bat到CATALINA_HOME\bin中<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 复制OFBIZ_HOME\setup\catalina41\conf中的server.xml到CATALINA_HOME\conf中<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 注意，这里的server.xml也可以不复制，这里面就是配置ofbiz的Context，手工更新到server.xml中即可<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 另外注意，ofbiz默认ofbiz和tomcat在一个目录下，因此在server.xml中，他的context路径都是用的相对路径<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 例如<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Context path="/content" docBase="../../ofbiz/content/webapp" debug="0" reloadable="true"><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在OFBIZ_HOME\setup\catalina41\bin\runofbiz.bat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 内容如下：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ofbiz.bat run<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />5.0 运行runofbiz.bat<br /><br />&nbsp;&nbsp;&nbsp; 他首先调用ofbiz.bat设置环境变量，然后启动tomcat.<br />&nbsp;&nbsp;&nbsp; 启动tomcat的时候，ofbiz的DatabaseUtils会检查数据库中是否已经存在系统的表，没有就会自动创建的，一般的创建过程不会出错误的。<br />&nbsp;&nbsp;&nbsp; 如果有错误产生，请察看CATALINA_HOME\logs中的日志文件，一般都是少某个jar,看到少哪个到OFBIZ_HOME中找到后复制到CATALINA_HOME\share\lib中<br /><br />6.0 如果建立表都一切顺利就可以打开IE，然后输入URL<br /><br />&nbsp;&nbsp;&nbsp; http://localhost:8080/webtools/control/main<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 记住要先用webtools导入数据，否则你不能用admin/ofbiz登陆的！<br />&nbsp;&nbsp;&nbsp; 在这里 http://localhost:8080/webtools/control/install<br />&nbsp;&nbsp;&nbsp; 直接点Load Data按钮<br />&nbsp;&nbsp;&nbsp; 执行完毕后<br />&nbsp;&nbsp;&nbsp; 到这里<br />&nbsp;&nbsp;&nbsp; http://localhost:8080/webtools/control/checkLogin/install<br />&nbsp;&nbsp;&nbsp; 用admin/ofbiz登陆，登陆成功证明安装完毕，不成功就察看一下日志文件。<br /><br /><br />在4。3。2步中，如果要安装到其他的数据库，可以修改其他数据库的jdbc连接配置，ofbiz为大部分支持jdbc的数据库提供的例子。<br />同样的方法也可以实施ofbiz到resin中,不过没有测试!:)<br /><br />测试环境<br />SERVER : PII 300 , 512M <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PIII733 , 256M<br />windows 2000 advance server<br />ofbiz 2.11<br />oracle 8.1.7<br />mysql 4.0 max<br />tomcat 4.1.24<br /><br />三、OFBIZ+TOMCAT+MYSQL安装与配置<br /><br />ofbiz2.11提供的缺省的web server是jetty,我们打算把他转移到tomcat上来。ofbiz2.11提供的缺省的数据库是hsql的，用webtools，转移他的数据库是非常方便的，这里我们介绍如何安装到mysql中 。<br /><br />我认为不要问为什么要这么装，在你用本文的方法安装两遍后，一切你都明白了。<br /><br /> <br /><br />1下载ofbiz2.11<br />可以通过www.ofbiz.org下载，也......�查找ofbiz项目下载。<br /><br /> <br /><br />2下载并安装tomcat<br />建议使用tomcat4.1.18以后的版本,曾经在网上看到过有人介绍tomcat.4.1.7之前的版本运行ofbiz时，taglib的处理非常慢，之后的版本就没有这个问题了。tomcat可以到www.apache.org处下载。<br /><br /> <br /><br />3 安装Mysql<br /><br />主要是建立表空间和建立用户。<br /><br /> <br /><br />4安装ofbiz<br /><br /> <br /><br />4.1设置环境变量<br />JAVA_HOME<br />ANT_HOME<br />CATALINA_HOME<br />OFBIZ_HOME<br /><br /> <br /><br />4.2复制classes和jar文件<br /><br />复制OFBIZ_HOME\commonapp\etc\目录下面的所有文件到CATALINA_HOME\share\classes中。<br />复制OFBIZ_HOME\commonapp\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />复制OFBIZ_HOME\core\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />复制OFBIZ_HOME\lib\目录下*.jar到CATALINA_HOME\share\lib中。<br />注意OFBIZ_HOME\lib\中的jar文件是按目录分门别类存放的，复制到CATALINA_HOME\share\lib需要去掉所有目录，把所有jar都放到lib目录下。<br /><br /> <br /><br />4.3编辑CATALINA_HOME\share\classes\entityengine.xml文件<br /><br />找到如下文字：<br /><br />&lt;datasource name="localmysql"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; helper-class="org.ofbiz.core.entity.GenericHelperDAO"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; field-type-name="mysql"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; check-on-start="true"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add-missing-on-start="true"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; use-foreign-keys="false"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join-style="theta-oracle"><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sql-load-path path="commonapp/db" prepend-env="ofbiz.home"/><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;sql-load-path path="ecommerce/etc" prepend-env="ofbiz.home"/><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;inline-jdbc<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-driver="org.gjt.mm.mysql.Driver"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-uri="jdbc:mysql://127.0.0.1/ofbiz"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-username="root"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jdbc-password="gg"<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isolation-level="Serializable"/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br /><br />&lt;/datasource><br /><br />编辑相应的配置 。<br /><br />查找<br />&lt;delegator name="default" entity-model-reader="main"......><br />&lt;group-map group-name="org.ofbiz.commonapp" datasource-name="localhsql"/><br />&lt;/delegator><br />改成<br />&lt;delegator name="default" entity-model-reader="main"......><br />&lt;group-map group-name="org.ofbiz.commonapp" datasource-name="localmysql"/><br />&lt;/delegator><br /><br /> <br /><br />4.4 复制可执行程序<br /><br />复制OFBIZ_HOME\setup\catalina41\bin中的ofbiz.bat到CATALINA_HOME\bin<br />复制OFBIZ_HOME\setup\catalina41\conf中的server.xml到CATALINA_HOME\conf中<br />注意，这里的server.xml也可以不复制，这里面就是配置ofbiz的Context，手工更新到server.xml中即可<br />另外注意，ofbiz默认ofbiz和tomcat在一个目录下，因此在server.xml中，他的context路径都是用的相对路径<br />例如<br />&lt;Context path="/content" docBase="../../ofbiz/content/webapp" debug="0" reloadable="true"><br /><br /> <br /><br />4.5 启动<br />在OFBIZ_HOME\setup\catalina41\bin\runofbiz.bat<br />内容如下：<br />ofbiz.bat run<br /><br />用该命令启动<br /><br />它首先调用ofbiz.bat设置环境变量，然后启动tomcat.<br />启动tomcat的时候，ofbiz的DatabaseUtils会检查数据库中是否已经存在系统的表，没有就会自动创建的，一般的创建过程不会出错误的。<br />如果有错误产生，请察看CATALINA_HOME\logs中的日志文件，一般都是少某个jar,看到少哪个到OFBIZ_HOME中找到后复制到CATALINA_HOME\share\lib中<br /><br />四、Apache+OFBiz<br /><br />OFBiz提供了AJP功能, 我们可以使用apache mod_jk来进行整合.<br /><br />例如, ofbiz的http端口为8080, AJP端口为8109, ofbiz的主机名为local.ofbiz.org, 要通过apache 80访问到ofbiz的mysite, 需要进行以下配置:<br /><br />修改windows/system32/drivers/etc/hosts文件, 增加<br />127.0.0.1&nbsp;&nbsp;&nbsp; local.ofbiz.org<br /><br />把mod_jk.so放到modules目录下面, 注意jk模块和apache需要版本匹配才行<br /><br />在conf目录下面增加workers.properties<br />#Add your workers here. If you add an additional worker name, add it to this list<br />worker.list=ajpofbiz<br /><br />#This worker is for the ofbiz instance<br />worker.ajpofbiz.type=ajp13<br />worker.ajpofbiz.host=127.0.0.1<br />worker.ajpofbiz.port=8109<br />worker.ajpofbiz.lbfactor=1<br />worker.ajpofbiz.cache_timeout=600<br />worker.ajpofbiz.socket_keepalive=1<br />worker.ajpofbiz.socket_timeout=300<br /><br />在htdocs下面创建一个ofbiz目录, 增加index.html文件, 其内容为重定向到local.ofbiz.org/mysite/control/main<br /><br />修改httpd.conf, 增加<br />LoadModule jk_module modules/mod_jk.so<br />JkWorkersFile "D:/Apache Group/Apache2/conf/workers.properties"<br />JkLogFile "D:/Apache Group/Apache2/logs/mod_jk.log"<br />JkLogLevel info<br /><br />NameVirtualHost local.ofbiz.org:80<br />&lt;VirtualHost local.ofbiz.org:80><br />ServerName local.ofbiz.org<br />DocumentRoot "D:/Apache Group/Apache2/htdocs/ofbiz"<br />ErrorLog logs/error.log<br />DirectoryIndex index.html index.htm index.jsp index.php<br />JkMount /* ajpofbiz<br />CustomLog logs/access.log combined<br />FileETag none<br />&lt;/VirtualHost><br /><br />启动apache和ofbiz, 访问http://local.ofbiz.org, 应该可以看到mysite的内容了.<br /><br />此外, 由于使用的仅仅是AJP, ofbiz自身的8080端口可以关闭了.
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/173823#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 19 Mar 2008 16:32:45 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/173823</link>
        <guid>http://lylewolf.javaeye.com/blog/173823</guid>
      </item>
          <item>
        <title>ofbiz工具类介绍</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/173819" style="color:red;">http://lylewolf.javaeye.com/blog/173819</a>&nbsp;
          发表时间: 2008年03月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          工具类主要在包org.ofbiz.core.util中。<br /><br />1、 属性文件访问工具类：UtilProperties。<br /><br />2、 Map、List对象操作工具类：UtilMisc。<br /><br />3、 UtilFormatOut ：通用格式化输出工具类（主要用在 Jsp文件或View Helper中）。<br /><br />4、 UtilURL：得到文件流的URL地址类。<br /><br />5、 UtilCache：缓存管理类。<br /><br />6、 UtilValidate：通用数据输入输出数据校验（合法性和有效性）类，可任意扩展。.<br /><br />7、 UtilDateTime：java.util.Date和java.sql.Date格式的日期/时间处理类。<br /><br />8、 StringUtil：增强的字符串处理类。<br /><br />9、 UtilXML：增强的符合JAXP &amp; DOM 规范的XMl解析器处理工具类。<br /><br />10、 SiteDefs：常数定义类，定义所有Web 程序用到的和环境有关的常量。<br /><br />11、 Debug：格式化输出程序调试信息类。<br /><br />12、 HttpClient：模拟一个HttpServlet请求类。<br /><br />13、 HttpRequestFileUpload：接受一个通过Http上传的文件工具类。<br /><br />14、 SendMailSMTP：符合SMTP协议的邮件发送处理类（实现发送邮件服务器的功能）。<br /><br />实体引擎核心应用类（客户端API）<br /><br />涉及到12个类，GenericDelegator，GenericValue，GenericPK，EntityCondition， EntityExpr，EntityFieldMap，EntityConditionList，EntityWhereString， EntityOperator，EntityOperator，EntityListIterator，这些类都是为GenericDelegator的接口服务的。用户端程序和数据库之间的所有交往多是通过“GenericDelegator”完成的。<br /><br />服务引擎应用类（服务器端API）<br />涉及LocalDispatcher， GenericDispatcher； ServiceDispatcher；ServiceUtil；DispatchContext ；ServiceConfigUtil等6个类。
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/173819#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 19 Mar 2008 16:26:59 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/173819</link>
        <guid>http://lylewolf.javaeye.com/blog/173819</guid>
      </item>
          <item>
        <title>WeekUtil.java   与日期有关的操作</title>
        <author>lylewolf</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lylewolf.javaeye.com">lylewolf</a>&nbsp;
                    链接：<a href="http://lylewolf.javaeye.com/blog/171373" style="color:red;">http://lylewolf.javaeye.com/blog/171373</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          从网上找来的一篇仁兄的文章。。。借来引用下。放到了我的lib当中，描述了一些一周之内的日期查询的一些相关code。。<br /><br /><br />import java.util.Calendar;<br />import java.util.Date;<br />import java.util.GregorianCalendar;<br /><br /><br />public class WeekUtil {<br /><br />	<br />public static int getWeekOfYear(Date date) {<br />Calendar c = new GregorianCalendar();<br />c.setFirstDayOfWeek(Calendar.MONDAY);<br />c.setMinimalDaysInFirstWeek(7);<br />c.setTime (date);<br /><br />return c.get(Calendar.WEEK_OF_YEAR);<br />}<br /><br /><br />public static int getMaxWeekNumOfYear(int year) {<br />Calendar c = new GregorianCalendar();<br />c.set(year, Calendar.DECEMBER, 31, 23, 59, 59);<br /><br />return getWeekOfYear(c.getTime());<br />}<br /><br /><br />public static Date getFirstDayOfWeek(int year, int week) {<br />Calendar c = new GregorianCalendar();<br />c.set(Calendar.YEAR, year);<br />c.set (Calendar.MONTH, Calendar.JANUARY);<br />c.set(Calendar.DATE, 1);<br /><br />Calendar cal = (GregorianCalendar) c.clone();<br />cal.add(Calendar.DATE, week * 7);<br /><br />return getFirstDayOfWeek(cal.getTime ());<br />}<br /><br /><br />public static Date getLastDayOfWeek(int year, int week) {<br />Calendar c = new GregorianCalendar();<br />c.set(Calendar.YEAR, year);<br />c.set(Calendar.MONTH, Calendar.JANUARY);<br />c.set(Calendar.DATE, 1);<br /><br />Calendar cal = (GregorianCalendar) c.clone();<br />cal.add(Calendar.DATE , week * 7);<br /><br />return getLastDayOfWeek(cal.getTime());<br />}<br /><br /><br />public static Date getFirstDayOfWeek(Date date) {<br />Calendar c = new GregorianCalendar();<br />c.setFirstDayOfWeek(Calendar.MONDAY);<br />c.setTime(date);<br />c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()); // Monday<br />return c.getTime ();<br />}<br /><br /><br />public static Date getLastDayOfWeek(Date date) {<br />Calendar c = new GregorianCalendar();<br />c.setFirstDayOfWeek(Calendar.MONDAY);<br />c.setTime(date);<br />c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek() + 6); // Sunday<br />return c.getTime();<br />}<br /><br />public static void main(String[] args) {<br />int year = 2006;<br />int week = 1;<br /><br /><br />Calendar c = new GregorianCalendar();<br />c.set(2007, Calendar.FEBRUARY, 2);<br />Date d = c.getTime();<br /><br />System.out.println("current date = " + d);<br />System.out.println("getWeekOfYear = " + getWeekOfYear(d));<br />System.out.println("getMaxWeekNumOfYear = " + getMaxWeekNumOfYear(year));<br />System.out.println("getFirstDayOfWeek = " + getFirstDayOfWeek(year, week));<br />System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(year, week));<br />System.out.println ("getFirstDayOfWeek = " + getFirstDayOfWeek(d));<br />System.out.println("getLastDayOfWeek = " + getLastDayOfWeek(d));<br />}<br />}
          <br/><br/>
          <span style="color:red;">
            <a href="http://lylewolf.javaeye.com/blog/171373#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">Windows7在微软WinHEC 2008上揭开神秘面纱</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 14 Mar 2008 13:11:28 +0800</pubDate>
        <link>http://lylewolf.javaeye.com/blog/171373</link>
        <guid>http://lylewolf.javaeye.com/blog/171373</guid>
      </item>
      </channel>
</rss>