随笔-153  评论-235  文章-19  trackbacks-0
 
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 流浪汗 阅读(4627) | 评论 (7)编辑 收藏
      这个对随机取样很有用

SELECT * FROM tbl_name ORDER BY RAND() LIMIT 10;

posted @ 2007-07-14 12:10 流浪汗 阅读(697) | 评论 (0)编辑 收藏
     用current_timestamp,不过这个默认值只用在timestamp的列,对datetime列无效

例子:
create table default_time (
  id 
int not null primary key auto_increment,
  name 
varchar(20default 'chenlb',
  my_time 
timestamp default current_timestamp
);

注意:一个表只能有一个timestamp列的默认值为当前日期时间。
posted @ 2007-07-08 21:29 流浪汗 阅读(6101) | 评论 (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 流浪汗 阅读(946) | 评论 (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 流浪汗 阅读(20317) | 评论 (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 流浪汗 阅读(843) | 评论 (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 流浪汗 阅读(3654) | 评论 (4)编辑 收藏

Google的: http://picasaweb.google.com/chenlb2006

163 的: http://chenlbphoto.photo.163.com/
posted @ 2007-05-16 16:55 流浪汗 阅读(383) | 评论 (0)编辑 收藏

#include <dos.h>
sleep() 秒

#include "Windows.h"
#include "Winbase.h"
Sleep()毫秒

CB没有delay()

posted @ 2007-05-09 18:48 流浪汗 阅读(2507) | 评论 (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 流浪汗 阅读(2028) | 评论 (0)编辑 收藏
仅列出标题
共16页: First 上一页 8 9 10 11 12 13 14 15 16 下一页