星期日, 二月 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);
}
订阅:
博文 (Atom)