使用JNative,在Java中传递一个C/C++结构参数到动态库中

用C++写的动态库的导出方法的代码如下:

阅读全文 >>

类别: Java/JEE. 标签: , . 阅读(1,133). 评论(0) »

使用Java的反射调用方法应注意的异常处理

先看下面的代码,看看程序执行会是什么样的结果:

简单分析上面的代码,代码中自定义了一个异常类,main调用了方法foo1,而方法foo1调用了方法foo2,在方法foo2中抛出的异常是MyException,该异常向上传播,在main方法中被catch,那么是不会会第一个catch语句捕获到,在控制台下打印出"Exception Type: MyException"呢?其实不然,异常会被第二个catch语句捕获,实际执行结果是"Exception Type: Exception"。

也就是尽管foo2方法中抛出的是MyException,但是让foo1通过反射方式调用后,异常被重新封装。从foo1方法中执向外面的异常实际是"InvocationTargetException",也就是执行method.invoke方法的异常了,那么在foo1中如何知道触发的实际异常呢,InvocationTargetException有一个方法getTargetException()可以获取到是MyException异常。

如果我们想在main方法中更细致的处理实际方法执行所抛出的异常,应如何做呢?我们可以改写foo1中的反射调用代码行

替换如下,让在foo2中触发的实际异常向外抛

这样的话,这个异常将在main方法的第一个catch块被捕获,异常类型被还原成MyException。

我是在项目中使用Struts,写了一个BaseAction,在BaseAction中根据参数反向调用相应的Action Perform方法时,在BaseAction中也是写成上面代码那样的异常捕获方式,结果发现只要是Action Perform方法中抛出的异常总是作为Exception被捕获的,而不能正确处理异常中描述的业务含业。

用Struts做项目时,经常会写自己的BaseAction,由这个BaseAction去分发执行哪一个实际方法,并且由它统一根据上抛的异常处理错误信息时就应该注意到这种问题。

类别: Java/JEE. 标签: , , . 阅读(700). 评论(0) »

纯Java程序读取DBF文件型数据库

还记得那个古老的Foxbase和Foxpro产生的数据库吗?与access(MDB)类似的文件型数据库,可是有些地方有人还在用它。DBF数据库一般都是在Foxbase或Foxpro中或由它们生成的应用程序来访问,也可以通过建立ODBC的方式来访问。

Java要访问什么数据库第一个念头就会是有没有相应的驱动啊,有驱动那好办,若是没有驱动那能不能通过配置ODBC,用JDBC-ODBC桥来访问呢?当然Java访问DBF文件是可以通过JDBC-ODBC的方式,但这样的话是不是纯Java实现还说,倒是得为要访问的DBF文件建一个数据源麻烦,尤其是程序移植时。 阅读全文 >>

类别: Java/JEE. 标签: , . 阅读(824). 评论(0) »

Oracle中的Java存储过程的操作权限

当我们在Oracle中用Java写的存储过程方法中,如果访问了本地文件系统、连接了网络、或者运行系统命令,就必须为执行该过程的模式赋予相应的权限。不然执行该存储过程就会报无该操作权限的异常。

本文所面对的是哪些会用Java写存储过程的朋友,可能你们在用Java写Oracle的存储过程也遇到过类似问题。希望对他们能有所帮助。关于如何用Java写Oracle的存储过程请参考我前面的一篇文章:Oracle8i中使用Java语言来开发存储过程,其中有相应的代码。 阅读全文 >>

类别: Database, Java/JEE. 标签: , , . 阅读(387). 评论(0) »

Oracle8i中使用Java语言来开发存储过程

在Oracle8i之前,开发人员只能使用PL/SQL来开发存储过程。而在Oracle8i之中,不仅可以使用原有的PL/SQL开发存储过程,而且也可以使用Java语言来开发存储过程。本篇文章将简单介绍关于这方面的知识,包括以下内容:(灰色显示的部分在此将不作详细介绍)

本文是我参考网上资料,整理出来的一份,文中所有代码语句均真实可用,因只是作测试,所以代码未表现实际业务操作。

一. 存储过程简介
阅读全文 >>

类别: Database, Java/JEE. 标签: , , . 阅读(79). 评论(1) »

一个切实可用的CheckStyle的build.xml文件

网上找了好些个关于CheckStyle的文章都是抄抄抄一大通,却没有一个build.xml着实可运行,
在这里我也是参考着一编,改改成能成功运行并能生成正确报告,发送 Email 的build.xml文件

<继续补充内容>

类别: Java/JEE. 标签: , , . 阅读(536). 评论(0) »