buffalo-2.0(国人开发的Ajax框架),下载buffalo-2.0-bin就可以了,个人认为也下载buffalo-2.0-src
下载地址:
http://sourceforge.net/project/showfiles.php?group_id=178867
1.buffalo-2.0.jar
在buffalo-2.0-bin里,把它加到Web应用程序里的lib
2.buffalo.js和prototype.js
我把这两个文件放到Web应用程序的scripts/目录下,buffalo.js在buffalo-2.0-bin里,prototype.js在buffalo-demo.war里找
4.web.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    
    
    <servlet>
        <servlet-name>bfapp</servlet-name>
        <servlet-class>net.buffalo.web.servlet.ApplicationServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>bfapp</servlet-name>
        <url-pattern>/bfapp/*</url-pattern>
    </servlet-mapping>
    
</web-app>
5.index.jsp文件
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>第一个 buffalo 示例程序</title>
    <script language="JavaScript" src="scripts/prototype.js"></script>
    <script language="JavaScript" src="scripts/buffalo.js"></script>
    <script type="text/javascript">
    var endPoint="<%=request.getContextPath()%>/bfapp";
    
    var buffalo = new Buffalo(endPoint);
    function hello(me) {
        buffalo.remoteCall("demoService.getHello", [me.value], function(reply) {
            alert(reply.getResult());
        })
    }
    </script>
  </head>
  
  <body>
    输入你的名字:<input type="text" name="myname">
    <input type="button" value="Buffao远程调用" onclick="hello($('myname'));"><br>
  </body>
</html>
说明:remoteCall是远程调用方法,demoService是buffalo-service.properties文件的键,getHello是被调用java类方法名,me.value是传给getHello方法的参数,reply.getResult()是getHello返回的值。
6.DemoService.java文件
package demo.buffalo;
/**
 * 
 * @文件名 demo.buffalo.DemoService.java
 * @作者 chenlb
 * @创建时间 2007-7-14 下午12:42:17 
 */
public class DemoService {
    public String getHello(String name) {
        return "Hello , "+name +" 这是第一个buffalo示例程序";
    }
}
7.buffalo-service.properties文件放到WEB-INF/classes/目录下
demoService=demo.buffalo.DemoService
说明:框架是通过此文件来查找远程调用的类的。
8.现在可以运行了。
示例下载
注意:Eclipse项目,文件编码是UTF-8
官方地址:
Buffalo中文论坛:
http://groups.google.com/group/amowa
http://buffalo.sourceforge.net/tutorial.html
http://confluence.redsaga.com/pages/viewpage.action?pageId=1643 
JavaScript API :
http://confluence.redsaga.com/display/BUFFALO/JavaScript+API
http://www.amowa.net/buffalo/zh/index.html 
			posted @ 
2007-07-14 13:41 流浪汗 阅读(4684) | 
评论 (7) | 
编辑 收藏 
		
			
		
			
			      这个对随机取样很有用
SELECT * FROM tbl_name ORDER BY RAND() LIMIT 10;
			posted @ 
2007-07-14 12:10 流浪汗 阅读(737) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			     用current_timestamp,不过这个默认值只用在timestamp的列,对datetime列无效
例子:
create table default_time (
  id int not null primary key auto_increment,
  name varchar(20) default 'chenlb',
  my_time timestamp default current_timestamp
);
注意:一个表只能有一个timestamp列的默认值为当前日期时间。
			
posted @ 
2007-07-08 21:29 流浪汗 阅读(6140) | 
评论 (2) | 
编辑 收藏 
		
			
		
			
			       中了U盘的病毒,郁闷,生成autorun.inf文件,当然大家都知道这个文件是用来干嘛的,大多数病毒是靠它触发的。很火的是删除了autorun.inf文件又会生成,同时game.exe又生成了。网上找了下专杀,意外找到别人的技巧,http://zhidao.baidu.com/question/25183320.html 。就是在U盘里创建个autorun.inf文件夹(注意:是文件夹而不是文件),然后病毒就不能生成自己了。
      先删除autorun.inf文件,再创建个autorun.inf文件夹。但这个动作要快。删除autorun.inf文件之前要去掉它的只读属性,隐藏属性。attrib autorun.inf -s -h -r
     因为人的动作肯定没有程序快,可能删除autorun.inf文件后,还没有来得急创建autorun.inf文件夹后,这个文件又病毒创建了。所以写一个*.bat文件来搞,把下面的内容保存为del-autorun.inf.bat文件名
attrib autorun.inf -s -h -r
del autorun.inf
md autorun.inf
     然后放到U盘下,双击即可,然后再手动删除game.exe文件(当然你要设置文件夹为可以看所有东西的)就OK了。
     为了以后不会轻易中中毒,可以把autorun.inf文件夹常驻到U盘里和其它根目录下。
呵呵! 
			
posted @ 
2007-07-02 15:15 流浪汗 阅读(986) | 
评论 (1) | 
编辑 收藏 
		
			
		
			
			     拿U盘去打印,出来就在自己上,发现自己的文件夹全变成了*.exe文件,卡巴发现是:木马程序 Trojan.Win32.Hider.i 文件: J:\music.exe//ASPack,自己双不敢删除,因为自己的文件夹里的内容都没有了。然后,不甘心让病毒长驻我U盘,就查看文件夹所以隐藏和系统文件,一看,我被骗了,这病毒把所以目录都隐藏了,而且隐藏选项变灰了。什么火。要用DOS命令改,如下:
attrib -s -h /s /d
说明:选择用“运行”->cmd->j:
j:是我U盘符,然后输入上面的命令,
-s 去除系统属性
-h 去隐含属性
/s 当前目录下的所有子目录及作设置 
			
posted @ 
2007-06-29 15:20 流浪汗 阅读(20440) | 
评论 (40) | 
编辑 收藏 
		
			
		
			
			call identity();
    <insert id="addUser" parameterClass="user">
        insert into User(UserName,Password) values(#userName#,#password#)
        <selectKey keyProperty="uid" resultClass="int">
            call identity()
        </selectKey>
    </insert>
			posted @ 
2007-06-09 22:21 流浪汗 阅读(876) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			#include "stdio.h" 
#include <stdlib.h> 
#include "windows.h" 
#include <conio.h> 
#define RAND_MAX 0x7fff
void main()
{    int m=60,n=10,ans=0;
     srand((unsigned)GetCurrentTime());   //加了这个才正直随机, 头文件是windows.h
     for(int i=0;i<200;i++)
     {
        printf(" %4d",rand()*(m-n)/RAND_MAX+n);//n<=x<m的数字
     }
     getch();
} 
			
posted @ 
2007-05-16 16:56 流浪汗 阅读(3702) | 
评论 (4) | 
编辑 收藏 
		
			
		
			
			Google的: 
http://picasaweb.google.com/chenlb2006163 的: 
http://chenlbphoto.photo.163.com/ 
			posted @ 
2007-05-16 16:55 流浪汗 阅读(409) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			#include <dos.h>
sleep() 秒
#include "Windows.h"
#include "Winbase.h"
Sleep()毫秒
CB没有delay()
			
posted @ 
2007-05-09 18:48 流浪汗 阅读(2527) | 
评论 (0) | 
编辑 收藏 
		
			
		
			
			收集于网络
     首先,需要将继承了SimpleFormController之类的sessionForm设为true。这样,在显示一个新表单时,Spring会将command存放在session中,而在提交表单时,Spring会从session中取出此command,随后立即从session中删除存放command的attribute。如果发现在session中没有command,Spring将其断定为重复提交,转而执行handleInvalidSubmit(request, response),可覆盖此方法负责防止重复提交的任务。可以这么说,当setSessionForm(true)之后,如果没有先后经历显示表单、提交表单的过程,就会被认为是重复提交表单。而有一些情况下却必须重复提交表单,如,修改数据库的数据后,试图写入数据库时因某些异常失败,如果此时异常被当前页面捕获并依旧返回当前页面,由于command已经被Spring在后台从session中移走,因此,就被认为是无效重复提交,从而导致第二次经修改后的记录无法正确提交到数据库中。handleInvalidSubmit()必须考虑到这种情况。
			
posted @ 
2007-05-08 15:44 流浪汗 阅读(2055) | 
评论 (0) | 
编辑 收藏