2010年7月13日

文件下载在windows跟linux及不同浏览器下的处理(中文名乱码)

在进行文件下载时liunx下出现中文文件名乱码,windows下却没有.可能是不同操作系统的编码方式不同?(含糊不清的说法),用
Properties initProp = new Properties(System.getProperties());
System.out.println(prop.getProperty("file.encoding"));能得到编码方式都是UTF-8
后来发现用
fileName  = new String(fileName.getBytes("UTF-8"), "iso-8859-1");不管linux还是windows 下用火狐都是显示正常的,IE下却显示乱码,所以问题出在浏览器,得在程序中加入判断(分别处理firefox跟Ie):
//判断是否是使用IE的方法
String userAgent = request.getHeader("User-Agent");
boolean isIE = false;
//userAgent.toLowerCase().indexOf("msie")
if(userAgent.indexOf("MSIE") > 0){
isIE = true;
}
if(isIE){
fileName  = new String(fileName.getBytes("gb2312"), "iso-8859-1");
}else{
fileName  = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
}

posted @ 2011-08-16 15:43 smallfa 阅读(1094) | 评论 (1)编辑 收藏

mysql 常用命令

 mysql -u root -p

posted @ 2011-08-12 04:36 smallfa 阅读(258) | 评论 (0)编辑 收藏

tomcat bad version number in class file 的解决方法

一个同学前几天遇到一个问题,今天我试着看了一下。

项目没有错误,在项目部署到tomcat后,tomcat启动时报错:

java.lang.UnsupportedClassVersionError: Bad version number in .class file 。。。

这个问题我原来遇到过,原因应该是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。

1 如果是一般的java程序:

可以在MyEclipse中修改JRE的路径和版本。在Window->Preferences中,打开如下位置,就可修改JRE:


修改完之后,最好重新编译一下,选Project->Clean... 选项,然后选择是所有的项目都要重新编译,还是只重新编译指定的项目,然后就应该没问题了。

今天一开始我也是这么做的,但是还是报错,在网上搜了一下之后,因为这是Web项目,程序当然是在Tomcat上运行的,所以我们这么改当然不行。

2 如果是Web 程序

就要修改Tomcat运行时的JDK环境了,如下图:

把JDK的路径和之前Installed JRE的设置成一样的,这个问题就解决了!(虽然这里面设置的是JDK的路径,但是我觉得其实就是在设置JRE的路径,因为java程序运行的时候需要的 是JRE,而不是JDK。我们装JDK的时候,一般都装了2个JRE,一个是JDK里面的JRE,还有一个和JDK平级的JRE,刚才我上网查了一下,这 两个JRE的区别不大,大家也可以去查一下,每次都可以选择任何一个JRE,但是之后配置的吆喝前面的一致。)

如果不清楚JDK和JRE的关系的,可以上网查一下。

一般情况下,我们运行别人的程序可能会遇到这个问题。

再做个小小的延伸。。

这个项目编译并没有报错,如果我们导入别人的项目之后,出现了很多错误,那就是JDK版本的问题了,可以在这里修改:



可以选择1.3,1.4,5.0,6.0.

转 http://apps.hi.baidu.com/share/detail/1776104

posted @ 2011-07-17 13:22 smallfa 阅读(355) | 评论 (0)编辑 收藏

LINUX基本操作命令

http://mayuqi827.javaeye.com/blog/804409
LINUX基本操作命令

基本操作命令
----------------------------------------------------------------------
----------------------------------------------------------------------
ls #以默认方式显示当前目录文件列表
ls –a #显示所有文件包括隐藏文件
ls –l #显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
ls --color=never *.so > obj #不显示文字颜色,将所有so文件记录到obj文件中

----------------------------------------------------------------------
cd dir #切换到当前目录下的dir目录
cd / #切换到根目录
cd .. #切换到到上一级目录
cd ../.. #切换到上二级目录
cd ~ #切换到用户目录,比如是root用户,则切换到/root下

----------------------------------------------------------------------
rm file #删除某一个文件
rm -fr dir #删除当前目录下叫dir的整个目录

----------------------------------------------------------------------
cp source target #将文件source 复制为 target
cp /root/source . #将/root下的文件source复制到当前目录
cp –av soure_dir target_dir #将整个目录复制,两目录完全一样
cp –fr source_dir target_dir #将整个目录复制,并且是以非链接方式复制,当source目录带有符号链接时,两个目录不相同

----------------------------------------------------------------------
mv source target #将文件source更名为target

----------------------------------------------------------------------
diff dir1 dir2 #比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
diff file1 file2 #比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
comm file1 file2 #比较文件,显示两个文件不相同的内容

----------------------------------------------------------------------
echo message #显示一串字符
echo "message message2" #显示不连续的字符串
cat:
cat file #显示文件的内容,和DOS的type相同
cat file | more #显示文件的内容并传输到more程序实现分页显示,使用命令less file可实现相同的功能
more #分页命令,一般通过管道将内容传给它,如ls | more

----------------------------------------------------------------------
export LC_ALL=zh_CN.GB2312 #将环境变量LC_ALL的值设为zh_CN.GB2312
export DISPLAY=0:0 #通过该设置,当前字符终端下运行的图形程序可直接运行于Xserver
date #显示当前日期时间
date -s 20:30:30 #设置系统时间为20:30:30
date -s 2002-3-5 #设置系统时期为2003-3-5
clock –r #对系统Bios中读取时间参数
clock –w #将系统时间(如由date设置的时间)写入Bios

----------------------------------------------------------------------
eject #umout掉CDROM并将光碟弹出,但cdrom不能处于busy的状态,否则无效

----------------------------------------------------------------------
du #计算当前目录的容量
du -sm /root #计算/root目录的容量并以M为单位
find -name /path file #在/path目录下查找看是否有文件file
grep -ir “chars” #在当前目录的所有文件查找字串chars,并忽略大小写,-i为大小写,-r为下一级目录

----------------------------------------------------------------------
vi file #编辑文件file
vi 原基本使用及命令:
输入命令的方式为先按ctrl+c, 然后输入:x(退出),:x!(退出并保存) :w(写入文件),:w!(不询问方式写入文件), :r file(读文件file) ,:%s/oldchars/newchars/g(将所有字串oldchars换成newchars) 这一类的命令进行操作

----------------------------------------------------------------------
man ls #读取关于ls命令的帮助
man ls | grep color #读取关于ls命令的帮助并通过grep程序在其中查找color字串

----------------------------------------------------------------------
startx #运行Linux图形有环境
Xfree86 #只运行X图形server

----------------------------------------------------------------------
reboot #重新启动计算机
halt #关闭计算机
init 0 #关闭所有应用程序和服务,进入纯净的操作环境
init 1 #重新启动应用及服务
init 6 #重新启动计算机

----------------------------------------------------------------------
扩展命令
----------------------------------------------------------------------
----------------------------------------------------------------------
tar xfzv file.tgz #将文件file.tgz解压
tar xfzv file.tgz -C target_path #将文件file.tgz解压到target_path目录下
tar cfzv file.tgz source_path #将文件source_path压缩为file.tgz
tar c directory > directory.tar #将目录directory打包成不压缩的directory.tar
gzip directory.tar #将覆盖原文件生成压缩的 directory.tar.gz
gunzip directory.tar.gz #覆盖原文件解压生成不压缩的 directory.tar。
tar xf directory.tar #可将不压缩的文件解包

----------------------------------------------------------------------
dmesg #显示kernle启动及驱动装载信息
uname #显示操作系统的类型
uname -R #显示操作系统内核的version

----------------------------------------------------------------------
strings file 显示file文件中的ASCII字符内容

----------------------------------------------------------------------
rpm -ihv program.rpm #安装程序program并显示安装进程
rpm2targz program.rpm program.tgz #将rpm格式的文件转换成tarball格式

----------------------------------------------------------------------
su root #切换到超级用户
sulogin /dev/tty4 #在tty4即alt+F4终端等待用户登陆或直接登陆开启一个shell
chmod a+x file #将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
chmod 666 file #将文件file设置为可读写
chown user /dir #将/dir目录设置为user所有

----------------------------------------------------------------------
mknod /dev/hda1 b 3 1 #创建块设备hda1,主设备号为3,从设备号为1,即master硬盘的的第一个分区
mknod /dev/tty1 c 4 1 #创建字符设备tty1,主设备号为4,众设备号为1,即第一个tty终端

----------------------------------------------------------------------
touch /tmp/running #在/tmp下创建一个临时文件running,重新启动后消失

----------------------------------------------------------------------
sleep 9 #系统挂起9秒钟的时间

----------------------------------------------------------------------
lpd stop 或 cups stop #停止打印服务程序
lpd start 或 cups start #启动打印服务程序
lpd restart 或 cups restart #重新启动打印服务程序
lpr file.txt #打印文件file.txt

----------------------------------------------------------------------
fdisk /dev/hda #就像执行了dos的fdisk一样
cfdisk /dev/hda #比fdisk界面稍为友好些
mount -t ext2 /dev/hda1 /mnt #把/dev/hda1装载到 /mnt目录
df #显示文件系统装载的相关信息
mount -t iso9660 /dev/cdrom /mnt/cdrom #将光驱加载到/mnt/cdrom目录
mount-t smb //192.168.1.5/sharedir /mnt -o username=tomlinux,password=tomlinux #将windows的的共享目录加载到/mnt/smb目录,用户名及密码均为tomlinux
mount -t nfs 192.168.1.1:/sharedir /mnt #将nfs服务的共享目录sharedir加载到/mnt/nfs目录
umount /mnt #将/mnt目录卸载,/mnt目录必须处于空闲状态
umount /dev/hda1 #将/dev/hda1设备卸载,设备必须处于空亲状态
sync #将cache中的内容与磁盘同步,在Linux中复制文件,一般要系统空闲才去写文件
e2fsck /dev/hda1 #检查/dev/hda1是否有文件系统错误,提示修复方式
e2fsck -p /dev/hda1#检查/dev/hda1是否有错误,如果有则自动修复
e2fsck -y /dev/hda1#检查错误,所有提问均于yes方式执行
e2fsck -c /dev/hda1#检查磁盘是否有坏区
mkfs /dev/hda1 #格式化/dev/hda1为ext2格式
mkfs.minix /dev/hda1 #格式化/dev/hda1为minix格式文件系统
mfks /dev/hda9 #格工化/dev/hda9为Linux swap格式
swapon /dev/hda9 #将swap分区装载当作内存来用
swapoff /dev/hda9 #将swap分区卸载

----------------------------------------------------------------------
lilo #运行lilo程序,程序自动查找/etc/lilo.conf并按该配置生效
lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效
grub #在Linux shell状态下运行boot loader设置程序
grub-install #安装grub磁盘引导程序,成功后升级内核无须像lilo一样要重新启动系统,只需修改/etc/grub.conf即可实现新引导配置
rdev bzImage #显示kernel的根分区信息
rdev bzImage /dev/hda1 #将kernel的根分区设置为/dev/hda1,这在没有lilo等引导程序的系统中非常重要.

----------------------------------------------------------------------
dd if=/dev/fd0 of=floppy.fd #将软盘的内容复制成一个镜像,功能与旧石器时代常用的hd-copy相同
dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一个大小为1M的块设备,可以把它当作硬盘的一个分区来用
mkfs root.ram #将块设备格式化为ext2格式
dd if=root.ram of=/dev/ram0 #将init.rd格式的root.ram的内容导入内存
mount /dev/ram0 /mnt #ramdisk /dev/ram0装载到/mnt 目录

----------------------------------------------------------------------
gcc hello.c #将hello.c编译成名为a.out二进制执行文件
gcc hello.c -o hello #将hello.c编译成名为hello的二进制执行文件
gcc -static -o hello hello.c #将hello.c编译成名为hello的二进制静态执行文件
ldd program #显示程序所使用了哪些库
objcopy -S program #将程序中的符号表及无用的调试信息去掉,可以小很多

----------------------------------------------------------------------
strace netscape #跟踪程序netscape的执行,看调用的库,环境变量设置,配置文件,使用的设备,调用的其它应用程序等,在strace下,程序干了什么东东一目了 然。
ps #显示当前系统进程信息
ps –ef #显示系统所有进程信息
kill -9 500 #将进程编号为500的程序干掉
killall -9 netscape #将所有名字为netscape的程序杀死,kill不是万能的,对僵死的程序则无效。
top #显示系统进程的活动情况,按占CPU资源百分比来分
free #显示系统内存及swap使用情况
time program #在program程序结束后,将计算出program运行所使用的时间

----------------------------------------------------------------------
chroot . #将根目录切换至当前目录,调试新系统时使用
chroot /tomlinux #将根目录切换至/tomlinux目录
chroot /tomlinux sbin/init #将根目录切换至/tomlinux并执行sbin/init
adduser id #增加一个叫id的用户
userdel id #增除叫id的用户
userlist #显示已登陆的用户列表
passwd id #修改用户id的密码
passwd -d root #将root用户的密码删除
chown id /work #指定/work目录为id用户所拥有

----------------------------------------------------------------------
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 #设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0
ifconfig eth0:1 192.168.1.2 #捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.x #捆绑网卡1的第二个地址为192.168.1.x
ifconfig down eth1 #关闭第二块网卡,使其停止工作
hostname -F tomlinux.com #将主机名设置为tomlinux.com
route #显示当前路由设置情况
route add default gw 192.168.1.1 metric 1 #设置192.168.1.1为默认的路由
route del default #将默认的路由删除
dhcp #启动dhcp服务
dhclient #启动dhcp终端并自动获取IP地址
ping 163.com #测试与163.com的连接
ping 202.96.128.68 #测试与IP 202。96.128.68的连接

----------------------------------------------------------------------
probe rtl8139 #检查驱动程序rtl8139.o是否正常工作
lsmod #显示已装载的驱动程序
insmod rtl8139.o #装载驱动程序rtl8139.o
insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #装载驱动程序并设置相关的irq,dma参数
rmmod rtl8139 #删除名为rtl8139的驱动模块
gpm -k #停止字符状态下的mouse服务
gpm -t ps2 #在字符状态下以ps2类型启动mouse的服务

----------------------------------------------------------------------
telnet 192.168.1.1 #登陆IP为192.168.1.1的telnet服务器
telnet iserver.com #登陆域名为iserver.com的telnet服务器
ftp 192.168.1.1 或 ftp iserver.com #登陆到ftp服务

posted @ 2010-12-06 00:31 smallfa 阅读(320) | 评论 (0)编辑 收藏

tomcat 配置-部署 conf-deploy

1tomcat 部署网站 去掉端口号和项目名称

去除端口号     conf-->server.xml中查找原始的端口号(如8080),修改为80后,即可在访问时不用输入端口号。不过要注意防止其它程序占用80端口。

项目名称  server.xml     <Context path="/myapp"  reloadable="true"  docBase="D:"myapp"  workDir="D:"myapp"work"/>

 



2 TOMCAT 如何配置多端口


1.修改端口:
在Tomcat的安装目录下的"conf目录下,打开server.xml,
找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
将8080改为你想要的端口8081

2.映射路径:
还是在server.xml配置文件中,
在</host>这个结束标签之前加上如下的配置信息:
<Context
path="/myapp"
reloadable="true"
docBase="e:"myApp" />

3.添加端口:
在server.xml中添加以下:
<Connector port="65535" protocol="HTTP/1.1"
connectionTimeout="20000" />
Tomcat的端口号最大到65535.

4.上面的端口对于原来Tomcat中的其他Web应用也可以使用,
下面是独立的,只有你的e:"myApp中的Web应用可用,
也就是在server.xml中的</Service>下另外建立一个Service:

<Service name="test">
<Connector port="65535" protocol="HTTP/1.1"
connectionTimeout="20000" />
<Engine name="myengine" defaultHost="myhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>

<Host name="myhost" appBase="e:"myApp"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>


另外:
1818189端口?有这么多位吗?
我印象中端口号范围是0~65535,怎么还有这么多位的端口?
http://ttov.blog.163.com/blog/static/3822715201072692912584/

posted @ 2010-11-30 17:50 smallfa 阅读(1725) | 评论 (0)编辑 收藏

VMware 下redhat linux 9使用NAT共享主机IP上网


1、安装VMware workstation。

2、安装guest系统,这里我安装的Red Hat Linux9,安装过程中确保网络连接选择的是NAT方式,当然可以在安装完后进行修改。

 

3、到windows XP 中,查看所有的网络连接,你应该发现除了原有的网卡之外,又多了Vmnet1和Vmnet8。 vmnet1是hostonly的接口,而Vmnet8是就是我们要使用的NAT的网络接口。

 

4、在win主机上用ipconfig查看VMnet8的IP地址, 一般是192.168.X.1/255.255.255.0,此时VMnet8的设置应该是自动获取IP,现在改成静态IP,并把此IP直接填入 VMnet8里,不设网关。

 

5、同时在VM网络设置里的NAT项中查看VMnet8,一般是 192.168.X.2/255.255.255.0这个地址就是VMnet8,NAT的网关。

 

6、现在在LINUX下把网卡IP设置成和VMnet8一个网段的 IP(192.168.X.Z/255.255.255.0)

7、网关设置成刚才查看的那个IP192.168.X.2即可。

 

 

8、DNS和你host主机的一样就可以。

 

 

9、设置完成后,重新启动linux的网络服务。

 


 

Linux命令
netconfig 设置IP

ifconfig 查看

reboot 重启

services network restart (重启网络)


http://www.cnblogs.com/hakuci/archive/2008/12/07/1349547.html
一般情况下,安装完vmware,不做其他设置,直接使用nat模式就可以与主机共享上网了。但如果你用的是某些精简版,或者你自己做过修改,那么就照下 面的步骤检查一遍吧。

一、先检查nat是否可用及相关服务是否已经打开。
    首先打开虚拟机的虚拟网络设置功 能,虚拟机菜单栏——编辑——虚拟网络设置

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_887ae060f330442.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图一
    如果你发现上面的选项是灰色的,说明你的精简版没有这个功能,想办法换个版本,或者找下载说明,看看是否还 需要装其他东西。
    在后面的对话框里检查dhcp和nat服务是否已经打开。

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_56d1cfb5e6d2e11.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图二

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_da98e19f2ca0e5a.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图三
    如果你在上图中按下启动——应用没有用的话,就要考虑是不是相关服务被禁用了。主机开始菜单——运行—— services.msc检查相关服务的情况。正确的应该如下:

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_b831307582cc66e.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图四

二、 检查ics是否有打开,既打开ics又打开nat模式,同时作用,会造成混乱的,必须关闭。(ics就是internet connection share,也就是internent连接共享)

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_180e7abade984b8.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图五

三、 检查网络接口模式
看看虚拟机网卡是不是真的用了nat模式,跟虚拟网络设置里是不是用了同一个vmnet号,请确保下图六和图3中用的是 同一个vmnet号。

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_88f83d8b3174401.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图六
虚拟机7.0以前的版本,nat都默认使用了vmnet8作为nat的默认端口号,但vm7.0就不同了。

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_742811ec5a6daf6.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图七
nat模式用的是vmnet0了,这个时候,保险为妙,虚拟机网卡请使用自定义vmnet0接口。

四、 开虚拟机系统检查是否获取到了ip。检查ip,网关,dns,是否都正常。

=700) window.open('http://bbs.crsky.com/1236983883/thumb/Mon_1004/6_194774_724219dda00790b.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图八
4.1关于出现网络连接红叉,“电缆被拔出”。在虚拟机里是不存在电缆的,所以肯定是设置问题。
4.1.1 检查图六“打开电源时连接”的钩,或者检查图八里,右下角的虚拟网卡图标是否有叉。
4.1.2 上一条正常的,请安装一遍vmtools,确保虚拟网卡驱动正常。
4.1.3 上2条都正常的,还是有问题的,应该是某些系统的问题了。ubuntu的话多点几次连接看看,redflag的话,本地连接属性里“连接后在通知区域显示 图标”前的钩去掉,眼不见心不烦反而可以连上了。


五、vm7.0还是没有获取到ip的,需要把虚拟网络设置设置为默 认再试一遍。
将虚拟机里的系统关机,打开虚拟网络配置,如图7所示,按下左下角的“resore default”恢复默认设置,在随后跳出的whql驱动认证里全部选择“始终安装此驱动软件”。

=700) window.open('http://bbs.crsky.com/1236983883/Mon_1004/6_194774_b329ff341c566c1.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
图九
完 成后,请继续检查前面的检查项目,再检查一遍后再打开虚拟机里的系统。

六、获取了ip还是无法上网的,有以下的几种情况。
6.1 主机是win7或是vista,vmware版本低于6.5.3的,请升级vmware的版本。
     这个问题的症状就是能ping通域名,也上不去网。但qq可以上去,这个应该是个兼容问题,请升级vmware版本。

6.2 使用网络命令检查网络。
    1.ping nat网关,以图8为利,ping 192.168.47.2
   2.ping 物理主机公网ip或内网真实ip,
    3.可以继续ping,公网的isp网关或是内网的路由器ip,最后ping下网站域名。
    如果都能通,而不是6.1的问题,看是不是浏览器上设置了错误的代理。
    如果dns能解析, 但ping所有外网ip都是丢包的,应该是网关问题,检查下是否是双网关,route print检查下默认网关。
    如果可以ping通所 有ip,ping不通域名,则应该是nat服务器的dns解析出了问题,重新启动主机(和重启路由器一样的道理)或是在虚拟机里直接填公网dns,或者设 置nat,直接将dns直接填到虚拟机nat里(如图十)。


=700) window.open('http://bbs.crsky.com/1236983883/thumb/Mon_1004/6_194774_c10769a426e7ab1.jpg');" onload="if(this.offsetWidth>'700')this.width='700';if(this.offsetHeight>'2100')this.height='2100';" border="0">
http://www.xpxzlt.cn/simple/?t161677.html

VMware 小问题

Q:VMware DHCP Service 服务无法启动 1067 错误

A:打开Virtual Network Editor,选择 Restore Default

 

Q:VMware Brige 桥接服务无法启动 发生系统错误 2 系统找不到指定的文件
A:替换vmnetbridge.sys vmnetbridge.dll(下载



posted @ 2010-11-22 00:30 smallfa 阅读(7522) | 评论 (0)编辑 收藏

window与Ubuntu虚拟机共享文件夹

window主机与Ubuntu虚拟机共享文件夹的设置方法:

 打开虚拟机,并开启Ubuntu。

 在ubuntu的选项卡右击 --> Settings --> 点击 Options --> 窗口左侧的 Shared Folders --> 右侧Folder Sharing的 Always enabled --> 右侧 Folders 下面的 Add -->  Next --> Brower --> 在 浏览文件夹 中选择自己想要共享的文件夹(如: E:/linuxshare) --> 确定 --> Enable this share --> Finish 。

文件夹共享设置完成。

需要往 Ubuntu上传什么东西,放在E:/linuxshare 下即可。 linux中的访问路径是: /mnt/hgfs/linuxshare

下面附上截图。 

 

   图一

图二

图三

图四

图五

图六

posted @ 2010-11-05 14:33 smallfa 阅读(2929) | 评论 (4)编辑 收藏

Ubuntu 10.04 安装配置指南

http://www.cnblogs.com/computer/archive/2010/07/21/1781945.html

posted @ 2010-11-05 14:33 smallfa 阅读(209) | 评论 (0)编辑 收藏

Win7下光盘安装Ubuntu9.10(图解)

http://chenjian977355.blog.163.com/blog/static/5544582010229150190/

WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~~








先下载最新的Ubuntu9.10版,前几天刚发布的



下载地址:http://www.ubuntu.org.cn/getubuntu/download/



在下载位置处,选择“TAIWAN”(中国好像只有台湾这个选项)




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

因为觉得光盘安装比较舒服,所以我选择了光盘安装。



用UltraISO或者其他工具把下载下来的镜像刻进一张空的CD盘。



由于偶的小Y从来没碰过Ubuntu系统,所以整个安装过程最主要的就是对硬盘进行分区。



申明:本人安装时并未想到要来写教程,部分截图是9.04版的,但几乎是一样的,不一样处我会指出。



1.将光盘放进光驱后重启,按F12,选择光驱启动,此时光驱开始狂转,等一会便出现界面,选择你看得懂的:简体中文




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


2.选择第一项“试用Ubuntu而不改计算机中的任何内容”,按回车确认,也可以选择第二项直接安装ubuntu,安装步骤与以下演示相相同。(为什么要选择第一项安装,因为ubuntu liveCD有个特色,就是可以一台电脑上用光盘来临时体验一下ubutnu的完整系统,进入后进也可安装系统)




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


3.毫无悬念的,光驱又开始狂转,这下等的时间会稍微长点,一段时间后进入系统。在这里你可以先体验下这个 系统,可以联网;玩够了再考虑装还是不装WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客 。如果装的话,就点击桌面的“安装”




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


4.出现以下界面,当然用简体中文,按默认连续三次Forward(下一步),如图




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


5.然后就到了给硬盘分区了,首先进入到如图的界面(图显示的不是WIN7 ,是XP,这个不重要,只要点击那个“手动指定分区(高级)”就行了)



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


6.注意:以下内容重要!!!!



我的小Y一共分成了CDEFG,5个区,F盘80G 至今没用过,所以我打算分出20G来装Ubuntu。不一定要20G,10G也行,看自身情况。



选中要改变的分区,点“编辑分区”(9.10版里好像是叫“新建”,都一样,就是“删除分区”选项之前的那个)



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客



7.出现以下提示,点继续将进行硬盘分区,不用担心,你硬盘里的东西不会丢失




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


8.分区完成,以下我们可以看到硬盘多个一个空闲的空间,这就是我们释放出来安装ubunbu的空间。选中 空闲的空间再点下面的新的分区。




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


9.下面对这个空闲的空间进行分区,首先来分个swap交换空间,这个相当于windows下的虚拟内存,根据你内存的大小填入,一般填为与内存一样的大小,我的内存2G,因此以下 也填入2048(也有一种说法是:内存小于1G的此处填2倍,大于1G的就填1G就行,自己看着办吧),再选择交换空间按确定。

WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


10.依然选中空闲的空间-新的分区,下面来创建个系统空间,这里我把空闲剩下的全部分配给这个分区,再选 择Ext3日志文件系 统,挂载点选/,再点确定,到这里分区完成。

WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

11.自定义填写用户名和密码,你也可以选择自动登录还是需要密码以登入(这就是决定是否在开机输入密 码),再点下一步,当你密码设置过短时,考虑到安全ubuntu会提示你是否重新设置,我们不用管它,点继续即可。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客





12.通过下面我们看到两个分区,格式为swap和ext3,这两个分区就是Linux要用到的分区,选中ext3分区再点下一步就行。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


13.接下来提示问你是否导入本机WIN 7系统的文档到ubuntu下使用,如果你需要就勾上,我一个没勾,再点下一步。





14.好了,到这里准备安装,现在你要做的是拔掉网线(切记,一定要把网线拔掉),用无线网络的直接把无线开关掰回去先。因为ubuntu在安装过 程上会自动从官方下载一些更新,由于这个“源"地址设在欧洲,对于我们国内用户来说下载特级慢,我们还是把更新放在系统安装后进行操作,下面点击安装即 可!




WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客



15.以下进行系统安装中,请不要断来电脑电源!



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


17.过了十几分钟,系统安装完成,点现在重启,此时电脑会弹出光盘,请取出光盘后敲一下回车。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

安装完成,秀下桌面:



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


==========================================================================================================


                                第二部分: 简单配置


重启后首次进入ubuntu的桌面,说明系统已安装成功,下面我们来对系统进行更 新(这类似于windows下的打补丁), 首先要做的是换源,什么是源?源可以理解为ubuntu系统更新的服务器地 址,之前我们已经说过,ubuntu默认的源是设在欧洲,这对于我们国内来说更新过程十分慢,因此可见换源十分重要,我们把这个源换成离我们较近的地区来 提高更新速度。先点击右上角的网络标识,连上网络,很简单的,一看就会。



1.选择桌面上方的工具条 依次进入System —— Administration——软件源 ——wnloag from--other,此时提示输入密码(密码就是你刚才安装时设置的密码,以后其它操作会提示都是输入那个密码),然后弹出以下窗口,有世界各地区供 选择,选择Tai w再选tw.archive.ubuntu.com这个源(因为Tai w这个源在国内被公认较快),最后点Choose Gerver。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


此时,系统会连上“源”更新组件之类的,



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


2.下载语言包:我们发现系统虽安装好了,可是菜单却 大多数是英文,此是要做的是下载并安装简体中文语言包,System —— Administration ——Language Support,此时系统会自动选好汉语,并弹出以下窗口,直接点Install。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


3.此时系统正在下载并安装简体中文语言包中。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

语言安装完毕后,我们点Close关闭窗口,再选择桌面右上角的关机按钮,选择Restart...重新启动计算机


4.重启后,你能发现原来英文的菜单已经变为简体中文了,说明简体中文语言包安装成功。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


5.我们发现桌面空空的,什么都没有,这时要把平时在windows习惯的几个图标调出来,选择桌面上方的应用程序-- 附件--终端,在终端输入gconf-editor再按回车后将弹出配置编辑器窗口。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


6.通过以下窗口,依次选择apps—— nautilus—— desktop,从右边选择把需要显示在桌面图标,勾上即可



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


7.在桌面右键选择更改桌面背景,进入视觉效果选项卡,默认是关闭好像,然后点击正常(或拓展),视个人喜好定,不过这个费显卡的,反正我选择正常很流 畅。



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


接着,系统会自动联网安装显卡驱动程序,装好后重启,再次进入该处才能正常开启视觉效果选项。



=========================================================================================================


                           第三部分:修改启动项


ubuntu安装后每次开机都是默认进入ubuntu系统的,对于以windows为主的朋友,每次开机都要守在画面切换到XP启动,可见十分麻 烦,通过下面,你可以设置让你的WIN 7系统为第一启动


   我尝试像XP一样打开menu.lst,结果是空白~~~~几番询问后才发现时因为9.10升级为grub2了,于是转而修改grub.cfg文件。


1.左上角-应用程序-附件-终端,输入sudo chmod +w /boot/grub/grub.cfg    将grub.cfg设为可写状态



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

2.提示输入密码:输入你设的开机密码,此处输入密码不可见,密码输入后直接回车,然后输入sudo gedit /boot/grub/grub.cfg



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客



3.编辑grub.cfg



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


4.自习查看,里面有好几段以


###BEGIN**************###开头


###END****************###结尾    的代码


5.将含有WIN 7那段代码剪切至图中位置



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


6.确认下图的那段代码值=0



WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客


7.保存后退出。


8.一切顺利的话,重启的菜单项将是这样的(高亮显示的即为WIN 7)


WIN 7下光盘安装Ubuntu9.10,简单配置并修改启动项~ - 灯火栏栅 - 一角博客

注意:如果是XP系统,则第一第二部分通用,要调整启动顺序的话


打开终端(应用程序——>附件——>终端),输入sudo gedit /boot/grub/menu.lst,敲下回车,这时要求输入password,输入登录系统的密码,在终端里不能显示输入的密码,这是正常的,输入 后回车打开编辑窗口。


在其中找到XP的代码,把它剪切到最前头就行了~~~~~



posted @ 2010-11-05 00:11 smallfa 阅读(1700) | 评论 (1)编辑 收藏

Communications link failure

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was *** millisecond ago。

最近做测试,发现Mysql 过一段时间会无法连接,导致数据库数据不一至,极其郁闷。

下面是转一哥门的

使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:

Communications link failure,The last packet successfully received from the server was *** millisecond ago.The last packet successfully sent to the server was ***  millisecond ago。

其中错误还会提示你修改wait_timeout或是使用Connector/J的autoReconnect属性避免该错误。

后来查了一些资料,才发现遇到这个问题的人还真不少,大部分都是使用连接池方式时才会出现这个问题,短连接应该很难出现这个问题。这个问题的原因:

MySQL服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,MySQL将自动断开该连接,而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致上面的报错。

1.按照错误的提示,可以在JDBC URL中使用autoReconnect属性,实际测试时使用了autoReconnect=true& failOverReadOnly=false,不过并未起作用,使用的是5.1版本,可能真像网上所说的只对4之前的版本有效。

2.没办法,只能修改MySQL的参数了,wait_timeout最大为31536000即1年,在my.cnf中加入:

[mysqld]

wait_timeout=31536000

interactive_timeout=31536000

重启生效,需要同时修改这两个参数。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cau99/archive/2009/12/11/4987760.aspx

posted @ 2010-09-08 09:29 smallfa 阅读(2261) | 评论 (0)编辑 收藏

hibernate-HQL语句

hibernate-HQL语句(1)

http://java.chinaitlab.com/Hibernate/809957.html

posted @ 2010-08-21 13:43 smallfa 阅读(178) | 评论 (0)编辑 收藏

英语学习网址

视频:
http://www.cctv.com/english/index.shtml 或 http://english.cctv.com/index.shtml CCTV International

http://www.m1905.com/cctv6/ae/ CCTV6 电影频道-动感英语
http://www.m1905.com/ CCTV6 电影频道
http://m1905.116.com.cn/116/cctv6/include/dgyy/list.shtml CCTV6 宽频官网-动感英语
http://www.aviliv.com/ 或http://www.51practice.com/ 非 官方-动感英语
http://www.cctv.com/movie/index.shtml CCTV- 电影频道(这个网页里面好像没有动感英语栏目)

http://www.cctv.com/english/news/NewsFeatures/ English Channel

上海英语电视台
http://english.smgbb.cn/smgbb/english/index.shtml

http://edition.cnn.com/video/ CNN Video
http://www.cnn.com/ CNN
http://www.bbc.co.uk/ BBC

http://www1.englishchina.com/Index.html 英 语中国网

http://insuns.com/ 隐山石英 语
http://english.smgbb.cn/smgbb/english/index.shtml 东方宽频英语频道

音频:
http://www.enaudio.cn/ 英 语听力课堂
http://www.listeningexpress.net/ 听 力特快
http://www.ensalon.com/Index.html 博 客英语网
http://www.putclub.com/ 普 特英语听力
http://www.npr.org/


http://english.cri.cn/ 
http://www.cnradio.com/ 
http://www.globalfm.cn/ 环 球资讯广播

文字:
http://www.chinadaily.com.cn/language_tips/news_bilingual.html 双 语新闻
http://www.chinadaily.com.cn/language_tips/ 中 国日报-英语点津
http://language.chinadaily.com.cn/bilingual.shtml 双语 新闻
http://www.chinadaily.com.cn/ 中 国日报

http://www.nytimes.com/ NewYorkTimes
http://www.washingtonpost.com/ 华 盛顿邮报
http://www.time.com/time/ TIME Magazine

其他:
http://zhidao.baidu.com/question/12656946.html 找英文网站 _百度知道
http://zhidao.baidu.com/question/9356433.html 有 好点学英语网站么拜托~!_百度知道
http://www.readfree.net/bbs/read-htm-tid-207767-page-e-fpage-1.html 英 语资源任你挑
http://qfhjy.eol.cn/showthread.php?t=4356 清 枫华景园业主论坛
http://handsomezl.spaces.live.com/PersonalSpace.aspx?_c02_owner=1 来 一次激情涅磐
http://www.jingpin.org/url/english/ 精 品英语站点导航

http://www.imm-diy.net/htm/2006/3-20/17541884036.html 100 有用的澳大利亚生活英语


VOA http://www.voanews.com/specialenglish/
http://www.wwenglish.com/en/voa/spec/
http://www.51ielts.com/list.asp?news_class=1005
http://www.unsv.com/
http://www.tingroom.com/video/voaspecial/

新概念英语第一册视频课程
http://www.so138.com/sov/e940aedd-bf45-4fce-8160-d578f9a3e15d.html
http://bbs.topsage.com/dispbbs_73_165464_1.html
http://insuns.com/english/nce/video/
http://www.ebigear.com/reslist-224-1.html

新概念英语第一册(MP3版)美音版
http://www.so138.com/sov/1fded838-256a-4556-990b-d9b459eb2b55.html
http://www.yingyushu.net.cn/show/417

新概念英语原文
http://datum.studyget.com/50/96/994/d_1.shtml
http://www.tingroom.com/lesson/nce1/

http://zhidao.baidu.com/question/6562352.html

大学六级英语考试听力真题—在线英语听力室
http://www.tingroom.com/lesson/cet6/

21世纪大学英语听力库
http://lib.zsc.edu.cn/century21.html
大学英语 精读
http://202.114.65.51/fzjx/dmtjx/english/dxyyjd.htm
大学英语听力MP3下载
http://www.dk123.com/mfzq/yy/200502/1501.html
英语语法大全
http://www.52en.com/whbm/grammar/index.htm

太傻网[中国最大的留学DIY社区]
http://www.taisha.org/
寄托天下  中文留学门户网站  考试,申请,签证
http://gter.ce.cn/index.php
Koo学公会--酷学讲堂 新东方在线
http://www.koolearn.com/kooxgh/lecture/index.jsp

学网
http://sh.studyget.com/


http://bbs.tingroom.com/thread-19047-1-1.html   英语900句整理(mp3格式加文本)
http://bbs.tingroom.com/forum-13-1.html  职场英语
http://video.baidu.com/v?ct=301989888&word=%C9%CC%CE%F1%D3%A2%D3%EF%CC%FD%C1%A6&db=0&ty=0&pn=0&fbl=1024  商务英语
http://www.yangyangcheng.com/ 秧秧教英语

posted @ 2010-08-09 23:02 smallfa 阅读(370) | 评论 (0)编辑 收藏

mysql 时间

当月第一天   select  timestamp(concat(year(curdate()),'-',month(curdate()),'-','1'))      如2010-08-01 00:00:00
当前时间  select now()

posted @ 2010-08-04 11:40 smallfa 阅读(186) | 评论 (0)编辑 收藏

在 Eclipse中使用JUnit实例

测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强 大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试 任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase

  我们创 建一个Java工程,添加一个example.Hello类,首先我们给Hello类添加一个abs()方法,作用是返 回绝对值:

Image
(图一)
  下一 步,我们准备对这个方法进行测试,确保功能正常。选中Hello.java,右 键点击,选择New->JUnit Test Case
Image

(图二)
   Eclipse会询问是否添加junit.jar包,确定后新建一个HelloTest类,用来测试Hello类。
Image

(图三)
  选中setUp()tearDown(),然后点击“Next”
Image

(图 四)  
  选择要 测试的方法,我们选中abs(int)方法,完成后在HelloTest.java中输入:
Image


(图五)

   JUnit会以以下顺序执行测试:(大致的代码

try {
HelloTest test = new HelloTest(); //
建立测试类实例
test.setUp(); //
初始化测试环境
test.
testAbs(); // 测试某个方法
test.tearDown(); //
清理资源
}
catch…


  setUp()是建立测试环境,这里创建一个Hello类的实例;tearDown()用于清理资源,如释放打开的文件等等。以test开头的方法被认为是测试方法,JUnit会依次执行testXxx()方法。在testAbs()方法中,我们对abs()的测试分别选择 正数,负数和0,如果方法返回值与期待结果相同,则assertEquals不会产生异常。

  如果有 多个testXxx方法,JUnit会创建多个XxxTest实例,每次 运行一个testXxx方法,setUp()tearDown()会在testXxx前后被调用,因此,不要在一个testA()中依赖testB()

  直接运 行Run->Run As->JUnit Test,就可 以看到JUnit测试结果:
Image

(图六)
  绿色表 示测试通过,只要有1个测试未通过,就会显示红色并列出未通过测试的方法。可以试图改变abs()的代码,故意返回错误的结果(比如return n+1;),然后再运行JUnit就会报告错误。

  如果没 有JUnit面板,选择Window->Show View->Other,打开JUnitView
Image

(图七)
  JUnit通过单元测试,能在开发阶段就找出许多Bug,并且,多个Test Case可以组合成Test Suite,让 整个测试自动完成,尤其适合于XP方法。每增加一个小的新功能或者对代码进行了小的修改,就立刻运行一 遍Test Suite,确保新增和修改的代码不会破坏原有的功能,大大增强软件的可维护 性,避免代码逐渐腐烂

                                                                                                                                                                                                                                                        

初次学会使用Junit的使用是通过这篇文章的(上文),自己尝试跟着做了一遍,结果发现它上面提供的代码例子是错误 的,不过流程、图片都很清楚。所以你可以先看看它上面是怎么说的,至于测试的代码我稍做了改动,为的是只要说明问题就行——其实不难。
被测试的类代码:
public class HelloJunit {
    public static int abs(int n){
        return n>=0?n:(-n);
    }
}
Junit
的测试代码:
import junit.framework.TestCase;
public class HelloJunitTest extends TestCase {
    public void testAbs() {
      assertEquals(HelloJunit.abs(10),10); 
      assertEquals(HelloJunit.abs(-10),10);
    }
}
主要代码 行为assertEquals(HelloJunit.abs(10),10); 
其中参数 的意义为:
HelloJunit.abs(10)执行类HelloJunitabs方法(参数为10,表示求10的绝对值)。
逗号后面 的10表示为预期的结果(期望值)。
该行表示 将期望值(10)与实际值(类HelloJunitabs方法执行结果)进行比较,如果不相 等则抛出异常。
这里只是 一个简简单单的例子,Junit被大家称为优秀的白盒自动化测试框架,当然只有自己用过了才会了解。网上有许多的资料介绍这个框架,笔 者也是从自身情况出发来学习它的。当然学习使用它是需要有一定基础的,笔者拥有CC++的基础,对Java的学习也开始不久,所以在这里将力 所能及的知识共享出来与大家分享,希望能够共同提高。另外笔者是专职的测试人员,所以在描述一些问题时大多都会以测试的角度来阐述。学习此框架的目的在于 能够在工作中进行白盒测试,在以后的介绍中还会介绍白盒测试相关的理论和工具,希望大家能够一起提高进步。

posted @ 2010-07-20 09:40 smallfa 阅读(1107) | 评论 (0)编辑 收藏

mysql 设置默认的时间值

       由于MySQL目前字段的默认值不支持函数的形式设置默认值是不可能的。
       代替的方案是使用TIMESTAMP类型代替DATETIME类型。
       CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段不会改变。
       CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP :当我更新这条记录的时候,这条记录的这个字段将会改变。即时间变为了更新时候的时间。(注意一个UPDATE设置一个列为它已经有的值,这将不引起 TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)如果有多个TIMESTAMP列,只有第一个自动更 新。 
      TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。 
      如果有多个 TIMESTAMP列,只有第一个自动更新。 
      自动更新第一个TIMESTAMP列在下列任何条件下发生: 
      列 值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 
      列值没有明确地在一个UPDATE语句中指定且另 外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的 值,MySQL为了效率而忽略更改。) 
      你明确地设定TIMESTAMP列为NULL. 
      除第一个以外的 TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。 
      另外在5.0以上版本中也可以使用 trigger来实现此功能。

      create table test_time ( 
      id int(11), 
      create_time datetime 
      ); 
      delimiter | 
            create trigger default_datetime before insert on test_time 
      for each row 
            if new.create_time is null then 
            set new.create_time = now(); 
      end if;| 
      delimiter ;

posted @ 2010-07-13 10:08 smallfa 阅读(108) | 评论 (0)编辑 收藏

<2010年7月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

公告

smallfa
博客园
C++博客
博客生活
Blogjava
足球博客
微博
Redsaga

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

相册

Ajax

Blogs

DB

java

Open source

ORM

Tools/Help

vedio Tech

搜索

最新评论

阅读排行榜

评论排行榜