54powerman

开源~节流

2009年2月6日 #

试用Windows Live Writer

还不错,只是很多blog支持不好,汗了~规范还是很重要的。

spaces.live.com很简单,按照向导输入live id和密码即可,其他日志,需要指定一些参数。整理了一些配置参数放在这里,随时更新:

博客园

日志网址:http://www.cnblogs.com/54powerman/

日志类型:Metaweblog API

日志远程发布url:http://www.cnblogs.com/54powerman/services/metablogapi.aspx

BlogJava.net

日志网址:http://www.blogjava.net/54powerman/

日志类型:Metaweblog API

日志远程发布url:http://www.blogjava.net/54powerman/services/metablogapi.aspx

posted @ 2009-02-06 13:48 54powerman 阅读(75) | 评论 (0)编辑 收藏

2006年10月18日 #

C#文本文件读写范例

   string fileName="e:\\test.txt";
   System.IO.StreamWriter sw=new System.IO.StreamWriter(fileName);
   sw.WriteLine(System.DateTime.Now);
   sw.Close();

   if(System.IO.File.Exists(fileName))
   {
    System.IO.StreamReader sr=new System.IO.StreamReader(fileName);
    String line=null;
    while((line=sr.ReadLine())!=null)
    {
     System.Console.WriteLine(line);
    }
    sr.Close();
   }

posted @ 2006-10-18 16:50 54powerman 阅读(1320) | 评论 (0)编辑 收藏

实现Tomat启动自动运行一个类

1 用一个例子来说明问题,本例要求统计tomcat启动的次数,并保存在d:/test.txt中。一个很简单的逻辑,重点在于tomcat启动自动加载一个类来实现一定的操作。
2 首先编写一个servlet类--Startup.java
3 将需要自动运行的操作代码写在init方法中。
4 如下配置web.xml
  <servlet>
    <servlet-name>startup</servlet-name>
    <servlet-class>com.usease.Startup</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
5 附servlet全代码:
package com.usease;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Startup extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=GBK";
    //Initialize global variables
    public void init() throws ServletException {
        try {
            File file = new File("d:/test.txt");
            int count = 0;
            if (file.exists()) {
                BufferedReader in = new BufferedReader(new FileReader(file));
                String inString = in.readLine();
                count = Integer.parseInt(inString);
                in.close();
            }
            count++;
            PrintWriter out = new PrintWriter(new FileOutputStream("d:/test.txt"));
            out.print(count);
            out.close();
        }
 catch (IOException e) {}
        System.out.println("Count completed!");
    }
    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
    }
    //Clean up resources
    public void destroy() {
    }
}
6 这样,当Tomcat加载这个Context路径的时候,就会自动相应的操作了。
 
说明:一般这个操作用于Tomcat启动后自动加载一些全局变量,初始化信息等,当然你可以象本例中做一些其他操作。

posted @ 2006-10-18 15:52 54powerman 阅读(188) | 评论 (0)编辑 收藏

Jbuilder开发环境配置连接池常见错误及解决

1 Cannot create JDBC driver of class '' for connect URL ''

问题:找不到 jdbc 驱动,但是提示信息里的 class 值为 null ,所以,可以断定 Tomcat 没有找到 Server.xml 里的 Resource 配置信息。可能的原因包括:

1 )没有配置 Resource

2 Resource 配置信息放置的位置错误。

3 )一个不容易发现的错误, driverClassName url 拼写错误。

解决办法:确认 Resource 配置正确,并且必须放在 DefaultContext 或者 Context 配置节内。

 

2 Cannot create JDBC driver of class 'xxx' for connect URL ''

解决办法:配置的数据库驱动类名 xxx 是错误的,检查并修改即可;如果确认正确,那就是找不到驱动库,拷贝一个 jar Tomcat/common/lib 中即可。

 

3 Cannot create JDBC driver of class '' for connect URL 'xxx'

解决办法:配置的 url 字符串语法是错误的,检查后修改即可。

 

4 Cannot create PoolableConnectionFactory, cause: Io 异常 : Connection refused

问题:无法创建连接池工厂对象,原因是连接被拒绝。

解决办法:检查 url 字符串,可能服务器地址、端口、数据库名或者数据库实例名等信息错误。修改。

 

5 No suitable driver  没有匹配的驱动

分析:驱动程序配置错误,请确认 Tomcat common/lib 子目录中是否有数据库驱动 jar

 

6 Cannot create resource instance 无法创建数据源实例

问题:找不到 commons-dbcp-1.1.jar (版本可能不同)

解决办法:复制 commons-dbcp-1.1.jar 库文件到 Tomcat/Common/lib 子目录中。

 

7 root cause

java.lang.NoClassDefFoundError: org/apache/commons/collections/CursorableLinkedList

问题:找不到 commons-collections.jar

解决办法:复制 commons-collections.jar 库文件到 Tomcat/Common/lib 子目录中。

 

8 root cause

 java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/GenericObjectPool

问题:找不到 commons-pool-1.1.jar (版本可能不同)。

解决办法:复制 commons-pool-1.1.jar 库文件到 Tomcat/Common/lib 子目录中。

posted @ 2006-10-18 15:52 54powerman 阅读(259) | 评论 (0)编辑 收藏

Transport dt_socket failed to initialize, rc = 509

错误说明:用JbuilderX编译工程,运行没有问题,debug调试就出现错误。记得前几天还好好的啊。奇怪?~!!

折磨了我好几天。错误如下。

错误现象:

-- Cannot start Java debug process VM --
com.sun.jdi.connect.VMStartException: VM initialization failed for: C:\JBuilderX\jdk1.4\bin\javaw -classpath "C:\JBuilderX\thirdparty\jakarta-tomcat-4.0.6-LE-jdk14\bin\bootstrap.jar;C:\JBuilderX\jdk1.4\lib\tools.jar"  -Dcatalina.home="C:/JBuilderX/thirdparty/jakarta-tomcat-4.0.6-LE-jdk14"  -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=sensky-200:1076,suspend=y org.apache.catalina.startup.Bootstrap -config D:\Project\ResourceManage\Tomcat\conf\server8083.xml start
Transport dt_socket failed to initialize, rc = 509.

查了半天资料,大部分文章都说是Path中java.exe的路径与Jbuilder中的启动程序路径不同造成的。

检查了一下,没错啊。就是这么设置的啊。还是不行。

后来干脆把Path变量中的jdk路径删除,ok了。

原来,前几天,为了手动编译单个java文件方便,把jdk的bin目录加到了path中,结果,脱裤子放屁,多此一举。提示大家注意。

另外,安装jre5以后,它可能会自动把它的bin目录加到path中,注意。

posted @ 2006-10-18 15:51 54powerman 阅读(1494) | 评论 (0)编辑 收藏

修正Jbuilder代码编辑窗口光标与字符错位问题

在Jbuilder安装目录的 bin文件夹下 修改 jbuilder.config文件, 添加下面一行:

 

 vmparam -Dprimetime.editor.useVariableWidthFont=true

 

关闭Jbuilder重新打开,看看效果吧。

posted @ 2006-10-18 15:50 54powerman 阅读(333) | 评论 (0)编辑 收藏

C#集合类使用范例

//Dictionary
System.Collections.DictionaryEntry dic=new System.Collections.DictionaryEntry("key1","value1");

//ArrayList
System.Collections.ArrayList list=new System.Collections.ArrayList();
list.Add(1);
list.Add(2);
for(int i=0;i<list.Count;i++)
{
 System.Console.WriteLine(list[i]);
}

//HashTable
System.Collections.Hashtable table=new System.Collections.Hashtable();
table.Add("table1",1);
table.Add("table2",2);
System.Collections.IDictionaryEnumerator d=table.GetEnumerator();
while(d.MoveNext())
{
 System.Console.WriteLine(d.Entry.Key);
}

//Queue
System.Collections.Queue queue=new System.Collections.Queue();
queue.Enqueue(1);
queue.Enqueue(2);

System.Console.WriteLine(queue.Peek());
while(queue.Count>0)
{
 System.Console.WriteLine(queue.Dequeue());
}

//SortedList
System.Collections.SortedList list=new System.Collections.SortedList();
list.Add("key2",2);
list.Add("key1",1);
for(int i=0;i<list.Count;i++)
{
 System.Console.WriteLine(list.GetKey(i));
}

//Stack
System.Collections.Stack stack=new System.Collections.Stack();
stack.Push(1);
stack.Push(2);

System.Console.WriteLine(stack.Peek());
while(stack.Count>0)
{
 System.Console.WriteLine(stack.Pop());
}

posted @ 2006-10-18 15:48 54powerman 阅读(2110) | 评论 (1)编辑 收藏

仅列出标题