Unmi 的 Struts2 学习笔记(十四)

生活中常为一些无伤大体之事优柔寡断,譬如买羽毛球拍是方头的还是圆头的呢?电子产品是这款好还是那款好呢?拿此又放下,举彼又放下,最后靠概率来决定。取其一,少段时间内总有些戚戚然,而后全然无所谓。小事无碍,大事可就会后悔不及,无疑亦会让许多机会径直溜去。

1. 从此开始学习 Struts2 对 Ajax 的支持。这也是 Struts2 新注入的元素。Struts2 的 Ajax 支持是建立在 Dojo 和 DWR 基础之上的。提供了 Ajax 的输入检验,表单提交;pub-sub 事件模型、自动完成以及与 JSON 的使用等功能。

2. 在 Struts2.0.6 和 Struts2.0.11 的 apps/struts-showcase-2.x.x.war 中的 dwr 包都还是 dwr-1.1-beta-3.jar,当前 DWR 最新版是 2.0,前一个稳定版是 1.1.4,所以正式应用可用 1.1.4 版,若用 2.0 DWR 需做充分的测试。Struts2 的 Ajax 支持是建立在 ajax 主题上的,ajax 是扩展了 xhtml 主题。 阅读全文 >>

为什么用 http://unmi.blogjava.net 进不了我的博客,会转向到 cnblogs

原来一直都用 http://unmi.blogjava.net 进我的博客的,而不需输入 http://www.blogjava.net/Unmi,但是最近不行了,输入 http://unmi.blogjava.net 会转向到 http://www.cnblogs.com 去。

而在 http://www.cnblogs.com 的博客仍可用 http://unmi.cnblogs.com 的形式进去。

这么久了,好像也没有人觉得有些不方便。

这里的管理员请麻烦及时看看怎么回事了,请尽快调整好,谢谢!

访问日志文件过大而导致启动 Apache 时出现 httpd could not be started 错误

正式应用又好久没有重启过了,所以先停了 IBM Http Server (IHS,Apache 1.3.28),再把所有应用启动妥当后,最后把 Apache 启起来。终端下进到 IBMHttpServer 目录,然后敲入命令:bin/apachectl start,得到的错误是:bin/apachectl start: httpd could not be started。

这下有点慌了神,以前从未碰到过,怀疑是配置文件 httpd.conf 有问题,但一般 httpd.conf 有问题有提示错误的,不管,还是用 bin/apachectl configtest 看下,返回 Syntax OK,没问题。

可能别的程序占用了 80 端口?netstat -na|grep 80 没发现什么。

翻看日志,打开 IBMHttpServer 下的 log.txt,好久以前的信息,打开 logs/error_log 也是很久以前的信息。 阅读全文 >>

Unmi 的 Struts2 学习笔记(十三)

柏杨在形容中国人不团结,喜欢窝里斗用了这样的话:每一个中国人都是一条龙,但是三个中国人加在一起──三条龙加在一起,就成了一条猪、一条虫,甚至连虫都不如--《丑陋的中国人》。可是他老人家走得走,要是能多有半个月的阳寿,不知作有何感想。

1. <s:optiontransferselect.../> 正是考虑到通常使用而新加的用于创建两个下拉框,可以来回移动列表项。有属性设置是否显示 "选定左移"、"全部左移"、"选定右移"、"全部右移" 按钮以及各按钮上的文本,其他的 list/listKey/listValue/doubleList/doubleKey/doubleValue 等属性同 <s:doubleselect.../> 的是一样的。还可设置 allowUpDownOnLeft/allowUpDownOnRight 是否出现相应框的上下移动选择的按钮(true/false)。

2. <s:radio.../> 的用法与 <s:checkboxlist.../> 完全一样,只页面表现不一样,一个多选,一个单选。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第六章. Job 存储和持久化 (第三部分)

七. 使用 JobStoreTX

我们首先要讨论的持久性 JobStoreJobStoreTX。名字中的 "TX" 代表着 "事物"。我们在前面提过,JobStoreTX 是设计用于想要 Quartz 来管理事物的环境中。例如,假如你正构建一个 J2EE 应用,并且不使用到应用服务器,如 WebLogic 或者 JBoss 等,那么 JobStoreTX 会是持久性 JobStore 正确的选择。

在之前章节中,我们看到配置 RAMJobStore 是多么的容易。我们提到 RAMJobStore 的其中一个优点就是易于配置。我们已经讨论过让数据库准备就绪该做的事情;现在我们讲述使 Quartz 应用支持 JDBC JobStore 需要对它配置些什么。 阅读全文 >>

JSP 的 errorPage 指令异常转向错误页的实现机制及应用

如有 index.jsp 页,当出现后服务器端异异常时要转向到 errorPage.jsp,并在 errorPage.jsp 中把对应错误信息显示出来。我们需要在这两个页面分别加上指令 errorPage="errorPage.jsp"isErrorPage="true"

index.jsp

阅读全文 >>

手工处理 Struts2 框架上传的文件

在使用了 Struts2 框架的系统中,对于处理像下面这种表单上传文件时:

自然而然的想法就是在 Action 中声明变量 File upload 和 String desc,请求提交到这个 Action 后,在 execute() 方法中就能直接使用 upload 和 desc 了,它们已被 Struts2 框架(org.apache.struts2.interceptor.FileUploadInterceptor 监听器) 赋上了相应的值了。 阅读全文 >>

Websphere Application Server (WAS) 中应用的哪一个 web.xml 在起作用

从 Tomcat 再到使用 Webshpere Application Server (WAS) 不光金钱上付出太多(这当然不用我操心),精力上也费神的多,不过收获也不少,特别是商业产品在处理大用户量的并发访问能力是 Tomcat 无法比的。这里记述一个使用 WAS 给应用打补丁时遇到的问题--要更新哪一个 web.xml。

为便于描述,我们假设已在 WAS 下部署了一个名叫 Prod.war 的包(你也可以部署一个 ear 包,部署的 ear 包后的目录名更明确一些),WAS 的安装目录表示为 WAS_HOME,WAS 所在的主机名为 unmi,那么 Prod.war 部署后所在的目录就是

WAS_HOME/installedApps/unmi/Prod_war.ear/Prod.war

用过 WAS 的人都知道,如果是部署后要给应用打补丁的话,和 Tomcat 下的应用一样,也是把类或 JSP 拷到如上相应的目录中就行了,换了类,WAS 会自动重新加载。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第六章. Job 存储和持久化 (第二部分)

四. 使用持久性的 JobStore

在很多方面,JobStore 有用内存来存储的,还有些使用某种能长期持久的方式来共享相拟的特征。这不该有什么惊奇的,因为他们都服务于同一目的。

RAMJobStore 一样,特久性的 JobStore 有优点也有其缺点。在你选择持久性的 JobStore 之前应该认真理解其利与弊。这节就来解释它们的区别,以及在什么情况下你会希望使用持久性的 JobStore

目前,Quartz 提供了两种类型的持久性 JobStore,每一种类型都有其独特的持久化机制。 阅读全文 >>

Quartz Job Scheduling Framework[翻译]第六章. Job 存储和持久化 (第一部分)

第六章. Job 存储和持久化

Quartz 用 JobStores 对 Job、Trigger、calendar 和 Schduler 数据提供一种存储机制。Scheduler 应用已配置的 JobStore 来存储和获取到部署信息,并决定正被触发执行的 Job 的职责。所有的关于哪个 Job 要执行和以什么时间表来执行他们的信息都来自于 JobStore。本章就来看 Quartz 中可用的各种类型的 JobStore,和如何使用他们,以及哪一个能适应你的需求。

"罗马非一日建成"

道格拉斯.亚当斯,《宇宙环游指南》

一. Job 存储 阅读全文 >>