摘要: 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用性,不方便用户进行个性化编辑。Java程序由于其跨平台特性,不能直接操纵Excel。因此,本文探讨一下POI视线Java程序进行Excel的读取和导入。 项目结构:用到的Excel文件:XlsMain .java 类//该类有main方法,主要负责运行程序,同时该类中也包含了用poi读取Excel(2003版)importjava.io.FileInputStream; importjava.io.IOException; importjava.io.InputStream; importjava.util.ArrayLis. 阅读全文
posted @ 2012-04-15 15:56 OrionBox 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 斐波纳契数列(Fibonacci Sequence),又称黄金分割数列。指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用。斐波那契数列的发明者,是意大利数学家列昂纳多·斐波那契(Leonardo Fibonacci)。与黄金分割的关系有趣的是:这样一个完全是自然数的数列,通项公式却是用无理数来表达的。而且当n趋向于无穷大时,后一项与前一项的 阅读全文
posted @ 2012-04-15 15:55 OrionBox 阅读(397) 评论(0) 推荐(0) 编辑
摘要: JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其它IDE报表工具一样来制作报表。JasperReports 支持PDF、HTML、XLS、CSV和XML文件输出格式。JasperReports是当前Java开发者最常用的报表工具。Pentaho是一个以工作 流为核心的、强调面向解决方案而非工具组件的BI套件,整合了多个开源项目,目标是和商业BI相抗衡。它偏向于与业务流程相结合的BI解决方案,侧重于大 中型企业应用。它允许商业分析人员或开发人员创建报表,仪表盘,分析模型,商业规则和 BI 流程。功能和特点◆ 工作流引擎:Shark and JaWE◆ 数据库 阅读全文
posted @ 2012-04-15 15:54 OrionBox 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 1. PMD from http://pmd.sourceforge.net/PMD能够扫描Java 源代码,查找类似以下的潜在问题:可能的bug——try/catch/finally/switch语句中返回空值。死代码——未使用的局部变量、参数、私有方法。不理想的代码——使用String/StringBuffer。过于复杂的表达式——没有必要使用if语句、while循环可以代替for循环。重复代码——复制/粘贴的代码引发的bug。PMD集成了JDeveloper, Eclipse, JEdit, JBuilder, BlueJ, CodeGuide, NetBeans/Sun Java St 阅读全文
posted @ 2012-04-15 15:53 OrionBox 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 使用Struts2的Junit Plugin测试Action是非常的方便的,如果在开发中采用TDD模式的话推荐使用。不说废话了,直入主题,已具体实例说话!1、在原有的Struts2工程加入JUnit Plugin和它依赖的Spring包:struts2-junit-plugin-2.1.8.jarorg.springframework.core-3.0.3.RELEASE.jarorg.springframework.test-3.0.3.RELEASE.jar2、新建个Action,我这里采用的Annotation的方式,可以实现零配置。TestAction.java@Result(loca 阅读全文
posted @ 2012-04-15 15:53 OrionBox 阅读(939) 评论(0) 推荐(0) 编辑
摘要: 现在许许多多的初学者和程序员,都在趋之若鹜地学习Web开发的宝典级框架:Struts2,Spring,Hibernate。似乎这些框架成为了一个人是否精通Java,是否会写J2EE程序的唯一事实标准和找工作的必备基础。然而,如果在面试的时候问这些程序员,你们为什么要学习这些框架?这些框架的本质到底是什么?似乎很少很少有人能够给我非常满意的答复。因为他们都在为了学习而学习,为了工作而学习,而不是在真正去深入了解一个框架。其实所有的人都应该思考这样的问题:为什么要学习框架?框架到底给我带来了什么?接下来,我们以登录作为一个最简单的例子,来看看不同的年代,我们是怎么写Web程序的。后来,我们放弃了在 阅读全文
posted @ 2012-04-15 15:52 OrionBox 阅读(280) 评论(0) 推荐(0) 编辑
摘要: J2EE,作为开发mission-critical的企业级应用的一整套规范的整合平台,规范多、内容广,从而给开发J2EE应用带来了很多“麻烦”。比如,为实现内容的RDBMS,我们可能的方法有JDBC、Entity Beans、JDO、O/R Mapping工具(TopLink、Hibernate)、XML-DBMS、JAXB等方法(其中一些方法不是J2EE规范所包含的)。因此,为实现J2EE各层(至少有表示层、控制层、商业逻辑层等3层)以及层与层之间的耦合,J2EE系统架构师需要考虑的问题会很多。加上,J2EE本身的快速发展,给架构、开发具有工业强度的J2EE应用带来一些难题。同时,软件开发技 阅读全文
posted @ 2012-04-15 15:52 OrionBox 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 对于J2EE,我们知道当开发应用时,在架构设计阶段的决定将对应用的性能和可扩展性产生深远的影响。现在当开发一个应用项目时,我们越来越多地注意到了性能和可扩展性的问题。应用性能的问题比应用功能的不丰富问题往往更为严重,前者会影响到所有用户,而后者只会影响到碰巧使用该功能的那些用户。作为应用系统的负责人,一直被要求"要少花钱多办事"----用更少的硬件,更少的网络带宽,以及更短的时间完成更多的任务。J2EE通过提供组件方式和通用的中间件服务是目前首选的最优方式。而要能够构建一个具有高性能和可扩展性的J2EE应用,需要遵循一些基本的架构策略。缓存(Caching)简单地说,缓存中 阅读全文
posted @ 2012-04-15 15:51 OrionBox 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 安全性是Web应用程序开发工作中最关键的问题之一。在基于servlet的应用程序里,保护应用程序资源的办法有两种:一是对应用程序进行配置 (web.xml),二是使用Java代码硬编码到程序中。前一种方法使用配置文件,该方法很灵活,这是因为通过使用配置文件,无需改写任何代码就可以改变安全策略,是一种常见的手段。而Struts 2是基于servlet技术的,所以Struts 2的安全策略也可以使用配置文件进行灵活的配置。配置安全策略时,有两个概念需要清楚的区分 ,用户和角色,简单的说用户为使用计算机的人,可以是个人或组织。角色是一个抽象的概念,泛指职务或者权限。例如,张三,李四,王五三个人,有职 阅读全文
posted @ 2012-04-15 15:50 OrionBox 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Refactor重构和单元测试是程序员的两大法宝,他们的作用就像空气和水对于人一样,平凡,不起眼,但是意义深重。预善事,必先利器,本文就介绍怎样在Eclipse中进行重构。本文介绍了Eclipse支持的重构种类,它们的含义,以及怎样重构。本文同时也可以作为学习重构知识的快速手册。1、什么是重构?重构是指在保持程序的全部功能的基础上改变程序结构的过程。重构的类型有很多,如更改类名,改变方法名,或者提取代码到方法中。每一次重构,都要执行一系列的步骤,这些步骤要保证代码和原代码相一致。2、为什么重构很重要?手工重构时,很容易在代码中引入错误,例如拼写错误或者漏掉了重构的某一步。为了防止引入错误,在每 阅读全文
posted @ 2012-04-15 15:49 OrionBox 阅读(211) 评论(0) 推荐(0) 编辑