CentOS环境下把 Nginx 从0.8.54平滑升级至1.0.6 suny

      使用Nginx很久了,一直没有更新和升级,最近爆出低版本的nginx有安全漏洞,虽然当前版本没有受影响,但是本着追求新版和稳定的精神,今天把nginx顺利升级到了最新的1.0.6稳定版。

升级步骤:

1、下载安装包:# wget http://nginx.org/download/nginx-1.0.6.tar.gz

...

myBatis 使用Select top 动态参数出现“´@P0´ 附近有语法错误”的解决 cloudy

今天在使用myBatis使用 select top #{num} * from tableName... 传递动态参数的时候会无法执行SQL语句,报错:'@P0'附近有语法错误

最后寻得解决方法应该为:select top ${num} * from tableName...

iBatis2对应语法是:#num# 和 $num$。

...

httpClient4.x中,MultipartEntity中附加中文信息时的乱码解决 cloud

今天在开发腾讯微博应用的时候,发现部署在Linux上面的jsp无法同时发送图片和汉字,会出现鉴权失败的错误,原因是参数中的中文汉字乱码了!但是在本地winxp环境使用eclipse调试却可以正常发送!

经过调试,发现是httpClient中的MultipartEntity参数编码出现了异常,修改如下:
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value));
改为
MultipartEntity reqEntity = new MultipartEntity();
..........
reqEntity.addPart(param[0], new StringBody(value,CharsetUtil.getCharset(chartSet)));

chartSet是一个字符串变量,指编码格式,我的值是"UTF-8"。

...

jQuery.getJSON 跨域访问远程数据源“拒绝访问”的解决方法 cloudy

昨天在开发一个腾讯微博API的时候,遇到jQuery.getJSON跨域名远程访问json数据源的时候,报“拒绝访问”的脚本错误。

修改前:

   javascript代码
  1. $.getJSON(apiURL+"gethtlist.jsp"
  2.       {"page":page,"pageSize":pageSize,"pageinfo":pageinfo}, 
  3.       function(json){ 
  4.             alert(json); 
  5.       }); 

修改后:

...

jSQL Manager Version 1.0.0 Beta(测试版)低调发布 cloudy

什么是jSQL Manager?

      笔者从事JAVA开发2年多,期间开发和维护了不少项目,深知数据库管理的重要性。程序排错、系统更新、日常维护都和数据库管理息息相关。特别是一些在Linux系统部署的系统维护更为头疼,由于采用SSH远程连接,直接在控制台敲命令。SSH没有图形化可视操作,而且对中文的支持也很不友好,数据库管理很不方便。而且大部分系统为了安全考虑,并没有开放数据库和SSH的外网远程访问权限,常常需要使用QQ的远程协助功能和其系统内部的一些技术员进行远程控制操作,受网络传输影响,常常卡得心烦气躁,头疼不已。

      因此,我开始有了开发一个在线管理数据库的软件的想法,jSQL Manager应运而生。

      jSQL Manager是一款基于Java/jsp语言开发的在线管理数据库的软件,适用于MySQL、MSSQL、Oracle的数据库在线管理。(目前测试版仅支持MySQL5)。

...

Eclipse is running in a JRE, but a JDK is required suny

给Eclipse安装了Maven插件后启动报错:
Eclipse is running in a JRE, but a JDK is required
Some Maven plugins may not work when importing projects or updating source folders.
javawind.net

解决方法:修改eclipse.ini,添加VM启动参数,指定eclipse启动使用的vm,修改后的文件内容如下:
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe

-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

PostgreSQL 安装报错 Error reading file postgresql.conf 的解决办法 suny

最近的项目需要用到PostgreSQL数据库了,有点新鲜,但是安装很是让我郁闷,换了几个目录都是安装报错(最后一步报错:Problem running post-install step. Installation may not complete correctly > Error reading file C:/Program Files/PostgreSQL/8.4/data/postgresql.conf),经检查data目录是空的,即使安装完毕也是无法启动。

最后通过万能的百度得到解决方法:Please don´t select "default" in locale when you are using no-English version windows, or you will the following error

意思是说:非英文操作系统,选择地区的时候不能选择默认,应该选择其它,如下图所示:

...

iBatis改名myBatis,逐步脱离apache,投向Google Code suny

iBatis改名myBatis,逐步脱离apache,投向Google Code。

半自动的iBatis/myBatis ORM框架
      iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2001年发起的开放源代码项目。最初侧重于密码软件的开发,现在是一个基于Java和.net的持久层框架。

      使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的 Java对象,这一层与通过Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。相对Hibernate等 “全自动”ORM机制而言,ibatis 以 SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益补充,ibatis 的出现显得别具意义。

...

ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [] suny

      今天一个系统的Oracle数据库升级后,遇到如下的错误:ORA-00600: internal error code, arguments: [ttcgcshnd-1], [0], [], [], [], [], [], [] 
      百度告诉我:这个问题可能是Oracle的版本问题,可用ojdbc14.jar代替classes12.jar,因为从oracle 9.2之后,对jdbc 的驱动程序的命名将有所改变,JDK1.1,JDK1.2的驱动程序名(class12.jar)将不再改变,一直沿用下去,从JDK1.4开始驱动程序名将所有改变,例如:JDK1.4的驱动名为ojdbc14.jar 。JDK1.5的驱动名为ojdbc15.jar。
      重新下载了对应的驱动程序后,问题得到解决。

CentOS定时同步系统时间 suny

      使用Linux.VPS第二天,发现系统时间不正确,手动修改或者同步正确一次后,运行半天发觉时间又快了几分钟,反正是运行得越久就越快,难道VPS穿越啦?

      和VPS管理员沟通无果,再上网搜索一番后,决定使用定时器自动同步时间算啦。

ssh执行命令:
#crontab -e
执行后加入一行:(和vi命令一样,按i进入编辑模式,Esc返回命令模式,:w保存修改,:q退出)
*/30 * * * * /usr/sbin/ntpdate us.pool.ntp.org >> /var/log/crontab.log 2>&1
数字30表示30分钟执行一次,保存和退出后,还需要重启定时任务器才行哦:
#service crond restart

...

Total:76123456788 Pages