Java开源
文章平均质量分 80
tyrone1979
这个作者很懒,什么都没留下…
展开
-
用Java压缩文件或目录下的所有文件
import java.io.File;import org.apache.tools.zip.ZipOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;/** * @author tyrone * */public class DirectoryZip { /** *@param inputFi原创 2005-07-25 10:59:00 · 1390 阅读 · 1 评论 -
Struts里使用tiles模板
Tiles提供了一种框架,供你定义和动态填充页面布局。每个页面布局就是一个定义了模板框架(或轮廓)并用占位符表示应该填充内容的位置的jsp。运行时tiles用其相关内容代替占位符,创建一个完整的页面和独特的布局实例。为了实现这个目标,Tiles使用了概念:定义和属性。 一个Tiles定义创建一条内容,并可以通过使用定义的名称将其插入JSP。每个定义有名称(或标识符),布局JS原创 2005-09-05 21:14:00 · 2890 阅读 · 0 评论 -
Struts使用Validator
Struts使用ValidatorValidator框架是一种可插拔的系统,validator-rules.xml文件用于以声明的方式插入执行验证时validator将要使用的验证例程。 启用Validator插件struts-config.xml文件里加入 plug-in className="org.apache.struts.validator.ValidatorPlugIn">原创 2005-09-11 20:49:00 · 3602 阅读 · 0 评论 -
Java虚拟机(JVM)的动态类加载(Class Loading)
1.介绍 Class Loaders是动态加载Java类与Resource的一种机制。它支持Laziness,type-safe linkage,user-defined extensibility和multiple communicating namespaces这4种特性。l Lazy loading:Class只有在需要的时候才加载。这样原创 2006-09-03 12:21:00 · 10081 阅读 · 0 评论 -
使用Antlr和JfreeChart实现项目源代码行数计算图表
Antlr的功能在我的其他文章里提到了就不多说了,JFreeChart是一个功能强大的Java开源图表生成组件。是不是经常有人问你,你做的项目一共有多少行代码,你编写了多少行代码?本文的程序轻松帮你回答这个问题。我越来越喜欢用Antlr来完成分析问题,虽然它在性能和简易性方面不如Lex/Yacc相比,那它能很容易的结合到Java项目里。 1 计算文件行数,和空行行数原创 2006-04-19 19:08:00 · 2527 阅读 · 1 评论 -
采用POI和ANTLR提取WORD文档数据
1. POI提取WORD文档内容POI是Apache开源项目之一,用Java实现跨平台MS Word/Excel文档解析。 也就是说可以在非Windows平台提取MS Word/Excel文档内容。 本文采用POI的一个扩展Jar包tm-extractors_0.4.jar提取Word文档内容。 Word文档内容如下:(该文档有2页,每页记录一个组件内容),Java类中Import原创 2006-04-17 10:06:00 · 3235 阅读 · 1 评论 -
用JavaScript实现动态图形
用JavaScript实现动态图形1.JavaScript与2D图形 JavaScript的神奇之处远远超过一般程序员的想象。JavaScript可以实现所有的二维图形。看到我的Blog左面,它就是使用JavaScript和Google公司用JavaScript开发的excanvas写出来的。Its time to reuse! 什么是e原创 2006-09-02 17:56:00 · 13924 阅读 · 2 评论 -
JVM调优
1. Heap设定与垃圾回收Java Heap分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象,本文不讨论该区。JVM的Heap分配可以使用-X参数设定, -Xms原创 2006-09-25 08:20:00 · 10099 阅读 · 0 评论 -
软件职业的天与地
我所说的软件职业的“天”指的是应用程序上层领域,天越高越要总揽全局。而“地”指的是系统程序底层领域,地下越深越要掌握细小高深的技术。 人往天上做被看作使大多数公司软件职业的发展路线。首先是应用程序的开发者,例如ERP,CRM,SCM等众多管理系统,然后是升级到这些应用程序的设计者,最后成为某个领域的顾问。 人往地下走被看作是有挑战性的职业原创 2006-06-02 15:46:00 · 3810 阅读 · 11 评论 -
JVM之数据区结构
1.PC寄存器 每个线程有一个PC寄存器,如果不是Native,则PC寄存器包含当前正在执行的Java虚拟机指令的地址,如果是Native则不定义。 2.Stack 线程私有,与线程同时创建的Java Stack。一个JVM Stack保存多个Frame,Frame用来保存局部变量,部分结果,和方法返回值。Stack不一定是连续分配在内存中的。 与Stack相关原创 2006-07-17 10:16:00 · 3205 阅读 · 1 评论 -
JNI之C++调用Java类 ——java.lang.String
JNI之C++调用Java类 ——java.lang.String 为什么要用C++调用Java类?很难回答,写着文章只是觉得JNI很有意思。于是开始编写一段使用VC++在Windows系统里调用java的String类,在C++里调用String类内的一些方法。JNI已经被开发了很多年,而在我2年多的Java编程时间里从来没有接触原创 2006-07-19 17:42:00 · 14734 阅读 · 5 评论 -
探索JVM运行状态的利器—JVMPI,HPROF
1.什么是JVMPI?Java Virtual Machine Profiler Interface。参考http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/jvmpi.html#overviewJVMPI可以做什么?它可以监控VM发生的各种事件。例如当JVM创建,关闭,Java类被加载,创建对象,或GC回收,等37种事件。既然是接口自然就是有一原创 2006-07-21 09:05:00 · 3963 阅读 · 1 评论 -
解读Java Class文件格式
1.目的大型软件系统开发时,某些Java组件可能涉及到多种数据库或中间件系统的连接和应用,例如一个数据传递组件需要从DB2中读取数据,并将数据通过中间件WebSphere MQ发送到其他系统,这类组件功能单一,但却需要连接多种第三方产品,使得程序员的单元测试变的非常不便,程序员不得不注视或修改部分源代码,或者在本地安装所需第三方产品。无疑这两种选择都是痛苦的。基于以上的不便,本文开发了解析原创 2006-07-23 15:23:00 · 17429 阅读 · 4 评论 -
JVM GC的Heap
JVM的一个关键特征是它的GC Heap。Heap保存了Java运行期的所有对象,数组。GC可以动态释放Heap中不再使用的空间。在Java程序里,一个对象可以通过关键字new来创建,“创建”对于JVM来说就是在Heap里分配一块空间保存新对象。GC,也就是Garbage collection,既清除Heap里不再使用的对象。为了清除这些对象,GC必须调用这些对象的Finalizer。另为GC还可原创 2006-07-23 21:32:00 · 2645 阅读 · 2 评论 -
万能调节器(Universal adapter)的设计与实现
万能调节器(Universal adapter)的设计与实现-Factory, Singleton, Adapter和Reflection的应用本文的目的是设计并实现一个工厂(Factory),可以通过配置文件adapter-config.xml,生成配置文件内定义的Adapter的实例,每个Adapter又可以灵活的调用任何一个类的多个方法。 1.设计 UML类图如原创 2006-12-19 14:05:00 · 3784 阅读 · 2 评论 -
java实现System.Web.UI.ICallbackEventandler
早在ASP.NET 2.0 beta1时.NET就已经包含了一个异步技术叫Callback。本文将使用Java/JSP+JavaScript实现ASP.NET的Callback技术。 1.ASP.NET 2.0的Callback技术 ASP网页必须实现ICallbackEventHandler的RaiseCallbackEvent方法和Ge原创 2007-01-08 15:40:00 · 3362 阅读 · 1 评论 -
实现VSS(Visual Source Safe)的Java API
VSS,即Visual Source Safe,是微软公司开发的Windows平台上优秀的Source版本控制器。不同于CVS的是,它不是开源,因此支持VSS的只有Windows平台。但微软发布了VSS的API。任何开发者都可以通过ssapi.dll文件,开发自定义的VSS插件或其他工具。Ssapi.dll是ActiveX组件,自然能支持多种开发语言。但想要支持Ja原创 2007-01-19 17:47:00 · 7862 阅读 · 3 评论 -
Struts实现多国语言切换
1 准备资源文件。资源文件命名格式:filename_language_country.properties.中文文件名为index_zh_CN.properties。日文文件名为 index_ja_JP.properties。英文文件名为 index_en.properties。英文文件内容:index.jsp.welcome=Colimas Library Management Systemi原创 2005-08-26 13:13:00 · 4224 阅读 · 1 评论 -
Web App使用Quartz实现java schedule job
关于Quartz1 下载Quartz java包copy到WEB-INF/lib下2 建立 scheduler初始化servlet在web.xml里加入 servlet> servlet-name>Initializerservlet-name> servlet-class> com.nova.colimas.we原创 2005-08-23 11:16:00 · 6602 阅读 · 0 评论 -
struts框架下,在jsp页面显示XSL格式化的XML。
struts框架下,在jsp页面显示XSL格式化的XML。需要以下步骤:1 页面显示前XML的Dom对象和Xsl文件地址存入request public class LoadDataAction extends Action { private Document mydata; private String xslPath; pu原创 2005-08-17 11:01:00 · 1830 阅读 · 0 评论 -
使用TextMiniing和Apache POI获得Word文件内容,无须MS-Office ActiveX
/* * Created on 2005/07/18 * 使用tm-extractors-0.4.jar */package com.nova.colimas.common.doc;import java.io.FileInputStream;import java.io.FileOutputStream;import org.textmining.text.extraction.WordExtr原创 2005-07-25 11:12:00 · 2047 阅读 · 1 评论 -
使用ProcessBuilder调用外部命令,并返回大量结果
在网上常见的用Java调用外部命令返回结果的方法是: process =runtime.exec(cmd) is = process.getInputStream(); isr=new InputStreamReader(is); br =new BufferedReader(isr); while( (line原创 2005-07-25 23:47:00 · 6445 阅读 · 1 评论 -
使用lucene生成html文件索引
我修改了lucene的demo包的IndexHTML类,使其可以被其他Java类调用。import org.apache.lucene.analysis.standard.StandardAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.index.IndexReader;import org.原创 2005-07-28 23:35:00 · 3393 阅读 · 0 评论 -
VB.NET客户端调用Axis的Java Web Service实现文件上传
1. Java Web Service类DocumentFileManagement:import java.io.*;/** * @author tyrone * */public class DocumentFileManagement {//文件名, 文件内容,保存到d盘根目录 public String saveFile(String filename,byte[] contents){原创 2005-07-29 23:06:00 · 3442 阅读 · 0 评论 -
Java实现读取Doxygen查询功能的索引文件。
Doxygen的Search功能的前端是使用search.php实现的。我使用java代替php,读取search.idx用Doxygen生成源代码的文档需要配置文件,配置文件内有search选项:#---------------------------------------------------------------------------# Configuration::addition原创 2005-07-25 11:38:00 · 2237 阅读 · 0 评论 -
使用Apache POI和Java获得Excel文件内容,无须MS-Office ActiveX OLE
* * Created on 2005/07/18 * 使用poi-2.5.1-final-20050804.jar */package com.nova.colimas.common.doc;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.HSSFSheet;import原创 2005-07-25 11:11:00 · 2376 阅读 · 1 评论 -
用java配置并调用Windows的At命令
Windows的At命令完成定期Task计划,也就是Schedule Batch Job。关于at的使用方法可以查找windows帮助。class类内调用了本blog里已经介绍的CMDExecute类本代码在WindowsXP内,用at命令定期运行自定义的一个批处理文件databasebackup.bat批处理文件内容:mysqldump --user=root --password=XXXXX原创 2005-07-26 21:30:00 · 3073 阅读 · 0 评论 -
创建简单Eclipse插件实现Axis WebService客户端
1 建立Eclipse插件File->New->Project->Plug-in development的Plug-in project->Next,填写Project名,Next, 填写内容,Next,选择Create plug-in using one of the templates,选择Hello,World,Finish。在视图可看到plugin.xml,在里加上运行调用Web Serv原创 2005-07-30 17:33:00 · 3992 阅读 · 0 评论 -
[原创]JAAS 实现in Struts Web App,使用XMLPolicy文件,不改变VM安全配置(1)认证
JAAS参考资料中流行的文章是扩展JAAS实现类实例级授权但它是基于JDK1.3,与目前的JDK1.4,JDK1.5不兼容,例如其中的配置如下:The following assumes you are using JDK 1.3 and the files were extracted tothe d:/JaasExample directory. You will save some work原创 2005-08-12 08:46:00 · 2093 阅读 · 0 评论 -
使用Eclipse 3.1 WST编写Struts文件上传
可以在eclipse.org网站上下载WST with Eclipse3.1文件,该文件包括Eclipse3.1和WST以及它所需要的所有插件,基本上不用装其他插件了。解包下载的文件后,建立新项目:Dynamic Web Project,这是需要配置调试用的Web服务器。我使用Tomcat 5.5,填写Tomcat 5.5的安装目录。将Struts所需要的lib和Tld文件拷贝到WEB-INF目录原创 2005-08-04 16:12:00 · 2440 阅读 · 0 评论 -
用XSLT文件在浏览器格式化显示XML文件
XMLSpy编辑XSD,DTD,XML和XSLT文件非常方便,altova公司还提供了Home Edition免费版提供下载。首先定义一个描述Component的XML Schema文件xml version="1.0" encoding="UTF-8" ?>-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by ibm (i原创 2005-08-08 10:34:00 · 3907 阅读 · 0 评论 -
[原创]JAAS 实现in Struts Web App,使用XMLPolicy文件,不改变VM安全文件(2)授权
本文章继续上一篇实现WebApp的授权5. 实现XMLPolicyFile类。public class XMLPolicyFile extends Policy implements JAASConstants { private Document doc = null; //private CodeSource noCertCodeSource=null;原创 2005-08-12 08:54:00 · 2120 阅读 · 2 评论 -
Java实现MessageBox类
MessageBox类弹出Java应用程序的警告,错误。package com.nova.colimas.install;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;imp原创 2005-08-06 14:11:00 · 9197 阅读 · 0 评论 -
web app的Log4j应用
web app的Log4j应用1 建立log.propertieslog level定为INFO,不显示DEBUG信息。log输出依次为文件,控制台log4j.rootLogger=INFO,R,CONSOLE#DEBUG,CONSOLElog4j.addivity.org.apache=true #################### Console Appender#############原创 2005-08-17 20:54:00 · 1505 阅读 · 0 评论 -
Web App struts框架里实现Filter.
1 web.xml里添加filter配置信息。 filter> filter-name>Authenticationfilter-name> filter-class> com.nova.colimas.web.filters.AuthenticationFilter filter-cl原创 2005-08-24 09:53:00 · 1583 阅读 · 0 评论 -
实现可扩展的DAO,本文给出实现DAO的编程思想。
开发环境:本文使用Tomcat,Struts和MySQL。为实现可扩展的DAO,本文将使用JNDI连接数据库,并将JNDI保存在XML文件里。同时也将调用sql语句的类 名保存在XML文件里。例如:1 dao-config.xml。该文件可以配置多个数据库的JNDI。在DAO初始化时,会将这些信息存入对象里。JNDI名为java:comp/env/jdbc/Colimasdao> d原创 2005-08-22 09:17:00 · 1823 阅读 · 0 评论 -
Java虚拟Unix/Linux文件路径
大部分的java程序应用于UNIX/Linux系统,而绝大部分的开发是在Windows下。虽然,java可以运行在anywhere, 但毕竟还有很多环境配置问题。例如在UNIX下,你需要将某些配置文件的路径写入到另一个配置文件。 也许有很多局限,使你必须写入绝对路径。在config.properties里写入logs = /logs/app/db/logs.propertiesco原创 2007-09-22 10:19:00 · 4246 阅读 · 0 评论