簡易代碼之家

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            157 Posts :: 2 Stories :: 57 Comments :: 0 Trackbacks

          #

          Jsp中文件下載的處理

          有些人直接把要下載的文件放在項目web下面的虛擬路徑下,然后提供鏈接下載,這種處理對客戶端的要求比較高,要求客戶機器上必須有要下載的文件類型才可以,沒有的話下載下來的數據是亂的。客戶端查看自己電腦上的文件類型,比如xp系統,打開一個文件夾,菜單中,工具,文件夾選項,文件類型,針對某個文件類型可以查看高級中的配置。另一種就是用流來進行下載,簡單代碼如下:

          public ActionForward downloadFile(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response)
                      
          throws Exception {
                  BufferedInputStream bis 
          = null;
                  BufferedOutputStream bos 
          = null;
                  OutputStream fos 
          = null;
                  InputStream fis 
          = null;

                  File downloadFile 
          = null;
                  String dmpFolder 
          = request.getSession().getServletContext()
                          .getRealPath(
          "")
                          
          + "\\files\\downloads\\";
                  File folder 
          = new File(dmpFolder);
                  File[] files 
          = folder.listFiles();
                  String fileName 
          = request.getParameter("fileName");
                  
          for (int i = 0; i < files.length; i++{
                      
          if (files[i].getName().equals(fileName)) {
                          downloadFile 
          = files[i];
                          
          break;
                      }

                  }

                  fis 
          = new FileInputStream(downloadFile);
                  bis 
          = new BufferedInputStream(fis);
                  fos 
          = response.getOutputStream();
                  bos 
          = new BufferedOutputStream(fos);
                  response.setHeader(
          "Content-disposition""attachment;filename="
                          
          + URLEncoder.encode(fileName, "utf-8"));
                  
          int bytesRead = 0;
                  
          byte[] buffer = new byte[8192];
                  
          while ((bytesRead = bis.read(buffer, 08192)) != -1{
                      bos.write(buffer, 
          0, bytesRead);
                  }

                  bos.flush();
                  fis.close();
                  bis.close();
                  fos.close();
                  bos.close();
                  
          return null;
              }
          posted @ 2010-06-08 18:16 Jakin.zhou 閱讀(185) | 評論 (0)編輯 收藏

          Linux系統下Jsp驗證碼顯示不出來解決方法

          錯誤提示:Could not initialize class sun.awt.X11GraphicsEnvironment
          錯誤原因:tomcat沒有加載java.awt.headless,修改tomcat下的/bin/catalina.sh文件:

          找到-Djava.io.tmpdir="$CATALINA_TMPDIR",在這一行的下面加入:
          -Djava.awt.headless=true \

          需要修改六處,改完重啟tomcat。

          posted @ 2010-06-04 12:48 Jakin.zhou 閱讀(795) | 評論 (0)編輯 收藏

          一個簡單的apache rewrite問題
          需求:當用戶訪問www.aaa.com時轉向到127.0.0.1:8080/aaa;當用戶訪問www.bbb.com時轉向到127.0.0.1:8080/bbb。

          解決辦法:
          打開Apache Software Foundation\Apache2.2\conf下的httpd.conf文件:
          設置相關modeul,將:
          LoadModule rewrite_module modules/mod_rewrite.so
          LoadModule proxy_module modules/mod_proxy.so
          LoadModule proxy_http_module modules/mod_proxy_http.so
          前的注釋“#”去掉;

          在httpd.cnof的文件里加上:
          <virtualHost *>
             RewriteEngine On
             CustomLog "D:\\log\rewrite.log" combined
             LogLevel debug
           
             RewriteCond %{HTTP_HOST} ^(.+)\.aaa\.com$ 
             RewriteRule $  http://localhost:8086/aaa [P,L]

             RewriteCond %{HTTP_HOST} ^(.+)\.bbb\.com$ 
             RewriteRule $  http://localhost:8086/bbb [P,L]
           
          </virtualHost>

          如果www.aaa.comwww.bbb.com不是公共域名的話需要在C:\WINDOWS\system32\drivers\etc的hosts文件中加上如下配置:
          127.0.0.1       www.aaa.com
          127.0.0.1       www.bbb.com

          現在試一下,一切OK!apache中文文檔:http://lamp.linux.gov.cn/Apache/ApacheMenu/
          posted @ 2010-05-29 16:03 Jakin.zhou 閱讀(165) | 評論 (0)編輯 收藏

          1.將圖片放大或縮小  Alt+鼠標 或Ctrl+'+/-';
          2.photoshop中都是針對圖層操作的;先選擇圖層,再直接按向左向右鍵即可移動圖層;
          3.若想復制圖片中的某部分,選中后Ctrl+Alt+向左向右鍵;
          4.裁剪圖片,用裁剪工具選定后,按向上向下工具或鼠標進行調整后雙擊;
           

          PhotoShop三概念:選區/圖層/路徑


          Ctrl+Del 填充背景色
          Alt+Del  填充前景色
          []       畫筆擴大縮小
          Ctrl+U   色相飽和度
          Ctrl+點擊圖層  選區
          Ctrl+"+"/"-"  圖片放大縮小
          Ctrl+Alt+Z 后退
          Ctrl+Z 后退一步
          Ctrl+D 取消選區
          Ctrl+T 自由變換 按Shift等比例變換
          Ctrl+Shift+I 反選
          D 將前景色背景色設為默認 X切換前景色背景色
          Ctrl+E 合并圖層


          選中圖層右鍵查看圖層或Ctrl+點擊圖層查看左邊圖層窗口顯示
          調紅眼:選上“著色”
          去雜邊:選擇-修改-收縮
          照片修復:濾鏡-液化
          修復舊照片:圖像-調整-去色

          1寸照片
          長2.5cm 高3.5cm 分辨率300像素/英寸
          9張排版 長8.6cm 高12.7cm

          1.當要恢復默認的畫筆,點擊“復位畫筆”,畫筆格式為ABR;
          2.畫筆高級選項快捷鍵“F5”,圖層快捷鍵“F7”;
          3.用畫筆畫直線時按住shift自動為直線;
          4.畫筆三要素:直徑,角度,間距。
          5.給面部美白,圖像-調整-曲線或色階;
          6.給面部化妝,描眼部時先用淺粉描眼的上周圍,再用深一點的粉色描雙眼皮,最后用深色粗線描眼線;
          7.給圖片添加鏡頭光暈,濾鏡-渲染-鏡頭光暈;
          8.當用畫筆在新圖層上畫顏色比如復古效果時模式調成“疊加”;
          9.若要文字實現漸變效果,先柵格化文字圖層。

          色彩美化效果,圖像-調整里所有功能;
          路徑,使用“正片疊底”效果。

          1.蒙板
            前景色為黑色可以擦掉,為白色可以復原,為灰色可以制作透明效果;
          2.漸變
            線性漸變和徑向漸變,彩虹是在特殊效果里的“羅素彩虹”;
          3.裁剪畫布,確定大小;
          4.X為前景背景切換快捷鍵;
          5.復制圖層,Shift+Alt+鼠標拖動;
          6.F鍵為全屏;
          7.編輯文字,修改大小需要全選或是輸入完畢后再調整,Alt+上下鍵是調整行距,Alt+左右鍵是調整字間距;
          8.修臉部時要把畫筆硬度調為0;
          9.給圖片加光:Ctrl+M
          10.路徑變選區:Ctrl+回車
          11.羽化:Ctrl+Alt+D
          12.磨皮效果:用選區或鋼筆選上,羽化,濾鏡選高斯模糊;
          13.處理照片首先調整柔光;
          14.蓋印:Ctrl+Shift+Alt+E
          15.制作彩唇:(1)將圖片調成柔光效果;(2)新建圖層取一個顏色,然后復制圖層,用色相飽和度調成若干個顏色,然后將新建的幾個圖層合并;(3)選“顏色”疊加;(4)新建蒙板,擦掉多余的部分;(5)選中圖層,高斯模糊;(6)合并蓋印;(7)銳化。
          16.反向:Ctrl+I 或在圖像-調整里找反向菜單;
          17.使用通道時,選擇硬角畫筆。

          posted @ 2010-05-27 11:52 Jakin.zhou 閱讀(206) | 評論 (0)編輯 收藏

          LINUX下使用VNC進行圖形界面遠程桌面控制

            1、啟用SUSE遠程控制 
            SUSE默認安裝了VNC,打開YaST,網絡服務,遠程管理(remote administration),選擇允許遠程管理,在下面的選項進行防火墻設置,選擇打開防火墻端口”,點擊完成。
           

            2、啟動VNC服務。
           
            登錄后,執行命令:vncserver
           
            提示:
          You will require a password to access your desktops. 
            設置遠程訪問的密碼:
           
            Password:(輸入密碼)
           
            Verify: (再次輸入)
           
            提示:Would you like to enter a view-only password (y/n)? n(是否輸入一個只能查看的密碼,選擇否)
           
            提示信息如下:
           
            New 'X' desktop is localhost:1(桌面編號為1
           
            
          Creating default startup script /root/.vnc/xstartup 
            
          Starting applications specified in /root/.vnc/xstartup 
            Log file is /root /.vnc/localhost:1.log


            3、配置xstartup啟動腳本。 
            用VI編輯/root/.vnc/xstartup腳本
           
            內容如下:
           
            
          #!/bin/sh 
            
          xrdb $HOME/.Xresources 
            
          xsetroot -solid grey 
            
          xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & 
            
          twm & 
            將最后一行"twm &"更改為
           
            
          gnome-session &  (前提是已經安裝了gnome)
            就是啟動gnome圖形界面窗口。
           
            保存后,重啟vnc命令:vncserver -kill :1 ;
          vncserver :1。

                  
                  啟動成功后確認系統是否有 Listen Port 5901:
                  netstat -tnl | grep ‘5901’
                  確認系統是否有 VNCService 的 Process
                  ps aux | grep vnc

                 
          注意:
                  此時服務器最好用命令啟動,不要用圖形界面方式啟動系統;
                  vi   /etc/inittab
                  把ID改為3命令行,5為圖形界面;
                  若此時在遠處桌面還為命令行,則啟動桌面命令:startx;

          4、設置vnc在開機時啟動
              su -
              setup
           

            5、下載windows vnc客戶端軟件。 
            運行VNC查看器,輸入服務器的IP和桌面編號:
           
            如:
          192.168.7.114:1 
            而后輸入VNC連接密碼就可以登錄進去了。 

            6、通過瀏覽器控制:
           
             如:http://192.168.7.114:5801 (其中端口號=5800+桌面顯示編號,前面我們配置時提示桌面編號是1,所以端口號就是5801),會出現登錄界面。IE瀏覽器需要開啟java applet


              7、如果要在vnc客戶端使用中文輸入法,需要在.vnc/xstartup文件里加上“scim -d”,再修改scim輸入法的快捷鍵,因為默認打開輸入法的快捷鍵為ctrl+space,與本地機器上切換輸入法的快捷鍵沖突。

              8、修改vncserver的密碼命令為:vncpasswd。

          posted @ 2010-05-24 14:39 Jakin.zhou 閱讀(1251) | 評論 (0)編輯 收藏

          在Linux下安裝JDK:
          1.下載JDK,網址
            http://java.sun.com/javase/downloads/widget/jdk6.jsp  選中linux版本:
            Java SE Development Kit 6u18  jdk-6u18-linux-i586-rpm.bin
            點擊下載后放在桌面上的java文件夾中。

            進入安裝目錄
            cd  java
            給所有用戶添加可執行的權限
            chmod +x jdk-6u18-linux-i586-rpm.bin
            ./jdk-6u18-linux-i586-rpm.bin
            此時會生成文件jdk-6u18-linux-i586.rpm,同樣給所有用戶添加可執行的權限
            chmod +x jdk-6u18-linux-i586.rpm
            安裝程序
            rpm -ivh jdk-6u18-linux-i586.rpm
            出現安裝協議等,按接受即可。
          2.設置環境變量。
            vi /etc/profile
            在最后面加入
            #set java environment
            JAVA_HOME=/usr/java/jdk-1_6
            CLASSPATH=.:$JAVA_HOME/lib.tools.jar
            PATH=$JAVA_HOME/bin:$PATH
            export JAVA_HOME CLASSPATH PATH
            保存退出。
          3.在終端使用echo命令檢查環境變量設置情況。
            echo $JAVA_HOME
            echo $CLASSPATH
            echo $PATH
          4.檢查JDK是否安裝成功。
            java -version
            如果看到JVM版本及相關信息,即安裝成功。

          在linux下安裝Tomcat:
          1.下載Tomcat,網址
            http://tomcat.apache.org/download-55.cgi  選中tar.gz文件包下載。
            把tar.gz文件包解壓縮到任意一個路徑下,比如桌面上server文件夾下,server/tomcat。
          2.在終端輸入命令進入步驟2中解壓的路徑下至bin目錄:
            cd server/tomcat/bin
            ./startup.sh 啟動tomcat
            ./shutdown.sh 關閉tomcat
          posted @ 2010-05-17 14:10 Jakin.zhou 閱讀(423) | 評論 (0)編輯 收藏

          Linux上修改oracle字符集

          在SuSE Linux 11上安裝oracle 10g時進入oracle安裝界面總是出現亂碼,主要原因是oracle用到了自帶的jre自動選擇語言所致。一種方法是把操作系統語言改英文,oracle安裝界面也是英文;另一種方法就是首先安裝jre,然后讓oracle調用裝好的jre:./runInstaller -jreLoc /usr/lib/jvm/java-1.5.0-sun-1.5.0.06/jre。筆者用的是第一種,但裝好后,oracle默認的字符集為WE8ISO8859P1,存放中文的話會產生亂碼現象。網上搜集資料,試圖將字符由WE8ISO8859P1改為AL32UTF8,但AL32UTF8不是WE8ISO8859P1的超集,不能修改。最后將字符集改為ZHS16GBK,支持中文。

          在sqlplus中執行:

          查看字符集:
          select * from V$NLS_PARAMETERS;

          修改字符集:
          shutdown immediate
          startup mount
          ALTER SYSTEM ENABLE RESTRICTED SESSION;
          ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
          ALTER SYSTEM SET AQ_TM_PROCESSES=0;
          ALTER DATABASE OPEN;
          alter database character set INTERNAL_USE ZHS16GBK

          注意修改之前先備份數據,刪除所有的表,修改成功后再imp導入,則亂碼能正常顯示為中文。

          posted @ 2010-05-17 11:01 Jakin.zhou 閱讀(1438) | 評論 (0)編輯 收藏

          1.cd /home 查看根目錄
          2.cd oracle 查看某個文件夾
          3.ls 查看目錄下的文件
          4.cp jdk(.按tab)顯示-6u18-linux-i586.bin ../ 復制到上一層文件夾
          5.sudo cp jdk(.按tab)顯示-6u18-linux-i586.bin ../  以root身份復制到上一層文件夾
          6./sbin/ifconfig 查看IP
          7.netstat -anp | grep oracle
            netstat anp | grep oracle
            netstat -anp | grep 1521
            netstat anp | grep 1521
          8.cat 查看文件
             vi   編輯文件
          9.startx 啟動桌面
          10.who 查看當前用戶
          11.vi /etc/inittab 修改啟動方式
          12.ls -a 查看隱藏文件
          13.reboot 重啟系統
          posted @ 2010-05-15 16:28 Jakin.zhou 閱讀(495) | 評論 (0)編輯 收藏

          1.java.lang.NoClassDefFoundError: JSONString
          手動關聯jar文件,在Libraries中Add JARs...   ezmorph-1.0.6.jar和json-lib-2.3-jdk15.jar

          2.Command: Commit
          Modified: RD\mosaiq_training\Core
          Error: Commit failed (details follow):
          Error: File or directory '.' is out of date; try updating
          Error: resource out of date; try updating
          Finished!:

          可能是在eclipse中直接復制文件夾,把svn信息也復制過來了,刪除.svn提交;

          3.下載excel出現打不開站點的問題,可能是文件名包含中文;

          4.hibernate配置錯誤,提示索引超出,可能是某個類的配置文件有誤,比如name為空;

          5.ORACLE 不可用

          數據庫服務進程啟動,但是數據庫沒有加載
          以DBA身份進入Enterprise Manager Console,在sqlplus中執行命令:
          conn sys/sys as sysdba
          startup force
          后會打開數據庫;

          注意windows防火墻關閉。

          6.數據庫鏈接不上:.pertite不編譯;

          7.修改eclipse中svn用戶信息:刪除掉C:\Documents and Settings\jakin\Application Data\Subversion\auth\svn.simple文件夾下的文件,再次訪問時,會彈出要求輸入用戶名和密碼,jakin是用戶名,Application Data是一個隱藏的文件夾;

          8.Error in invoking target 'client_sharedlib'
          Could you be installing x86 Oracle on an x86_64 server, which is not certified/supported?
          Do 'uname -a' and see if it shows x86_64?
          Then check in $ORACLE_HOME and see if you have both a lib and lib32 directories or just a lib directory.
          If the result of uname -a shows x86_64 and there is only an $ORACLE_HOME/lib you are installing Oracle x86 on a Linux x86_64 box and that is not supported.
          You will want to download and install the Oracle x86_64 for your server and it will install correctly;

           


           

          posted @ 2010-05-15 15:51 Jakin.zhou 閱讀(165) | 評論 (0)編輯 收藏

          openSuSE11.1安裝oracle10g步驟

          1.增加oinstall用戶組和dba用戶組,增加oracle用戶,并加入到這兩個用戶組中,默認組是dba用戶組;
          2.修改oracle用戶的環境變量(一定以oracle用戶登錄系統操作此步驟,su oracle),命令:
            vi ~/.bashrc ("."代表隱藏文件,h—right,j—down ,k—up,l—left,o—insert,:w—save,:q—exit,i—在當前行插入,x—刪除,u—撤銷,esc—回普通模式,dd--刪除)(此處若配置不成功則裝完以后可能會出現在程序里連接不上等一系列問題)
            
            增加內容:
            export ORACLE_BASE=/home/oracle/oracle
            export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_6
            export ORACLE_SID=orcl
            export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
            export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

            完成之后,多按幾次Esc鍵,Shift+":","w",保存成功,多按幾次Esc鍵,Shift+":","q",退出成功.
            (VI基本命令:http://blog.tianya.cn/blogger/post_show.asp?BlogID=126326&PostID=1537776&idWriter=0&Key=0)
          3.增加核心參數:
            vi /etc/sysctl.conf(需要root用戶執行,su root)

            增加內容:
            kernel.shmall = 2097152
            kernel.shmmax = 2147483648
            kernel.shmmni = 4096
            kernel.sem = 250 32000 100 128
            fs.file-max = 65536
            net.ipv4.ip_local_port_range = 1024 65000

            執行命令以確認:
            sysctl -p

            chkconfig boot.sysctl on(作用:解決在系統重新啟動之后不能自動讀取剛才創建的文件的問題)
          4.修改oracle安裝目錄的install目錄下的oraparame.ini,找到[Certified Versions],加上SuSE-11;
          5.運行安裝oracle10g安裝目錄下的./runInstaller,出現圖形界面(以oracle用戶);
          6.安裝過程中可能會出現版本不符合或軟件包缺少的情況,此時不要cancel或 ignore,可以使用 zypper install ...命令安裝需要的軟件包,然后 retry;
            "缺少Ntcontab.o":以root用戶執行:zypper install gcc-c++(記得插入光盤)
            "缺少all_no_orcl ihsodbc":以root用戶執行:zypper install libstdc++33(記得插入光盤)
            安裝結束時會讓執行兩行腳本,執行時如遇見:Enter the full pathname of the local bin directory: [/usr/local/bin]:,直接回車通過;
          7.(1)以oracle用戶登錄,su oracle;
            (2)啟動TNS監聽器
               $ORACLE_HOME/bin/lsnrctl start (要帶$)
            (3)用sqlplus啟動數據庫
               $ORACLE_HOME/bin/sqlplus /nolog
               SQL> connect system/change_on_install as sysdba
               SQL> startup
               出現如下顯示,表示Oracle已經成功啟動;
               ORACLE instance started
               Total System Global Area  205520896 bytes
               Fixed Size                   778392 bytes
               Variable Size              74456936 bytes
               Database Buffers          130023424 bytes
               Redo Buffers                 262144 bytes
               Database mounted.
               Database opened.
            (4)用sqlplus停止數據庫
               $ORACLE_HOME/bin/sqlplus /nolog
               SQL> connect system/change_on_install as sysdba
               SQL> shutdown
               出現如下顯示,表示oracle已經停止
               Database closed.
               Database dismounted.
               ORACLE instance shut down.

               注:shutdown可加關閉選項,從最溫和到最粗暴的行為選項為(shutdown、shutdown transactional、shutdown immediate、shutdown abort)
               shutdown:關閉,等待每個用戶退出系統戓被取消后退出關閉數據庫;
               shutdown transactional:事務性關閉,等待每個用戶提交戓回退當前的事務,然后oracle取消對話,在所有用戶退出系統后執行關閉;
               shutdown immediate:直接關閉,取消所有用戶對話(促使回退),執行正常的關閉程序;
               shutdown abort:終止關閉,關閉數據庫時沒有自動檢查點戓日志開關。
          8.關閉linux防火墻:
            (1)臨時關閉:sudo /sbin/rcSuSEfirewall2 stop
            (2)永久關閉:
               chkconfig --list|grep fire
               chkconfig --level 5 SuSEfirewall2_final off
               chkconfig --level 5 SuSEfirewall2_setup off
               chkconfig --level 5 SuSEfirewall2_init off
          9.開啟isqlplus:
            $ORACLE_HOME/bin/isqlplusctl start
            $ORACLE_HOME/bin/isqlplusctl stop
            iSQL*Plus URL:
            http://localhost:5560/isqlplus
            iSQL*Plus DBA URL:
            http://localhost:5560/isqlplus/dba
          10.開啟dbconsole:
            $ORACLE_HOME/bin/emctl start dbconsole
            $ORACLE_HOME/bin/emctl stop dbconsole
            Enterprise Manager 10g Database Control URL:
            http://localhost:1158/em
          11.導入數據:
            oracle@localhost:~/Desktop> imp
            Import file: expdat.dmp > feq.dmp   //輸入要導入的數據文件
            Enter insert buffer size (minimum is 8192) 30720> 10000   //輸入緩沖區大小,可以默認也可以自定義,如果數據文件較大,建議設置的大一些
            List contents of import file only (yes/no): no > no   //只列出導入文件的內容
            Ignore create error due to object existence (yes/no): no > yes   //由于對象已存在, 忽略創建錯誤
            Import grants (yes/no): yes > yes   //導入權限
            Import table data (yes/no): yes > yes   //導入表數據,如果選NO,則導入表結構
            Import entire export file (yes/no): no > yes   //導入整個導出文件
          12.附加sql語句:
             connect as sysdba
             connect
             create user aaa identified by bbb; (創建一個用戶名為aaa,密碼為bbb的用戶)
             grant dba to aaa; (將dba的權限分配給用戶aaa)

          參考文檔:
          http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html
          http://hi.baidu.com/zxpvikey/blog/item/dad391b72ed1daf631add1ac.html

          posted @ 2010-05-14 18:48 Jakin.zhou 閱讀(1888) | 評論 (1)編輯 收藏

          僅列出標題
          共16頁: First 上一頁 7 8 9 10 11 12 13 14 15 下一頁 Last 
          主站蜘蛛池模板: 宕昌县| 项城市| 安庆市| 雷山县| 望江县| 炎陵县| 西宁市| 南宫市| 正镶白旗| 修文县| 分宜县| 钟山县| 武义县| 东宁县| 刚察县| 织金县| 温州市| 吴桥县| 清远市| 平阳县| 大足县| 屏边| 衡南县| 称多县| 宿州市| 东明县| 湄潭县| 西和县| 莫力| 同德县| 新河县| 新巴尔虎右旗| 准格尔旗| 淮滨县| 平和县| 上杭县| 河西区| 五家渠市| 墨竹工卡县| 富蕴县| 眉山市|