
常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子:
最简单的配置是只要取下面的log4j.properties文件中带下划线的四行就行,它完成日志输出到控制台。
一、log4j.properties 阅读全文 >>
常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子:
最简单的配置是只要取下面的log4j.properties文件中带下划线的四行就行,它完成日志输出到控制台。
一、log4j.properties 阅读全文 >>
LOG4J的配置之简单使它遍及于越来越多的应用中了:Log4J配置文件实现了输出到控制台、文件、回滚文件、发送日志邮件、输出到数据库日志表、自定义标签等全套功能。择其一二使用就够用了 阅读全文 >>
曾经是Eclipse的拥趸,今天晚上在网上Down了一个NetBean 5.0,安装到电脑上,打开试用了一下,确实比以前版本快很多,而且功能也非常的丰富,直接支持EJB开发,AJAX,JSF1.1,Struts都到1.2.7了,还要看看Struts低版本是如何支持的,WebService的开发;还有把源文件输出为HTML格式的功能,导出要展示的代码很有用的。
NetBean也是免费的,虽说Eclipse也是免费的,但Eclipse还得倚仗着盗版的MyEclipse才能做实际的开发;NetBean也有插件啊。看来一被忽略的NetBean需要好好去发掘,以后在本机学习、测试、验证代码的话我就在NetBean下进行了。
先看下面的代码,看看程序执行会是什么样的结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
import java.lang.reflect.Method; /** * @author Unmi */ public class ExceptionTest { public static void main(String[] args) { try{ foo1(); }catch (MyException me) { System.out.println(“Exception Type: MyException”); }catch (Exception e) { System.out.println(“Exception Type: Exception”); } } public static void foo1() throws Exception{ Method method = ExceptionTest.class.getDeclaredMethod(“foo2″,new Class[]{}); //注意调用foo2时,foo2方法会抛出MyException异常 method.invoke(null,new Object[]{}); }<!--more--> public static void foo2() throws Exception{ throw new MyException(); //foo2方法直接抛出异常 } } //一个自定义的异常 class MyException extends Exception{ } |
还记得那个古老的Foxbase和Foxpro产生的数据库吗?与access(MDB)类似的文件型数据库,可是有些地方有人还在用它。DBF数据库一般都是在Foxbase或Foxpro中或由它们生成的应用程序来访问,也可以通过建立ODBC的方式来访问。
Java要访问什么数据库第一个念头就会是有没有相应的驱动啊,有驱动那好办,若是没有驱动那能不能通过配置ODBC,用JDBC-ODBC桥来访问呢?当然Java访问DBF文件是可以通过JDBC-ODBC的方式,但这样的话是不是纯Java实现还说,倒是得为要访问的DBF文件建一个数据源麻烦,尤其是程序移植时。 阅读全文 >>
当我们在Oracle中用Java写的存储过程方法中,如果访问了本地文件系统、连接了网络、或者运行系统命令,就必须为执行该过程的模式赋予相应的权限。不然执行该存储过程就会报无该操作权限的异常。
本文所面对的是哪些会用Java写存储过程的朋友,可能你们在用Java写Oracle的存储过程也遇到过类似问题。希望对他们能有所帮助。关于如何用Java写Oracle的存储过程请参考我前面的一篇文章:Oracle8i中使用Java语言来开发存储过程,其中有相应的代码。 阅读全文 >>
认识StringBuilder大概是在一年前的八九月份里,还是在JDK1.5从未正式发布始,一直都是关注的它的几大显著特性--泛型、静态引入、装拆箱和不定参等,某些比较细微的差别却没注意到。
大家都知道处理字符串连接时StringBuffer比String效率高,因为从编译的字节码中也可以看到String的相加也是要转换为StringBuffer来进行的。
比如对于这几句代码 ①String s = "Hello"; ②s=s+" Java"; ③s=s+" World!"; 反编译之后从字节码可以看出虚拟机实际是如何处理的(具体字节码这里就略去了,对于详细字节码的分析我想如果需要的时候以后会单独写一篇来介绍):
阅读全文 >>
J2EE容器分为Servlet容器和EJB容器,例如Tomcat就是一个Servlet容器,WebLogic,WebSphere Application Server,JBoss就是EJB容器。他们都提供JNDI的支持,你可以把任何资源(如DataSource、JMS、Queue、Mail甚至是URL资源)都绑定到JNDI上下文中,这样可以降低组件间的耦合性。
通常的Servlet容器(如Tomcat、Resin)中的JNDI资源只能被容器中的程序查到、使用,而不能在容器外引用,也就是只能被容器所以进程所用;而EJB容器中的JNDI资源却可以在容器外,或者是另一台机器上的程序查找到并透明使用,因为EJB本来就是要为分布式服务的。EJB容器中的JNDI资源可以通过JNP、RMI、IIOP、T3或文件引用的方式发布出去。 阅读全文 >>
网上找了好些个关于CheckStyle的文章都是抄抄抄一大通,却没有一个build.xml着实可运行,
在这里我也是参考着一编,改改成能成功运行并能生成正确报告,发送 Email 的build.xml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
<?xml version="1.0" encoding="gb2312"?> <!-- ANT make file checkstype --> <!-- See <a href="http://jakarta.apache.org/ant" data-mce-href="http://jakarta.apache.org/ant">http://jakarta.apache.org/ant</a> for info about ANT --> <!-- 网上下来的CheckStyle解压在d:/javalib/CheckStyle/checkstyle-4.1中 --> <project name="checkstyle" default="checkstyle" basedir="d:/javalib/CheckStyle/checkstyle-4.1"> <!-- CheckStyle配置,这里你替换成你实际的环境 --> <property name="project.docs.dir" value="${basedir}/contrib"/> <!-- 源代码的目录是e:/eclipseworkspace/talupdate/src --> <property name="project.src.dir" value="e:/eclipseworkspace/talupdate/src"/> <!-- 建立了build目录在其中生成报告 --> <property name="project.checkstyleReport.dir" value="${basedir}/build"/> <property name="checkstyle.jar" value="${basedir}/checkstyle-all-4.1.jar"/> <!-- 使用SUN的代码规范,可替换成公司自己的规范 --> <property name="checkstyle.config" value="${basedir}/sun_checks.xml"/> <property name="checkstyle.report.style" value="${project.docs.dir}/checkstyle-noframes.xsl"/> <property name="checkstyle.result" value="${project.checkstyleReport.dir}/checkstyle_result.xml"/> <property name="checkstyle.report" value="${project.checkstyleReport.dir}/checkstyle_report.html"/> <!-- 定义发送邮件列表 --> <property name="mail.list" value="(User1)user1@xxx.com,(User2)user2@xxx.com"/> <target name="init"> <tstamp/> </target> <!--CheckStyle脚步--> <taskdef resource="checkstyletask.properties" classpath="${checkstyle.jar}"/> <target name="checkstyle" depends="init" description="对java源代码进行检查并产生检查报告. "> <checkstyle config="${checkstyle.config}" failOnViolation="false" failureProperty="checkstyle.failure"> <formatter type="xml" tofile="${checkstyle.result}"/> <fileset dir="${project.src.dir}" includes="**/*.java"/> </checkstyle> <!-- 生成报告,其格式取决于${checkstyle.report.style} --> <style in="${checkstyle.result}" out="${checkstyle.report}" style="${checkstyle.report.style}"/> </target> <!-- 当有不规范的情况发生时将检查结果发送到 --> <target name="checkstyle-nightly" depends="checkstyle" if="checkstyle.failure" description="Sends email if checkstyle detected code conventions violations."> <!-- 如果邮件服务器需要验证,则加上 user 和 password 属性 --> <mail from="(Admin)admin@xxx.com" tolist="${mail.list}" mailhost="mail.xxx.com" subject=" checkstyle result from project reports" files="${checkstyle.report}"/> </target> </project> |
<继续补充内容>