简易代码之家

  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 阅读(180) | 评论 (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 阅读(786) | 评论 (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 阅读(164) | 评论 (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 阅读(203) | 评论 (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 阅读(1243) | 评论 (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 阅读(416) | 评论 (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 阅读(1434) | 评论 (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 阅读(493) | 评论 (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 阅读(164) | 评论 (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 阅读(1884) | 评论 (1)编辑 收藏

仅列出标题
共16页: First 上一页 7 8 9 10 11 12 13 14 15 下一页 Last