log4j分包输出
示例:log4j.rootLogger=info,stdout,logfile,errfilelog4j.logger.com.neusoft=info,neusoftfilelog4j.logger.com.neusoft.move=info,movefilelog4j.logger.com.MiSearch=info,searchfile[@more@]### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %l - %m%n#log4j.logger.com.neusoft=INFO#log4j.logger.
64bit jdk jni 依赖库不存在错误
用32位jdk1.4调用时,完全正确。 用64位jdk1.6调用时,报依赖库不存在错误。 分析: 64位jdk调用jni时,只能调用64位本地dll,对32位dll地址编码不对,不认dll,故报错。[@more@]
getOutputStream() has already been called
tomcat中出现,weblogic中不出现。 jsp出现,servlet不出现。 解决: 在pageContext操作前增加 out.clear(); out=pageContext.pushbody();[@more@]
ajax xml,页面出现中文乱码
最近用java+ajax+tomcat+oracle处理时,发现页面总有一些地方是乱码,而其它地方正常。再仔细研究,发现乱码都是通过ajax,通过局部刷新从后台发送xml解析后出现的。通过log4j.xml打印,字符是正常的,但是发现xml是通过utf-8编码的,所有,在action中增加:response.setContentType("text/html;charset=utf-8");从而保证javascript能正确解析xml。[@more@]
include jsp 中文乱码
tomcat4.1在outter.jsp中 <%@ include file="inner.jsp" %> ,当inner.jsp中包含中文时报错。如果在outter.jsp已用:<%@ page contentType="text/html; charset=GBK" %>则在inner.jsp中,不能再包括contentType="text/html; charset=GBK".否则报错:Page directive: can't have multiple occurrences of contentType。处理方法,在inner.jsp中增加如下代码:<%@ page pageEncoding= "gbk" %> [@more@]
tomcat log4j时区设置
今天发现 ,log4j输出的时间总是比机器时间晚8小时,我估计是时区设置问题。刚开始以为是log4j的设置,结果网上没找到有用的东西。原来是tomcat的时区需要设置。另外,tomcat有时容易暴outofmemory错误,按如下设置就好使了:-Xms128m -Xmx512m -Duser.timezone=GMT+08[@more@]
java ftpclient问题
java ftpclient问题(sun.net.ftp.FtpClient) 1 sun.net.ftp.FtpProtocolException: PORT :501 PORT not allowed after EPSV ALL, active mode off 很多ftp服务器传输时采用被动模式,可用命令ftpClient.sendServer("PASV")解决。后面不要int reply = ftpClient.readServerResponse();否则问题依旧。 2 java.net.SocketException: Connection reset 导致此问题的出现是因为下载还没结束,就提前关闭客户端。也可以这样理解:在客户端与服务端建立了一个流通道,这个流通道一端进,一端出,在一端持续进的时候,你把出的一端给关
转:【Eclipse插件开发】打开编辑器
转:【Eclipse插件开发】打开编辑器 http://www.blogjava.net/zhuxing/archive/2008/08/27/225041.html //创建工程 IProject project = ResourcesPlugin.getWorkspace().getRoot() .getProject("TestProject"); if (!project.exists()) project.create(null); if (!project.isOpen()) project.open(null); //创建文件 IFile java_file = project.getFile(new Path("/java_file.java")); InputStream inputStreamJava = new ByteArrayInputStream( "class MyType{}".getBytes(
JVMST109: Insufficient space in Javaheap to satisfy allocation request
JVMST109: Insufficient space in Javaheap to satisfy allocation request错误的处理 环境:aix5.3L+weblogic8.1+ibm jdk1.42 6g内存,给weblogic的内存为1536m. 错误: JVMST109: Insufficient space in Javaheap to satisfy allocation request java.lang.OutOfMemoryError (简称oom)发生情况: 当一报表结果集8万行的时候,页面只取100行的时候报异常,生产库服务器停掉了. 为查出原因,找了很多相关资料,其中有谈到ibm jdkjdk1.4的垃圾回收机制与sun jdk1.4机制的异同.没有时间去考察这些异同的真实性.另这类错误,既然是大内存的分配与释放,
自定义规范
用java开发一段时间以后,再回头去看自己团队写得那些代码:自已写的,同事写的,老觉得,为什么就这么难看呢?1 格式不统一。建议用工具自带的功能格式化源码。2 sql语句不规范。用sql写得查询一句,应一律要求用绑定变量方式,虽然在调试的时候,稍微有点不如意,但也有解决的方法。用绑定变量的方式对象可以解决sql依赖注入问题。另外对于一个大系统而言,用变量绑定方式,对于数据库服务器而言,是一种强有力的优化,不信,你可以查一下你的sqlarea.3 formbean的不规范。建议formbean中的field与表结构中的column_name对应起来。基类中
jsf与jsp
最近有看jsf,对用netbeans开发jsf这一块真是一个字了得:爽! jsf是对jsp的重大改进,但目前没有流行起来,实在感觉有点怪怪的! 也许是sun公司的推销策略不好,也许大部分公司都在struts上面投入太多的人力 物力,不愿意一下子迁移到jsf的平台上去.用惯了struts觉得struts开发挺顺手的, 效率也挺高的,这也是人之常情! 但面对又一次傻瓜似的环境,又一个vb似的平台,对于主要面向业务系统而言的开发 又有什么理由去拒绝呢? 我相信,jsf终会是java web框架的主流![@more@]近日再看前些日子,写得这篇文章,觉得多么的轻率。其实现在的开
java反射技术的应用
如何用java反射技术将sql操作与面向对象编程关联起来请看一例public class SqlUtil extends BaseApplogic { public List excuteQuery(String sql, Object[] paras, Object voo) throws AppException { DBPersistenceManager dbpm = this.getFnmsDBPM(); List list=new ArrayList(); try { DataSet ds = (DataSet) dbpm.executeQuery(sql, paras); DataSetMetaData dsmd = ds.getDataSetMetaData(); Field[] fd = voo.getClass().getDecla
使用Annotation简化开化
核心:jdk5的Annotation。思想:在接口上加上sql查询注解,在业务逻辑上只简单传入接口名。(部分内容摘自http://www.blogjava.net/nake/archive/2006/05/11/45736.aspx)[@more@] 1、pojo:pubic class Employee {private int employeeId;private String firstName;private String lastName;public int getEmployeeId() {return employeeId;}public setEmployeeId(int employeeId) {this.employeeId = employeeId;}public String getFirstName() {return firstName;}public setFirstName(String firstName) {this.firstName = firstName;
用java调用oracle存储过程
今天碰到一个问题,用java调用oracle的一个存储过程,调用报异常,修改(故意写错),调用,再修改(改正确),调用 。居然好使了!注:报异常时将各参数放到oracle中调试存储过程,没有问题!重启服务器,又报同样错误!晕死。[@more@]怀疑环境问题,将tomcat环境改为weblogic,将正确调用时好的class发布到weblogic,重启,同样报错!没招了。在oracle用命令重新编译alter package 包名 compile;alter package 包名 compile body;再调用,还是不好使。将包删掉,再创建包!再调用,还是不好使!天将降大任于斯人也,必先苦其心志!想不到好的办法