2010年11月30日

          文件下載在windows跟linux及不同瀏覽器下的處理(中文名亂碼)

          在進(jìn)行文件下載時(shí)liunx下出現(xiàn)中文文件名亂碼,windows下卻沒(méi)有.可能是不同操作系統(tǒng)的編碼方式不同?(含糊不清的說(shuō)法),用
          Properties initProp = new Properties(System.getProperties());
          System.out.println(prop.getProperty("file.encoding"));能得到編碼方式都是UTF-8
          后來(lái)發(fā)現(xiàn)用
          fileName  = new String(fileName.getBytes("UTF-8"), "iso-8859-1");不管linux還是windows 下用火狐都是顯示正常的,IE下卻顯示亂碼,所以問(wèn)題出在瀏覽器,得在程序中加入判斷(分別處理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 閱讀(1122) | 評(píng)論 (1)編輯 收藏

          mysql 常用命令

           mysql -u root -p

          posted @ 2011-08-12 04:36 smallfa 閱讀(286) | 評(píng)論 (0)編輯 收藏

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

          一個(gè)同學(xué)前幾天遇到一個(gè)問(wèn)題,今天我試著看了一下。

          項(xiàng)目沒(méi)有錯(cuò)誤,在項(xiàng)目部署到tomcat后,tomcat啟動(dòng)時(shí)報(bào)錯(cuò):

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

          這個(gè)問(wèn)題我原來(lái)遇到過(guò),原因應(yīng)該是編譯java時(shí)生成的class文件,在運(yùn)行時(shí)用到的JRE和class文件版本不一致造成的。

          1 如果是一般的java程序:

          可以在MyEclipse中修改JRE的路徑和版本。在Window->Preferences中,打開(kāi)如下位置,就可修改JRE:


          修改完之后,最好重新編譯一下,選Project->Clean... 選項(xiàng),然后選擇是所有的項(xiàng)目都要重新編譯,還是只重新編譯指定的項(xiàng)目,然后就應(yīng)該沒(méi)問(wèn)題了。

          今天一開(kāi)始我也是這么做的,但是還是報(bào)錯(cuò),在網(wǎng)上搜了一下之后,因?yàn)檫@是Web項(xiàng)目,程序當(dāng)然是在Tomcat上運(yùn)行的,所以我們這么改當(dāng)然不行。

          2 如果是Web 程序

          就要修改Tomcat運(yùn)行時(shí)的JDK環(huán)境了,如下圖:

          把JDK的路徑和之前Installed JRE的設(shè)置成一樣的,這個(gè)問(wèn)題就解決了!(雖然這里面設(shè)置的是JDK的路徑,但是我覺(jué)得其實(shí)就是在設(shè)置JRE的路徑,因?yàn)閖ava程序運(yùn)行的時(shí)候需要的 是JRE,而不是JDK。我們裝JDK的時(shí)候,一般都裝了2個(gè)JRE,一個(gè)是JDK里面的JRE,還有一個(gè)和JDK平級(jí)的JRE,剛才我上網(wǎng)查了一下,這 兩個(gè)JRE的區(qū)別不大,大家也可以去查一下,每次都可以選擇任何一個(gè)JRE,但是之后配置的吆喝前面的一致。)

          如果不清楚JDK和JRE的關(guān)系的,可以上網(wǎng)查一下。

          一般情況下,我們運(yùn)行別人的程序可能會(huì)遇到這個(gè)問(wèn)題。

          再做個(gè)小小的延伸。。

          這個(gè)項(xiàng)目編譯并沒(méi)有報(bào)錯(cuò),如果我們導(dǎo)入別人的項(xiàng)目之后,出現(xiàn)了很多錯(cuò)誤,那就是JDK版本的問(wèn)題了,可以在這里修改:



          可以選擇1.3,1.4,5.0,6.0.

          轉(zhuǎn) http://apps.hi.baidu.com/share/detail/1776104

          posted @ 2011-07-17 13:22 smallfa 閱讀(378) | 評(píng)論 (0)編輯 收藏

          LINUX基本操作命令

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

          基本操作命令
          ----------------------------------------------------------------------
          ----------------------------------------------------------------------
          ls #以默認(rèn)方式顯示當(dāng)前目錄文件列表
          ls –a #顯示所有文件包括隱藏文件
          ls –l #顯示文件屬性,包括大小,日期,符號(hào)連接,是否可讀寫(xiě)及是否可執(zhí)行
          ls --color=never *.so > obj #不顯示文字顏色,將所有so文件記錄到obj文件中

          ----------------------------------------------------------------------
          cd dir #切換到當(dāng)前目錄下的dir目錄
          cd / #切換到根目錄
          cd .. #切換到到上一級(jí)目錄
          cd ../.. #切換到上二級(jí)目錄
          cd ~ #切換到用戶目錄,比如是root用戶,則切換到/root下

          ----------------------------------------------------------------------
          rm file #刪除某一個(gè)文件
          rm -fr dir #刪除當(dāng)前目錄下叫dir的整個(gè)目錄

          ----------------------------------------------------------------------
          cp source target #將文件source 復(fù)制為 target
          cp /root/source . #將/root下的文件source復(fù)制到當(dāng)前目錄
          cp –av soure_dir target_dir #將整個(gè)目錄復(fù)制,兩目錄完全一樣
          cp –fr source_dir target_dir #將整個(gè)目錄復(fù)制,并且是以非鏈接方式復(fù)制,當(dāng)source目錄帶有符號(hào)鏈接時(shí),兩個(gè)目錄不相同

          ----------------------------------------------------------------------
          mv source target #將文件source更名為target

          ----------------------------------------------------------------------
          diff dir1 dir2 #比較目錄1與目錄2的文件列表是否相同,但不比較文件的實(shí)際內(nèi)容,不同則列出
          diff file1 file2 #比較文件1與文件2的內(nèi)容是否相同,如果是文本格式的文件,則將不相同的內(nèi)容顯示,如果是二進(jìn)制代碼則只表示兩個(gè)文件是不同的
          comm file1 file2 #比較文件,顯示兩個(gè)文件不相同的內(nèi)容

          ----------------------------------------------------------------------
          echo message #顯示一串字符
          echo "message message2" #顯示不連續(xù)的字符串
          cat:
          cat file #顯示文件的內(nèi)容,和DOS的type相同
          cat file | more #顯示文件的內(nèi)容并傳輸?shù)絤ore程序?qū)崿F(xiàn)分頁(yè)顯示,使用命令less file可實(shí)現(xiàn)相同的功能
          more #分頁(yè)命令,一般通過(guò)管道將內(nèi)容傳給它,如ls | more

          ----------------------------------------------------------------------
          export LC_ALL=zh_CN.GB2312 #將環(huán)境變量LC_ALL的值設(shè)為zh_CN.GB2312
          export DISPLAY=0:0 #通過(guò)該設(shè)置,當(dāng)前字符終端下運(yùn)行的圖形程序可直接運(yùn)行于Xserver
          date #顯示當(dāng)前日期時(shí)間
          date -s 20:30:30 #設(shè)置系統(tǒng)時(shí)間為20:30:30
          date -s 2002-3-5 #設(shè)置系統(tǒng)時(shí)期為2003-3-5
          clock –r #對(duì)系統(tǒng)Bios中讀取時(shí)間參數(shù)
          clock –w #將系統(tǒng)時(shí)間(如由date設(shè)置的時(shí)間)寫(xiě)入Bios

          ----------------------------------------------------------------------
          eject #umout掉CDROM并將光碟彈出,但cdrom不能處于busy的狀態(tài),否則無(wú)效

          ----------------------------------------------------------------------
          du #計(jì)算當(dāng)前目錄的容量
          du -sm /root #計(jì)算/root目錄的容量并以M為單位
          find -name /path file #在/path目錄下查找看是否有文件file
          grep -ir “chars” #在當(dāng)前目錄的所有文件查找字串chars,并忽略大小寫(xiě),-i為大小寫(xiě),-r為下一級(jí)目錄

          ----------------------------------------------------------------------
          vi file #編輯文件file
          vi 原基本使用及命令:
          輸入命令的方式為先按ctrl+c, 然后輸入:x(退出),:x!(退出并保存) :w(寫(xiě)入文件),:w!(不詢問(wèn)方式寫(xiě)入文件), :r file(讀文件file) ,:%s/oldchars/newchars/g(將所有字串oldchars換成newchars) 這一類的命令進(jìn)行操作

          ----------------------------------------------------------------------
          man ls #讀取關(guān)于ls命令的幫助
          man ls | grep color #讀取關(guān)于ls命令的幫助并通過(guò)grep程序在其中查找color字串

          ----------------------------------------------------------------------
          startx #運(yùn)行Linux圖形有環(huán)境
          Xfree86 #只運(yùn)行X圖形server

          ----------------------------------------------------------------------
          reboot #重新啟動(dòng)計(jì)算機(jī)
          halt #關(guān)閉計(jì)算機(jī)
          init 0 #關(guān)閉所有應(yīng)用程序和服務(wù),進(jìn)入純凈的操作環(huán)境
          init 1 #重新啟動(dòng)應(yīng)用及服務(wù)
          init 6 #重新啟動(dòng)計(jì)算機(jī)

          ----------------------------------------------------------------------
          擴(kuò)展命令
          ----------------------------------------------------------------------
          ----------------------------------------------------------------------
          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啟動(dòng)及驅(qū)動(dòng)裝載信息
          uname #顯示操作系統(tǒng)的類型
          uname -R #顯示操作系統(tǒng)內(nèi)核的version

          ----------------------------------------------------------------------
          strings file 顯示file文件中的ASCII字符內(nèi)容

          ----------------------------------------------------------------------
          rpm -ihv program.rpm #安裝程序program并顯示安裝進(jìn)程
          rpm2targz program.rpm program.tgz #將rpm格式的文件轉(zhuǎn)換成tarball格式

          ----------------------------------------------------------------------
          su root #切換到超級(jí)用戶
          sulogin /dev/tty4 #在tty4即alt+F4終端等待用戶登陸或直接登陸開(kāi)啟一個(gè)shell
          chmod a+x file #將file文件設(shè)置為可執(zhí)行,腳本類文件一定要這樣設(shè)置一個(gè),否則得用bash file才能執(zhí)行
          chmod 666 file #將文件file設(shè)置為可讀寫(xiě)
          chown user /dir #將/dir目錄設(shè)置為user所有

          ----------------------------------------------------------------------
          mknod /dev/hda1 b 3 1 #創(chuàng)建塊設(shè)備hda1,主設(shè)備號(hào)為3,從設(shè)備號(hào)為1,即master硬盤(pán)的的第一個(gè)分區(qū)
          mknod /dev/tty1 c 4 1 #創(chuàng)建字符設(shè)備tty1,主設(shè)備號(hào)為4,眾設(shè)備號(hào)為1,即第一個(gè)tty終端

          ----------------------------------------------------------------------
          touch /tmp/running #在/tmp下創(chuàng)建一個(gè)臨時(shí)文件running,重新啟動(dòng)后消失

          ----------------------------------------------------------------------
          sleep 9 #系統(tǒng)掛起9秒鐘的時(shí)間

          ----------------------------------------------------------------------
          lpd stop 或 cups stop #停止打印服務(wù)程序
          lpd start 或 cups start #啟動(dòng)打印服務(wù)程序
          lpd restart 或 cups restart #重新啟動(dòng)打印服務(wù)程序
          lpr file.txt #打印文件file.txt

          ----------------------------------------------------------------------
          fdisk /dev/hda #就像執(zhí)行了dos的fdisk一樣
          cfdisk /dev/hda #比f(wàn)disk界面稍為友好些
          mount -t ext2 /dev/hda1 /mnt #把/dev/hda1裝載到 /mnt目錄
          df #顯示文件系統(tǒng)裝載的相關(guān)信息
          mount -t iso9660 /dev/cdrom /mnt/cdrom #將光驅(qū)加載到/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服務(wù)的共享目錄sharedir加載到/mnt/nfs目錄
          umount /mnt #將/mnt目錄卸載,/mnt目錄必須處于空閑狀態(tài)
          umount /dev/hda1 #將/dev/hda1設(shè)備卸載,設(shè)備必須處于空親狀態(tài)
          sync #將cache中的內(nèi)容與磁盤(pán)同步,在Linux中復(fù)制文件,一般要系統(tǒng)空閑才去寫(xiě)文件
          e2fsck /dev/hda1 #檢查/dev/hda1是否有文件系統(tǒng)錯(cuò)誤,提示修復(fù)方式
          e2fsck -p /dev/hda1#檢查/dev/hda1是否有錯(cuò)誤,如果有則自動(dòng)修復(fù)
          e2fsck -y /dev/hda1#檢查錯(cuò)誤,所有提問(wèn)均于yes方式執(zhí)行
          e2fsck -c /dev/hda1#檢查磁盤(pán)是否有壞區(qū)
          mkfs /dev/hda1 #格式化/dev/hda1為ext2格式
          mkfs.minix /dev/hda1 #格式化/dev/hda1為minix格式文件系統(tǒng)
          mfks /dev/hda9 #格工化/dev/hda9為L(zhǎng)inux swap格式
          swapon /dev/hda9 #將swap分區(qū)裝載當(dāng)作內(nèi)存來(lái)用
          swapoff /dev/hda9 #將swap分區(qū)卸載

          ----------------------------------------------------------------------
          lilo #運(yùn)行l(wèi)ilo程序,程序自動(dòng)查找/etc/lilo.conf并按該配置生效
          lilo -C /root/lilo.conf #lilo程序按/root/lilo.conf配置生效
          grub #在Linux shell狀態(tài)下運(yùn)行boot loader設(shè)置程序
          grub-install #安裝grub磁盤(pán)引導(dǎo)程序,成功后升級(jí)內(nèi)核無(wú)須像lilo一樣要重新啟動(dòng)系統(tǒng),只需修改/etc/grub.conf即可實(shí)現(xiàn)新引導(dǎo)配置
          rdev bzImage #顯示kernel的根分區(qū)信息
          rdev bzImage /dev/hda1 #將kernel的根分區(qū)設(shè)置為/dev/hda1,這在沒(méi)有l(wèi)ilo等引導(dǎo)程序的系統(tǒng)中非常重要.

          ----------------------------------------------------------------------
          dd if=/dev/fd0 of=floppy.fd #將軟盤(pán)的內(nèi)容復(fù)制成一個(gè)鏡像,功能與舊石器時(shí)代常用的hd-copy相同
          dd if=/dev/zero of=root.ram bs=1024,count=1024 #生成一個(gè)大小為1M的塊設(shè)備,可以把它當(dāng)作硬盤(pán)的一個(gè)分區(qū)來(lái)用
          mkfs root.ram #將塊設(shè)備格式化為ext2格式
          dd if=root.ram of=/dev/ram0 #將init.rd格式的root.ram的內(nèi)容導(dǎo)入內(nèi)存
          mount /dev/ram0 /mnt #ramdisk /dev/ram0裝載到/mnt 目錄

          ----------------------------------------------------------------------
          gcc hello.c #將hello.c編譯成名為a.out二進(jìn)制執(zhí)行文件
          gcc hello.c -o hello #將hello.c編譯成名為hello的二進(jìn)制執(zhí)行文件
          gcc -static -o hello hello.c #將hello.c編譯成名為hello的二進(jìn)制靜態(tài)執(zhí)行文件
          ldd program #顯示程序所使用了哪些庫(kù)
          objcopy -S program #將程序中的符號(hào)表及無(wú)用的調(diào)試信息去掉,可以小很多

          ----------------------------------------------------------------------
          strace netscape #跟蹤程序netscape的執(zhí)行,看調(diào)用的庫(kù),環(huán)境變量設(shè)置,配置文件,使用的設(shè)備,調(diào)用的其它應(yīng)用程序等,在strace下,程序干了什么東東一目了 然。
          ps #顯示當(dāng)前系統(tǒng)進(jìn)程信息
          ps –ef #顯示系統(tǒng)所有進(jìn)程信息
          kill -9 500 #將進(jìn)程編號(hào)為500的程序干掉
          killall -9 netscape #將所有名字為netscape的程序殺死,kill不是萬(wàn)能的,對(duì)僵死的程序則無(wú)效。
          top #顯示系統(tǒng)進(jìn)程的活動(dòng)情況,按占CPU資源百分比來(lái)分
          free #顯示系統(tǒng)內(nèi)存及swap使用情況
          time program #在program程序結(jié)束后,將計(jì)算出program運(yùn)行所使用的時(shí)間

          ----------------------------------------------------------------------
          chroot . #將根目錄切換至當(dāng)前目錄,調(diào)試新系統(tǒng)時(shí)使用
          chroot /tomlinux #將根目錄切換至/tomlinux目錄
          chroot /tomlinux sbin/init #將根目錄切換至/tomlinux并執(zhí)行sbin/init
          adduser id #增加一個(gè)叫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 #設(shè)置網(wǎng)卡1的地址192.168.1.1,掩碼為255.255.255.0,不寫(xiě)netmask參數(shù)則默認(rèn)為255.255.255.0
          ifconfig eth0:1 192.168.1.2 #捆綁網(wǎng)卡1的第二個(gè)地址為192.168.1.2
          ifconfig eth0:x 192.168.1.x #捆綁網(wǎng)卡1的第二個(gè)地址為192.168.1.x
          ifconfig down eth1 #關(guān)閉第二塊網(wǎng)卡,使其停止工作
          hostname -F tomlinux.com #將主機(jī)名設(shè)置為tomlinux.com
          route #顯示當(dāng)前路由設(shè)置情況
          route add default gw 192.168.1.1 metric 1 #設(shè)置192.168.1.1為默認(rèn)的路由
          route del default #將默認(rèn)的路由刪除
          dhcp #啟動(dòng)dhcp服務(wù)
          dhclient #啟動(dòng)dhcp終端并自動(dòng)獲取IP地址
          ping 163.com #測(cè)試與163.com的連接
          ping 202.96.128.68 #測(cè)試與IP 202。96.128.68的連接

          ----------------------------------------------------------------------
          probe rtl8139 #檢查驅(qū)動(dòng)程序rtl8139.o是否正常工作
          lsmod #顯示已裝載的驅(qū)動(dòng)程序
          insmod rtl8139.o #裝載驅(qū)動(dòng)程序rtl8139.o
          insmod sb.o io=0x280 irq=7 dma=3 dma16=7 mpu_io=330 #裝載驅(qū)動(dòng)程序并設(shè)置相關(guān)的irq,dma參數(shù)
          rmmod rtl8139 #刪除名為rtl8139的驅(qū)動(dòng)模塊
          gpm -k #停止字符狀態(tài)下的mouse服務(wù)
          gpm -t ps2 #在字符狀態(tài)下以ps2類型啟動(dòng)mouse的服務(wù)

          ----------------------------------------------------------------------
          telnet 192.168.1.1 #登陸IP為192.168.1.1的telnet服務(wù)器
          telnet iserver.com #登陸域名為iserver.com的telnet服務(wù)器
          ftp 192.168.1.1 或 ftp iserver.com #登陸到ftp服務(wù)

          posted @ 2010-12-06 00:31 smallfa 閱讀(349) | 評(píng)論 (0)編輯 收藏

          tomcat 配置-部署 conf-deploy

          1tomcat 部署網(wǎng)站 去掉端口號(hào)和項(xiàng)目名稱

          去除端口號(hào)     conf-->server.xml中查找原始的端口號(hào)(如8080),修改為80后,即可在訪問(wèn)時(shí)不用輸入端口號(hào)。不過(guò)要注意防止其它程序占用80端口。

          項(xiàng)目名稱  server.xml     <Context path="/myapp"  reloadable="true"  docBase="D:"myapp"  workDir="D:"myapp"work"/>

           



          2 TOMCAT 如何配置多端口


          1.修改端口:
          在Tomcat的安裝目錄下的"conf目錄下,打開(kāi)server.xml,
          找到
          <Connector port="8080" protocol="HTTP/1.1"
          connectionTimeout="20000"
          redirectPort="8443"/>
          將8080改為你想要的端口8081

          2.映射路徑:
          還是在server.xml配置文件中,
          在</host>這個(gè)結(jié)束標(biāo)簽之前加上如下的配置信息:
          <Context
          path="/myapp"
          reloadable="true"
          docBase="e:"myApp" />

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

          4.上面的端口對(duì)于原來(lái)Tomcat中的其他Web應(yīng)用也可以使用,
          下面是獨(dú)立的,只有你的e:"myApp中的Web應(yīng)用可用,
          也就是在server.xml中的</Service>下另外建立一個(gè)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端口?有這么多位嗎?
          我印象中端口號(hào)范圍是0~65535,怎么還有這么多位的端口?
          http://ttov.blog.163.com/blog/static/3822715201072692912584/

          posted @ 2010-11-30 17:50 smallfa 閱讀(1757) | 評(píng)論 (0)編輯 收藏

          <2010年11月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計(jì)

          公告

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

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          Ajax

          Blogs

          DB

          java

          Open source

          ORM

          Tools/Help

          vedio Tech

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 金坛市| 昌黎县| 辽源市| 清远市| 永泰县| 法库县| 鄂州市| 策勒县| 舞阳县| 开平市| 合江县| 邵东县| 东方市| 秦安县| 广元市| 达州市| 宁陵县| 调兵山市| 永清县| 策勒县| 微山县| 普洱| 镇雄县| 平阳县| 宝鸡市| 新昌县| 西充县| 太仓市| 松滋市| 堆龙德庆县| 成都市| 科技| 杭锦后旗| 竹北市| 隆化县| 永康市| 望奎县| 临沂市| 桐乡市| 连城县| 长宁区|