存档

‘编程技术’ 分类的存档

WAS JDK 时区问题——JDK时区出错

2011年8月22日 没有评论

在was上部署的项目,在应用操作过程中发现得到的时间与操作系统时间不一样,差八个小时,was版本: 6.1.0.27 ,当时想到的是was的jdk问题,写个时间测试类用was安装目录下java的 jdk(路径..\IBM\WebSphere\AppServer\java\bin)测试了下,果然结果与操作系统多了八个小时,网上google了下was jdk时区,有看到网友在was6.0下出现这个问题,一般都是在was控制面板中>应用程序服务器 > server1 > 进程定义 > Java 虚拟机  >通用 JVM 实参 添加上参数-Duser.timezone=EAT-8,并清除tranlog后重启was,解决问题,这个我没有实际测试过,看过之后我想官方应该有修改这个bug的补丁,于是我就用was升级工具7.0.0.5-WS-UPDI-WinAMD64(我这里的was安装在win2008 64位操作系统上,所以用的WinAMD64,升级工具一定要比was版本高才可以,所以我这里用的是7.0.0.5,官网上下的)看看是否存在没有更新的补丁(在更新补丁之前,把was停止,不然会安装不上;网络一定是连上的,以便升级工具能够获取到此was版本的最新更新文件)打开之后发现有几个补丁没有安装,赶紧安装之后,再次回到was安装目录下java的目录(路径..\IBM\WebSphere\AppServer\java\bin),用java命令测试了下开始写的那个测试时间类,最后显示时间正常。

最后启动was,应用运行正常,was时区问题得到解决。

 

分类: 服务器 标签: ,

DB2中通过sql给数字自动补零方法

2011年8月14日 没有评论

很多时候,我们对查出来的数字希望数字位数能保持一致,如数据库里面某字段存的数据是2,3,4,10,11这样的格式,我们希望通过sql语句查出来的这个字段数字格式为02,03,04,10,11,显然对于只有1位数的不好处理,要采取自动补零的方法才行。下面就说下在DB2数据库里怎么通过sql语句来达到我们需要的目的:
其中用到了digits这个函数:digits(参数)
digits里的参数必须是整型参数,可以是smallint,int,bigint,decimal,其中smallint占5位,int占10位,bigint占19位,

decimal默认为5位,最多为31位可以表示为decimal(31).也就说digits参数能够容纳的数字最多为31位,通常digits在参数不足10位

的时候自动补零补齐到10位,等于10位的时候就返回10位,大于10位而小于19位的时候就自动补零补齐到19位,等于大于19位且小于31位的时候数字原封不动地返回不再自动补零。
即我们通过语句:
select digits(3) from TEST
查出来得结果会是:0000000003
通过
select  digits(cast(3 as bigint))  from TEST
查出来得结果会是:0000000000000000003
通过
select  digits(cast(3 as smallint))  from TEST
查出来得结果会是:00003
通过
select  digits(cast(3 as delcimal(31)))  from TEST
查出来得结果会是:0000000000000000000000000000003

好了 看到这里,我们会想到我们要自定义数字的位数来采取自动补零,那该怎么办,那应该很快的想到用right函数来截取我们所需要

的位数,于是就有了以下语句:
如最开始讲的最多只需要两位就好了:
select right(digits(3),2)  from TEST
这样得到的结果将是:03
当然如果字段里的数字本来为2位数那就还是不变了。
这里要注意,数字等于多出19位需自动补零的话就要通过cast函数将参数转换为适合的delcimal类型了,不然如
select right(digits(123456789123456789123),22)  from TEST
本应该需要补一个0的,但结果是原封不动的返回来了,这里我们就需要更改为:
select right(digits(cast(123456789123456789123 as decimal(22))),22)  from TEST
这样就会获取我们需要的了。
大于31位的数字还要通过sql查询来自动补零就没办法用这个方法了,也许有其他方法,还没想到,请朋友们补上,碰到大于31位我想我只能通过程序来实现了,呵呵。

分类: 数据库 标签: , , ,

javascript传中文乱码

2011年7月14日 没有评论

今天在用ajax传一个中文值的时候,碰到了个怪问题,起先在js中没有对要传到后台的中文值进行编码,在java后台通过

new String(后台接收到得中文值.getBytes(),”UTF-8″)

可以正确解析到传过来的中文值,但是当我传中文值”一般”的时候,问题出现了,死活都是乱码,很奇怪,把其中”一”去掉,能够正常解析,问题出在这个”一”上,呵,以前还真没遇到过,因为时间的关系,最后对js传的中文值用

encodeURIComponent(中文值)

来传递到后台,java后台通过

java.net.URLDecoder.decode(后台接收到的经过编码的中文值,”UTF-8″);

来解析,至此一切正常,不管怎样,对js传中文到后台的时候,一律先给它编码再传,这样乱码也就不会产生了。

Apache性能优化–开启gzip压缩

2010年8月26日 4 条评论

为了使网站浏览速度更快,对apache启用了gzip压缩功能,虽然这多少会给服务器造成一定的压力,但还是可以承受的,哈,看看怎么来给Apache开启gzip压缩功能(我的是在windows下.用的版本是Apache2.0.47.0)吧:
Apache开启gzip压缩功能需要用到模块mod_deflate.so,你可以到%Apache安装路径%/modules文件夹下找到mod_deflate.so这样一个文件。在 %Apache安装路径%/conf 下的httpd.conf文件里面是没有加载这一模块的,所以你必须手动进行配置,在httpd.conf文件里面添加上以下内容:
#加载mod_deflate.so模块
LoadModule deflate_module modules/mod_deflate.so
#对text/html text/php text/png text/jpg text/plain text/css text/xml text/javascript
#启用GZIP压缩
AddOutputFilterByType DEFLATE text/html text/php text/png text/jpg text/plain text/css text/xml text/javascript
#压缩级别 9 性能最佳
DeflateCompressionLevel 9
#启用deflate模块对本站点的所有输出进行GZIP压缩
SetOutputFilter DEFLATE

最后重启Apache就可以了。。。

下面摘抄一下网上介绍的在linux下开启gzip压缩功能的文章内容:
而如果是 Linux/Unix 操作系统,如果你没有在编译安装的过程中将所需要的两个模块 mod_deflate 和 mod_headers 编译进去的话,那就稍微有点麻烦,首先我们先看如何在编译安装 Apache 过程中也同时编译这两个模块,请在执行 configure 程序时增加两个参数分别是:

# ./configure –enable-deflate –enable-headers
这样在编译完 Apache 后就可以直接在 httpd.conf 中启用并配置 deflate 模块了,配置的方法跟 Windows 平台下是相同的。
如果说您的 Apache 已经在运行了,不想再重新编译一次,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c 和 mod_headers.c。这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src} 为 apache 源文件所在的目录)。使用如下命令来单独编译这两个源文件。

# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c
# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c
When install the header module the src directory is {apache-src}/modules/metadata/mod_headers.c
So we need change the command as follows:{apache-bin}/apxs -i -a -c {apache-src}/modules/metadata/mod_headers.c

其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。
很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是:
Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate
解决的方法如下:
编辑 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值为 “-lz”,然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。
为了省却不必要的麻烦,请尽量在编译安装时直接加上 –enable-deflate –enable-headers 参数。

分类: 服务器 标签: ,

MyEclipse注册码

2010年6月8日 没有评论

今天打开电脑,出现错误,说电脑配置文件受损,进入桌面,之前桌面上的东西都没了,打开eclipse,进去工作台的时候,跳出输入MyEclipse注册码的对话框,呵呵,之前的MyEclipse注册码已经忘记在哪了,只能google一下,找MyEclipse注册码,找了几个都已过期,要不就快要到期,哈看到有一个可以根据自己输入的用户名自动生成MyEclipse注册码的,并且经过测试生成的MyEclips注册码在MyEclipse5.5及以上的版本(如myeclipse6.5,myeclipse7.0)中都可以注册,不错,已经打包好了,是jar文件,呵呵能运行eclipse,那么java环境也就有了,直接运行jar文件就可以了,如图:

生成MyEclips注册码 注册MyEclipse


在Subscriber 输入框里面输入你的用户名,点击Generat按钮就可以生成Subscription Code 了,哈,非常不错。下面提供下载地址:
MyEclips注册机
希望对注册MyEclipse的朋友有用。。。

分类: java 标签: ,

jQuery1.4.1 API 中文参考文档下载,

2010年5月26日 1 条评论

jQuery1.4.1 API中文参考文档放在自己电脑上很久了,有一朋友要,就想着挂上来,直接去下载算了,也方便其他的朋友们,呵呵。
下载地址:jQuery1.4.1 API 中文参考文档
jQuery 1.4中,很多常用的jQuery方法重写过了,这些方法的改变使得它更容易使用,对性能也是一个大的提升,具体的改变,网上有很多文章介绍,这里就不说了,呵呵。

分类: javascript 标签: ,

mysql DB2 oracle MS SQL sql字符串连接

2010年5月18日 没有评论

在mysql数据库里面,想给某个表里的字段的值在原来的值的基础上再增加内容,例如,
原来url为: http://127.0.0.1/cms
我想把它改为: http://127.0.0.1/cms/chinese
它是在原来值为” http://127.0.0.1/cms”的基础上追加了“/chinese”这样一个字符串。通常也许我们会直接用:
update cms_psn set url=’http://127.0.0.1/cms/chinese’;
这样来直接改变原来的值,下面还有一种方法,就是用concat连接字符串函数,用它的话我们可以将上面的语句改为:
update cms_psn set url=concat(url,’/chinses’);
这就是数据库mysql里面的字符串连接操作。不同的数据库有不同的字符串连接方法,如:
DB2数据库,即可以用“concat”也可以用“||”(如url || ‘/chinses’)来连接字符串,
MS SQL数据库,用“+”(如url + ‘/chinses’)来连接字符串
oracle中是用||进行字符串连接

分类: 数据库 标签:

SVN取消记住的用户名或Eclipse中修改svn提交代码的用户名

2010年5月11日 2 条评论

Eclipse中修改好项目的代码后要提交到svn上去,不想以现在默认的用户名提交,想修改提交代码的用户名,但原来的用户已经被设为默认提交的用户了,也就是记住了svn的用户名和密码,而在Eclipse里面也没有选项来更改svn用户名来进行代码的提交,那该如何是好,如何来取消记住用户名,下面那

打开

C:\Documents and Settings\Administrator(这是你的电脑用户名)\Application Data\Subversion\auth\svn.simple

,里面可能会有很多个文件。这些文件可以用记事本之类的打开,可以看到里面存有svn服务器地址,和用户名,密码是加密过了的。图省事的话,就把里面的文件都删了吧,呵呵,相当于清除 svn 用户然后在eclipse下将项目重新更新就会弹出输入用户名密码的界面,输入用户名密码就可以了,这样也就大功造成了,哈.

分类: java 标签: ,

清除WebSphere中jsp缓存

2010年5月10日 3 条评论

websphere中修改了jsp后,有时会出现修改的jsp没有起作用,特别是改变了某jsp的样式后,在页面中没看到效果,这主要就是由于websphere中缓存的缘故,这就要清除WebSphere中jsp缓存,如我的应用部署的目录为:
E:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\nbxzfwNode01Cell\项目名_war.ear\项目名.war 阅读全文…

分类: java 标签: ,

DB2 SQL error: SQLCODE: -302, SQLSTATE: 22001, SQLERRMC: null

2010年5月10日 2 条评论

早上查看websphere日志,发现报:
DB2 SQL error: SQLCODE: -302, SQLSTATE: 22001, SQLERRMC: null
这个错,看来是礼拜五更新代码出错了,报这个错的原因是:
sql中要更新的某个字段的长度超过了数据库表中字段的定义长度。
看来得检查下更新的代码和表了。。。。

分类: java 标签: ,