分类存档: 解决方案

Windows Server 2008 R2 X64安装Oracle 10g R2后不能创建数据库问题解决办法

一、背景交代

客户刚刚到的一台新服务器,型号为:IBM X3850,自带的操作系统为:Windows Server 2008 R2 X64;需要安装版本为10.2.0.4版本的Oracle数据库。

二、遇到问题

找到Oracle提供的安装光盘后安装数据库一路next,到了最后创建数据库的时候遇到了问题,进度停止不前,如下图:
oracle创建数据库时等待状态--停滞不前
查看trace.log内容如下:
继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Windows Server 2008 R2 X64安装Oracle 10g R2后不能创建数据库问题解决办法

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

CAS单点登录(SSO)完整教程(2012-02-01更新)

一、教程前言

  1. 教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤
  2. 单点登录SSO):请看百科解释猛击这里打开
  3. 本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),
    官网:http://www.jasig.org/cas
  4. 本教程环境:
    • Tomcat6.0.29
    • JDK6
    • CAS Server版本:cas-server-3.4.3.1、cas-server-3.4.10
    • CAS Client版本:cas-client-3.1.12、cas-client-3.2.1
    • 教程撰写日期:2010-11-05(第一版)、2011-11-05(一年后更新)、2012-02-01(异常处理)
    • 教程作者:咖啡兔

二、创建证书

啰嗦几句:证书是单点登录认证系统中很重要的一把钥匙,客户端于服务器的交互安全靠的就是证书;本教程由于是演示所以就自己用JDK自带的keytool工具生成证书;如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,
中文官方网站:http://www.verisign.com/cn/
继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: CAS单点登录(SSO)完整教程(2012-02-01更新)

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Maven常见问题收集(持续更新-2010-12-15)

一、Maven狂热者-Jdonee收集的问题(2010-11-01)

  1. Maven常见问题解答(一)
  2. Maven常见问题解答(二)
  3. Maven常见问题解答(三)

PS:之前由于文章是发布在Jdonee的Javaeye博客上的,后来转移到独立博客了导致大家不能访问。(Update Date:2010-11-07)

二、咖啡兔收集的Maven问题

  1. maven-war-plugin插件的warSourceExcludes和packagingExcludes参数的区别

三、avajava-Maven Tutorials

里面讲解了一些日常开发中遇到过的问题,配有图片说明,只不过是英文的,但是都是一些日常的技术术语比较好理解,地址分享:
http://www.avajava.com/tutorials/categories/maven

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Maven常见问题收集(持续更新-2010-12-15)

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

jquery.validate插件remote规则相同值不验证的问题解决办法

一、由来说明

使用jquery.validate插件的remote规则来验证一组参数是否重复,我的需求不像其他应用一样只验证一个字段是否重复,而是要依赖其他的几个字段来组合判断,所以jquery.validate就有点水土不服了。

二、环境说明

jQuery validation版本号: jQuery validation plug-in 1.7
$Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $

三、实例说明

验证规则功能说明(图一)

见左图,要保证[会员等级]和[积分来源]的联合唯一,类似于数据库的联合主键。

验证代码片段:
继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: jquery.validate插件remote规则相同值不验证的问题解决办法

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Eclipse+Maven+WTP+Tomcat不能Run On Server其中一个原因

使用Maven有段时间了,自己DIY项目后遇到了一个问题,项目不能使用WTP提供的Run On Server功能……

1、问题描述

配置好项目,配置好Tomcat6,加入项目到Tomcat中然后运行Tomcat没有加载项目的日志信息

2、环境配置

  • Eclipse With Java EE + WTP + Maven
  • WTP的组件配置.settings/org.eclipse.wst.common.component
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="exercise-admin">
<property name="context-root" value="exercise-admin"/>
    		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
 
        <wb-resource deploy-path="/" source-path="/src/main/webapp/js"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp/common"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp/WEB-INF/content"/>
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<property name="java-output-path" value="/target/classes"/>
  </wb-module>
</project-modules>

说明一下wtp的默认规则,org.eclipse.wst.common.component规定deploy-path为斜杠(/)并且是包含WEB-INF的wb-resource要在第一位,所以我在这里犯错了,看上面的配置就清楚了

3、问题原因

我一向喜欢“工欲善其事必先利其器”;因为基于Maven的WTP工程默认只有一个

<wb-resource deploy-path="/" source-path="/src/main/webapp"/>

看截图

Maven + WTP默认的WebResources


所以默认的.settings/org.eclipse.wst.common.component的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<project-modules id="moduleCoreId" project-version="1.5.0">
  <wb-module deploy-name="exercise-admin">
<property name="context-root" value="exercise-admin"/>
    		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
        <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
 
        <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
<property name="java-output-path" value="/target/classes"/>
  </wb-module>
</project-modules>

现在比较一下就比较清楚了,原因是我DIY的配置多了3行,所以我DIY的配置如下:

还有另外一个原因就是因为我的通过m2eclipse插件提供的SCM功能checkout项目,原本DIY配置好的项目被eclipse改动了,从svn信息看得出来,所以导致了问题的发生

4、问题关键所在

保证项目的.settings/org.eclipse.wst.common.component文件中的

<wb-resource deploy-path="/" source-path="/src/main/webapp"/>

在以deploy-path=”/”的wb-resource排在第一位,因为tomcat启动时要读取WEB-INF/web.xml,如果不在第一位找不到当然服务不能启动

5、问题解决

  • 根据上面说的保证webapp的位置即可,最终配置如下,可以保留DIY结果又可以启动服务:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    <?xml version="1.0" encoding="UTF-8"?>
    <project-modules id="moduleCoreId" project-version="1.5.0">
      <wb-module deploy-name="exercise-admin">
    <property name="context-root" value="exercise-admin"/>
        		<wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/java"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="src/main/resources"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
            <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/js"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/common"/>
            <wb-resource deploy-path="/" source-path="/src/main/webapp/WEB-INF/content"/>
    <property name="java-output-path" value="/target/classes"/>
      </wb-module>
    </project-modules>
  • 或者不要使用m2eclipse提供的SCM检出功能,直接用乌龟checkout,这样就不会因为eclipse自动设置修改.settings/org.eclipse.wst.common.component配置了

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Eclipse+Maven+WTP+Tomcat不能Run On Server其中一个原因

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Springside3.3.3报错:java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher解决办法

Springside刚刚发布了Springside 3.3.3版本,不过这次回复了generate-project.bat文件可以创建mini-web类型的项目。

下载了all-in-one版本,然后运行quick-start.bat出现问题了……

Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher
Caused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.codehaus.classworlds.Launcher. ?Program will exit.

Exception in thread “main” java.lang.NoClassDefFoundError: org/codehaus/classworlds/LauncherCaused by: java.lang.ClassNotFoundException: org.codehaus.classworlds.Launcher?? ? ? ?at java.net.URLClassLoader$1.run(URLClassLoader.java:202)?? ? ? ?at java.security.AccessController.doPrivileged(Native Method)?? ? ? ?at java.net.URLClassLoader.findClass(URLClassLoader.java:190)?? ? ? ?at java.lang.ClassLoader.loadClass(ClassLoader.java:307)?? ? ? ?at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)?? ? ? ?at java.lang.ClassLoader.loadClass(ClassLoader.java:248)Could not find the main class: org.codehaus.classworlds.Launcher. ?Program will exit.

一时也找不到原因,最直接有效的方式就是打开bat文件查看问题出现在哪里,打开后一看晓得了……因为springside的all-in-one版本里面含有maven工具,可以查看quick-start.bat的第10行命令:

if exist “tools\maven\apache-maven-2.2.1\” set MVN=”%cd%\tools\maven\apache-maven-2.2.1\bin\mvn.bat”

很清楚springside使用的maven版本是2.2.1,而我本地的版本号是用的Apache Maven 3.0-beta-1,然后我就试着注释掉了第10行命令,再运行,OK
所有使用Apache Maven 3.0-beta-1的同学注意了,如果报错就把第10行注释掉,也就是在前面加上#

再次感谢白衣整合了这么好的框架!

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: Springside3.3.3报错:java.lang.NoClassDefFoundError: org/codehaus/classworlds/Launcher解决办法

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

最新消息:本站的WIKI开通了 wiki.wsria.com

这年头做开发用到的技术太多了,尤其是做Java开发的技术很多很零散,而且Java不想微软那样有很全面的文档可以查询,这就是开源的弊端,只能去社区或者群里面找高手问;如果是文档全的开源插件还好,如果文档不全只能Google了……所以自己整理一些技术文档还是很有必要的;

另外国内大多数公司需要的员工都是综合人才,除了编码和数据库外还要可以做系统设计、需求分析等方面的工作,可想而知这些工作包含了多少技术方向……如果遇到问题我不说大家也清楚是怎么办的……要么记住了解决办法要么Google……如果解决办法需要些一段代码怎么办

所以“我们需要自己的WIKI”,把自己遇到的问题解决办法或者经验记录下来方便日后查询更可以以后整理出自己的技术手册,为此我建立了自己的
WIKI站点http://wiki.wsria.com
我使用的是Dokuwiki,具体安装过程看官方文档吧,不在本文的范围内。

我也乐意和大家分享我的WIKI,你可以通过RSS订阅的方式:

RSS订阅:http://wiki.wsria.com/feed.php
可以显示最近更新的内容

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: 最新消息:本站的WIKI开通了 wiki.wsria.com

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

JasperReports iReport导出PDF中文解决办法

最近研究JasperReports的UI可视化设计工具iReport在导出PDF文档时遇到了老问题:中文乱码……哎,又是乱码,解决呗

办法很简单:

一、设置文字标签的属性

点击文字标签设置PDF的属性,如下

Pdf font? name: STSong-Light;

Pdf? embedded:勾上(其实不打钩也可以)

pdf enccoding: UniGB-UCS2-H (Chinese Simplified)

设置完成后再点击预览查看控制台是否有报错,因为设置了中文语言所以如果iReport的lib目录下面没有中文语言包iTextAsian.jar的时候会报错,如下图:

继续阅读 »

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: JasperReports iReport导出PDF中文解决办法

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

解决a different object with the same identifier value was already associated with the session错误

使用Hibernate三年了第一次遇到这个异常,常发生在一对多和多对多关系映射时,其实翻译一下很简单就是在Session中有两个相同标示但是又不是相同的实体,当进行保存或者更新(saveOrUpdate)时就爆出了这个错误,因为Hibernate不知道改怎么操作了,Google了一下发现解决办法很多,比如清空Session对象的缓存、刷新Session,但是这些都会导致后遗症的发生

一、清空Session缓存
也就是执行session.clean()方法,但是如果在clean之后再对对象saveOrUpdate就会报错:“Found two representations of same collection”,所以这个解决办法不可取

二、刷新Session

session.refresh(object)方 法就可以解决了,注意,当object不是数据库中已有数据的对象的时候,不能使用session.refresh(object)因为refresh是 从hibernate的session中去 重新取object,如果session中 没有这个对象,则会报错所以当你使用saveOrUpdate(object)之前还需要判断一下

三、最好的解决办法:session.merge()

这个是我认为比较好的解决办法了,session里面有一个相同标示的对象,业务方法里也有一个相同标示的对象,把两个合并起来不就可以了,最后调用session.merge()更新到数据库,OK

四、Hibernate 疑难异常及处理

1、a different object with the same identifier value was already associated with the session。

错误原因:在hibernate中同一个session里 面有了两个相同标识但是是不同实体。

解决方法一:session.clean()

PS:如果在clean操作后面又进行了saveOrUpdate(object)等改变数据状态的操作,有可能会报出”Found two representations of same collection”异常。

解决方法二:session.refresh(object)

PS:当object不是数据库中已有数据的对象的时 候,不能使用session.refresh(object)因为该方法是从hibernate的session中去重新取object,如果session中没有这个对象,则 会报错所以当你使用saveOrUpdate(object)之前还需要判断一下。

解决方法三:session.merge(object)

PS:Hibernate里面自带的方法,推荐使用。

2、Found two representations of same collection

错误原因:见1。

解决方法:session.merge(object)

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: 解决a different object with the same identifier value was already associated with the session错误

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

jqGrid查询中文乱码问题解决办法(2011-11-11)

终极解决办法-2011-11-11

之前是通过修改源码的方式解决乱码问题,但是只能解决一部分问题而且不利于升级,@嘴大饿急的意见我实验了一下比较完美,设置所有的ajax请求都使用post请求就可以了,具体代码:

$.jgrid.ajaxOptions.type = 'post';

上面的这段代码可以在项目的common.js中设置,这样所有的jqgrid的ajax请求都是用post发送,远离乱码……清净了!
哎呀,今天又是一个好日子,百年一遇的六一……

历史解决办法

jqGrid是我用过最好的基于jQuery的列表插件,在项目中试用后效果很不错,基于jQuery UI的界面美观并且可以更好皮肤……

花了一天时间实现了增删改和查询功能,但是在查询中文的时候遇到了乱码问题……诡异,说一下情况:

  • 我的开发环境是全站UTF-8,而且有编码Filter;
  • jqGrid版本为:3.6.4

在后台断点调试发现如下特点:

1、新增、编辑没有乱码问题

2、查询中文后台时得到的参数是乱码

然后就考虑了,如果是开发环境问题那肯定全部都有乱码问题,所以问题应该在jqGrid的查询函数里面,最后通过Firebug找到了:

c.find(".ui-search").click(function() {

这一行是查询功能的开始也就是点击“查询”的触发函数

所以根据以往的经验在这里把参数值编码一次就可以了,也就是encodeURIComponent函数具体修改如下:

  1. 找到第6202行
  2. 找到代码
    6201
    6202
    6203
    
    var p = jQuery(this).find("select[name='field'] :selected").val(),
    g = jQuery(this).find("select[name='op'] :selected").val(),
    f = jQuery(this).find("input.vdata,select.vdata :selected").val();
  3. 现在看到这里的3行代码就是查询时获取参数的3个变量,我们要修改的就是这里,最终代码:
    6202
    6203
    6204
    
    var p = encodeURIComponent(jQuery(this).find("select[name='field'] :selected").val()),
    g = encodeURIComponent(jQuery(this).find("select[name='op'] :selected").val()),
    f = encodeURIComponent(jQuery(this).find("input.vdata,select.vdata :selected").val());

到此大功告成

——————————–分割线———————————–

为了方便网友顺便提供本人修改后的jqGrid3.6.4版本的源码,分为3种类型(未压缩、迷你版、压缩版pack)

资源下载:jquery.jqGrid.3.6.4.js 共 361 次

资源下载:jquery.jqGrid.min.3.6.4.js 共 367 次

资源下载:jquery.jqGrid.pack.3.6.4.js 共 285 次

jqGrid3.8版本,更新日期(2010-11-06)

此版本是我修改后一直在项目中运行的,目前没有发现问题,特此公布,仅有min和pack版本
资源下载:jquery.jqGrid.min-3.8.js 共 230 次

资源下载:jquery.jqGrid.pack-3.8.js 共 216 次

原创文章,转载请注明: 转载自what is the RIA? just it…||咖啡兔

本文链接地址: jqGrid查询中文乱码问题解决办法(2011-11-11)

无觅相关文章插件,快速提升流量

咖啡兔

一只咖啡兔,热爱开源,喜欢追踪、研究新技术,向往背包游…… 讲究效率,坚信:“工欲善其事必先利其器” 使用Linux(Ubuntu),基于Java和jQuery开发企业RIA应用

More Posts - Website

Page 1 of 212