To see a world in a grain of sand.
And a heaven in a wild flower
Hold infinity in the palm of your hand.
And eternity in an hour
一花一世界
一沙一天堂
掌中握无限
霎那成永恒
星期日, 二月 27, 2005
星期五, 二月 25, 2005
CRM (Custom Relationship Management) 理论再现江湖.
前几天找到了一个开源的CRM.www.opencrx.com非常不错.
让Micros去搞,做为一个主力产品.
BTW:昨天在Jboss 3.2.3+Oracle 9i +openCrx 1.4成功安装了.但没有运行下.
今天看一下.非常不错的东西.
让Micros去搞,做为一个主力产品.
BTW:昨天在Jboss 3.2.3+Oracle 9i +openCrx 1.4成功安装了.但没有运行下.
今天看一下.非常不错的东西.
XMLHttpRequest 和encodeURIComponent及encodeURL.
通过XMLHhttpRequest向Web传送参数.用encodeURL来编码需要传送的字符串.如:script=....,但是如果包含&&符号的话,则传递到服务器期端就会在&符号处被断开.
必须使用下列方法来编码包含&&特殊符号的串.
window.encodeURIComponent
BTW:如何构造XMLHttpRequest的Post方式传递参数到服务器.
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//关键句.
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText
必须使用下列方法来编码包含&&特殊符号的串.
window.encodeURIComponent
BTW:如何构造XMLHttpRequest的Post方式传递参数到服务器.
objHTTP.Open('POST',"OtherPage.asp",false);
objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//关键句.
objHTTP.send("id=1&user="+txtUser.value+"&password="+txtPassword.value);
strResult=objHTTP.responseText
星期四, 二月 24, 2005
星期一, 二月 21, 2005
如何在GroovyShell中嵌套执行脚本?
问题:在Groovy Script中,还有部分脚本来自其他媒体,比如数据库中.
需要把数据库中的代码和当前脚本一起混合执行.
解决:在当前Groovy Script中,用evaluate(String Script)来执行.
就可以了.
比如下列代码:
payitem=null;
CURRENT_CATAGORY.find(){if(it.payitemcode==Payitemcode)payitem=it}
evaluate(payitem.businessrule);
一段可以完全执行演示的代码:
import java.util.*;
mine=new ArrayList();
mine.add("123");
mine.add("3454");
script="evaluate(\"println('1sfdas')\n\");";
//keep variable self
evaluate(script);
打印出来
需要把数据库中的代码和当前脚本一起混合执行.
解决:在当前Groovy Script中,用evaluate(String Script)来执行.
就可以了.
比如下列代码:
payitem=null;
CURRENT_CATAGORY.find(){if(it.payitemcode==Payitemcode)payitem=it}
evaluate(payitem.businessrule);
一段可以完全执行演示的代码:
import java.util.*;
mine=new ArrayList();
mine.add("123");
mine.add("3454");
script="evaluate(\"println('1sfdas')\n\");";
//keep variable self
evaluate(script);
打印出来
MySQL 如何改变一个Database的名字?
Mysql 目前还没有直接可以修改database的命令,比如Oracle的alter database .
不过Mysql的database目录对应着mysql安装目录下的data目录下的一个目录的名字.
所以最简单的方法,就是
1.shutdown Mysql Server
2.修改data目录下database对应的目录的名字就可以了.
还有常用的方法.
1.mysqldump -B database>database.sql 出要修改名字的database
2.drop database dataasename
3.修改database.sql中的建立database的命令.
4.source database.sql
不过Mysql的database目录对应着mysql安装目录下的data目录下的一个目录的名字.
所以最简单的方法,就是
1.shutdown Mysql Server
2.修改data目录下database对应的目录的名字就可以了.
还有常用的方法.
1.mysqldump -B database>database.sql 出要修改名字的database
2.drop database dataasename
3.修改database.sql中的建立database的命令.
4.source database.sql
星期五, 二月 18, 2005
关于规则表达(Regular Expression)RE的站点
RE 汇总站点:
http://www.wellho.net/regex/index.html
比较好的C++ RE:
http://www.boost.org/libs/regex/doc/syntax.html
http://www.wellho.net/regex/index.html
比较好的C++ RE:
http://www.boost.org/libs/regex/doc/syntax.html
星期四, 二月 17, 2005
Tomcat 5.0.28 with J2sdk 1.4.2_x毛病太多.
典型的问题(无解):
在Server.xml中定义<Context path="/jsr223samples" docBase="C:/jsr223/samples" debug="0" reloadable="true" crossContext="true"/>
访问目录下的任何一个jsp的时候出现:
package javax.servlet does not exist
这个问题是Tomcat 5.x ClassLoader算法的问题.把jsp打包在web moduler .war文件里发布没有问题.
PS:有人说要同j2sdk 5.0同Tomcat 5.x一起使用可以解决这个问题.没有试验过.
在Server.xml中定义<Context path="/jsr223samples" docBase="C:/jsr223/samples" debug="0" reloadable="true" crossContext="true"/>
访问目录下的任何一个jsp的时候出现:
package javax.servlet does not exist
这个问题是Tomcat 5.x ClassLoader算法的问题.把jsp打包在web moduler .war文件里发布没有问题.
PS:有人说要同j2sdk 5.0同Tomcat 5.x一起使用可以解决这个问题.没有试验过.
星期三, 二月 16, 2005
Java 平台里程碑的事件.JSR223草案发布
Scripting for the Java Platform
试用了一下,基本ScriptEngine同BSF类似(resemble).
不过让人惊奇的时,现在Web Tier不只有JSP可以使用了.
我们完全可以用javascript,groovy,php来直接解析和调用Servlet的API了.
这太Cool了.
换句话说,javasript可以同时在server端和Client使用同一套语法来做了.
只要符合Javascripting Engin的接口规范,其他任何语言都可以使用Java的类库了.
不知道,swing是否可以直接调用.理论上没什么问题.
方法:
1.修改配置文件.
conf/server.xml
<Context path="/jsr223samples" docBase="C:/jsr223/samples" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_jsr223" suffix=".txt"/>
</Context>
conf/web.xml
<servlet>
<servlet-name>JSR223Script</servlet-name>
<servlet-class>com.sun.script.http.ScriptServlet</servlet-class>
<init-param>
<param-name>script-blocks</param-name>
<param-value>js,groovy</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
这样设置后,就可以直接调用对应的.js,php,.groovy的脚本文件在服务器端直接执行并输出结果了.
2.在Java代码中调用对应的引擎
//Initiate ScriptEngineManager
ScriptEngineManager manager = new ScriptEngineManager();
//Return Groovy engine by name
ScriptEngine jsengine = manager.getEngineByName("groovy");
//或者改为js或php
//Execute the HelloWorld script
jsengine.eval(new FileReader("./HelloWorld.groovy"));
试用了一下,基本ScriptEngine同BSF类似(resemble).
不过让人惊奇的时,现在Web Tier不只有JSP可以使用了.
我们完全可以用javascript,groovy,php来直接解析和调用Servlet的API了.
这太Cool了.
换句话说,javasript可以同时在server端和Client使用同一套语法来做了.
只要符合Javascripting Engin的接口规范,其他任何语言都可以使用Java的类库了.
不知道,swing是否可以直接调用.理论上没什么问题.
方法:
1.修改配置文件.
conf/server.xml
<Context path="/jsr223samples" docBase="C:/jsr223/samples" debug="0" reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_jsr223" suffix=".txt"/>
</Context>
conf/web.xml
<servlet>
<servlet-name>JSR223Script</servlet-name>
<servlet-class>com.sun.script.http.ScriptServlet</servlet-class>
<init-param>
<param-name>script-blocks</param-name>
<param-value>js,groovy</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JSR223Script</servlet-name>
<url-pattern>*.groovy</url-pattern>
</servlet-mapping>
这样设置后,就可以直接调用对应的.js,php,.groovy的脚本文件在服务器端直接执行并输出结果了.
2.在Java代码中调用对应的引擎
//Initiate ScriptEngineManager
ScriptEngineManager manager = new ScriptEngineManager();
//Return Groovy engine by name
ScriptEngine jsengine = manager.getEngineByName("groovy");
//或者改为js或php
//Execute the HelloWorld script
jsengine.eval(new FileReader("./HelloWorld.groovy"));
星期三, 二月 02, 2005
如何得到Java 对象的大小Size.
Object ob = new Object();
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(ob);
System.out.println("Size = " + out.toByteArray().length);
ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(ob);
System.out.println("Size = " + out.toByteArray().length);
星期二, 二月 01, 2005
如何格式化BigDecimal小数部分--小数点后面为两位数并且四舍五入.
/**
* 格式化数据,返回标准的Money表示结果
* @param value BigDeciam
*/
public static BigDecimal formatBigDecimal(BigDecimal value)
{
BigDecimal a=new BigDecimal("1");//必须用这个方法,才能精确得到准确的值
return value.divide(a,2,java.math.BigDecimal.ROUND_HALF_UP);
}
* 格式化数据,返回标准的Money表示结果
* @param value BigDeciam
*/
public static BigDecimal formatBigDecimal(BigDecimal value)
{
BigDecimal a=new BigDecimal("1");//必须用这个方法,才能精确得到准确的值
return value.divide(a,2,java.math.BigDecimal.ROUND_HALF_UP);
}