让 MySQL 在 Linux 下表名不区分大小写(实为表名全小写)

把 Windows 下的应用部署到 Linux 下,使用到了 Quartz 集群的特性,所以建了 MySql 的中间表,一启动看到报错:

Invocation of init method failed; nested exception is org.quartz.JobPersistenceException: Couldn't retrieve trigger: Table 'unmijob.QRTZ_TRIGGERS' doesn't exist [See nested exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'unmijob.QRTZ_TRIGGERS' doesn't exist]

用 MySQL 客户端连接到那个数据库,看到 qrtz_triggers 表确确实实是存在的,MySQL 也是安装在 Linux 下的。在大小写敏感的操作系统中,估摸着会不会是表名大小的因素呢? 于是把 qrtz_triggers 改为大写的 QRTZ_TRIGGERS,再次启动应用服务器,这时候出现的是: 阅读全文 >>

Struts2 使用 xslt 结果类型如何把字符串直接作为 Document 内容(终结)

前面两篇:Struts2 使用 XSLTResult 输出页面内容详解 和 Struts2 使用 xslt 结果类型如何把字符串直接作为 Document 内容 对 Struts2 如何使用 xslt 结果和怎么把字符串直接作为 Document 内容进行的讲解、研究和探讨。关于 Action 中的字符怎么直接作为 xslt 的内容已有一种方法,就是把 String 转换成 org.w3c.dom.Document 类型再送给 xslt 文件。

同时也发现 Struts2 使用了 org.apache.struts2.views.xslt.StringAdapter 了对字符串的处理,并提供了 parseStringAsXML 的开关选项(虽然是无从设置它的值),但即使把 parseStringAsXML 设置成了 true,送给 xslt 文件的内容也是被包裹上了 <result> 根节点,xslt 中不得不用 <xsl:template match="/result/你的根节点"> 来应用模板。

通过在上一篇 Struts2 使用 xslt 结果类型如何把字符串直接作为 Document 内容 里琢磨来琢磨去的探寻,着实又走了不少弯路,甚至是误入了歧途,但终究是找到了一个较好的办法来让 Action 直接送 String 表示的 Document 给 xslt 文件。那就是自定义 StringXSLTResult, 阅读全文 >>

几个免费的智能双线解析系统

在互联网上,世界上最远的距离不是从中国到美国,而是从电信到网通。所以有时候为了速度,不得不为主机申请多条线路,一般是电信一个 IP、网通一个 IP,这就要求 DNS 解析同一域名时能智能的根据用户的网络类型解析成相应的 IP 上使用该线路。

例如,对于同一个主机有两个 IP,分别为 192.168.0.1 和  172.16.0.1,域名为 www.unmi.cc, 当然用不同的 IP 访问会走不同的路由线路的。希望电信用户进来访问 www.unmi.cc 是走 192.168.0.1,而网通用户访问 www.unmi.cc 时走 172.16.0.1,默认为 192.168.0.1。

所幸网络上有免费的几个双线智能域名解析系统可使用,下面列出:

1. DNSPod,还记得它曾遭受过暴风影音的殃吧,这也证明它用户多吗。面向国际的是 http://www.dnspod.com,它不支持双线解析。中国用户请用 http://www.dnspod.cn,支持双线解析,并且响应还很快的。它们间的用户是不共享的,可以说是完全独立的,分免费和 VIP 付费用户,看起来似乎很强大。 阅读全文 >>

Struts2 使用 xslt 结果类型如何把字符串直接作为 Document 内容

在上一篇: Struts2 使用 XSLTResult 输出页面内容详解 中说到了,如果在 Action 中送给 xstl 的是一个字符串,例如 String user = "<user><name>Unmi</name></user>",那么 xslt result 输出的将是:

<result>
&lt;user&gt;&lt;name&gt;Unmi&lt;/name&gt;&lt;/user&gt;
</result>

而不我们期望的

<user>
<name>Unmi</name>
</user>

那么怎么才能做到这一点呢?在 XSLTResult 有 adapterFactory 以及相应的 setter/getter 方法,但它们是 protected,所以也无法定制自己的 AdapterFactory 来判断是字符串就作为 Document 的内容。 阅读全文 >>

Struts2 使用 XSLTResult 输出页面内容详解

Struts2 内置提供了 xslt 结果类型,实现类为 org.apache.struts2.views.xslt.XSLTResult,它让你方便的把获得的 XML 数据内容,或者是用 OGNL 能访问到的某个属性(像 ContenxtMap、Request 等中的属性),通过一个 xslt 文件转换成你想要的格式。前面这句听来不怎么明白,后面慢慢道来。

在 Struts2 的 struts-default.xml 中定义了 chain、dispatcher、freemarker、httpheader、redirect、redirectAction、stream、velocity、xslt 和 plainText 10 种类型的 Result;而在 Struts2 初期版本中的 jasper、chart、jsf 和 tiles 结果类型已移到相应的插件去实现了。

freemarker、velocity 和 xslt 可以很自由的使用各自的模板语言,velocity 渐渐淡出了我们的视野,那还剩下 freemarker 和 xslt。freemarker 要求实合并的变量是实体类型,满足了多数时候的需求,不过现在要说的 xslt 结果类型,向 xslt 文件送去的数据可以是实体类型,也可以是原生的 org.w3c.dom.Document 类型,当然到了 xslt 文件这一层处理的都是 阅读全文 >>

命令行下创建 Android 工程,用 Ant 进行编译部署

安装完 Android SDK 后可以在命令行下 Android.bat 命令创建一个示例项目,有 Ant 的话还可直接用 Ant 来编译部署到模拟器上运行。

环境准备:

告诉 path 要指向到 Android SDK 目录的 tools 子目录中,如 d:\android-sdk-windows\tools
要用 ant 编译部署的话,再把 ant 的 bin 目录加入到 path 上,如 D:\apache-ant-1.8.2\bin

CMD 进到命令行下,执行:
android create project -k cc.unmi.android.test -n Hello -a HelloAndroid -t 5 -p c:\TestAndroid

注:以上各参数的意义,可参考:http://developer.android.com/guide/developing/projects/projects-cmdline.html
-k 工程包名: cc.unmi.android.test
-n 工程名  : Hello 阅读全文 >>

推荐一种快速提高英语口语的方法

现在越来越多的外国企业在中国开设分公司,很多人有很强的技术和能力,但是英语不行进不了外企。这是因为中国糟糕的英语教育导致的,我们大家都是学英语学了几十年到头来都是英语聋哑人。

本方法是笔者多年国内外学习英语的经历并结合语言专家们的教学经验总结出来的,只是提高口语和听力,适合那些有一定英语基础,想提高口语,但不想花钱留学又不想上昂贵的英语培训班的人。另外其中有些方法会比较特别,颠覆传统的学习方法,可能不适合所有人,一般来说每天坚持本方法练习3到6个月就会有效果,如果仍然没有,那很可能本方法不适合你。

首先在介绍方法之前,我先给英语口语水平分3个级别。level0,level1和level2。无论刚开始学ABC还是大学过了四,六级,大部分人的口语level都是0,是的别不服气。什么是level1,0和1的区别就是当你说英语时候可以脱口而出,不用先在脑海里把要表达的中文翻译成英文。 阅读全文 >>

如何在WordPress里使用Featured Image功能

我想大部分人都很清楚WordPress 2.9版本开始,就增加了Featured Image这个功能。而且这样的功能多用于杂志式的主题,从里一个角度来说,用缩略图的形式比摘要输出形式更能体现网站的可读性!这里就介绍下如何为你的 WordPress主题添加Featured Image功能。

首先,看一看你的主题包,在functions.php文件里必须有下面的语句才能开启单篇日志以及页面里的Featured Image功能。

add_theme_support( 'post-thumbnails' );

当然,如果你只希望在单篇日志里开启这样的功能,只要加入

add_theme_support( 'post-thumbnails', array( 'post' ) ); 阅读全文 >>

Android Dalvik虚拟机初识 分享

首先,让我们来思考下面几个问题:

什么是Dalvik虚拟机?

Dalvik VM与JVM有什么区别?

Dalvik VM有什么新的特点?

Dalvik VM的架构是怎么样的?

首先,我得承认第一个问题问得很傻:什么是Dalvik虚拟机?没有人给出过一个明确的定义,但是,我们似乎可以从人们对Java虚拟机的描述中得到些信息。

Java 虚拟机(JVM)是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它有自己完善的硬件架构(如处理器、堆栈、寄存器 等),还具有相应的指令系统。使用“Java虚拟机”程序就是为了支持与操作系统无关、在任何系统中都可以运行的程序。 阅读全文 >>

Android 开发者官网镜像站点收集

怎么都搞不明白,一个纯技术性的网站 Android 开发者 http://developer.android.com/ 会被墙,找不到合适的理由。仅仅是出自于 Google,因 Google 不听 ZF 的话受影响?Android 牵动了什么人的神经,影响了什么群体的利益?

作技术的不能因为正常方式访问不了就不去另想他途,翻墙方式的种种这里不累述了。我们不会像多数人一样,以为搜索引擎只有一个百度(多数人其实根本不知道那个叫做搜索引擎)。在常规方式下,幸好还有不少 Android 开发者网站的镜像可以访问,虽然有些并不能非常及时的跟进同步,但也足够用的。

这里就收集一些可访问的 Android 镜像站点,千万不能因为我把它们集中在一块而给某些别有用心的人得了方便,而后害了那些热心的网站,那我可真的是很无聊。随着 appspot.com 的不幸,也让 http://androidappdocs.appspot.com 失效了。如果还有别的镜像站点,希望大家多多提供,谢谢啦。 阅读全文 >>