2007年1月22日
摘要: GZIP
1. Compressing a File in the GZIP Format
2. Uncompressing a File in the GZIP Format
ZIP
1. Creating a ZIP File
2. Listing the Contents of a ZIP File
3. Retrieving a Compressed File from a ZIP File 阅读全文
摘要: 使用 JSEclipse,JavaScript 程序员现在有了自己的 Eclipse 插件,该插件将提供许多重要功能来辅助开发 JavaScript 应用程序。像 Eclipse 多年来为 Java™ 语言和其他语言提供了易用性一样,JSEclipse 为 JavaScript 开发人员提供了同样的优点。 阅读全文
分享一个不错的编写properties文件的Eclipse插件(plugin),有了它我们在编辑一些简体中文、繁体中文等
Unicode文本时,就不必再使用native2ascii编码了。您可以通过Eclipse中的软件升级(Software
Update)安装此插件,步骤如下:
1、展开Eclipse的Help菜单,将鼠标移到Software Update子项,在出现的子菜单中点击Find and Install; 2、在Install/Update对话框中选择Search for new features to install,点击Next; 3、在Install对话框中点击New Remote Site; 4、在New Update Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入http://propedit.sourceforge.jp/eclipse/updates/; 5、在Site to include to search列表中,除上一步加入的site外的其它选项去掉,点击Finsih; 6、在弹出的Updates对话框中的Select the features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse 3.2版本的朋友); 7、点击Finish关闭对话框; 8、在下载后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。
摘要: 在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误.....,查找的解决办法如下: 阅读全文
摘要: 要對資料庫管理系統進行操作,最基本的就是使用SQL(Standard Query Language)語句,大部份的資料庫都支援標準的SQL語句,然而也有一些特定於資料庫的SQL語句,應用程式配合SQL語句進行資料庫查詢時,若使用到特定於資料庫的SQL語句,程式本身會有相依於特定資料庫的問題。
使用Hibernate時,即使您不了解SQL的使用與撰寫,也可以使用它所提供的API來進行SQL語句查詢,org.hibernate.Criteria對SQL進行封裝,您可以從Java物件的觀點來組合各種查詢條件,由Hibernate自動為您產生SQL語句,而不用特別管理SQL與資料庫相依的問題。 阅读全文
整理自:
SpringSide中文论坛
实际执行任务的Class: CourseService
public
class
CourseService
{


public
void
sendCourseEnrollmentReport()
{
System.out.println(
"
HelloWorld
"
);
}

}
调度任务的Class: TaskApp
import
org.springframework.beans.factory.BeanFactory;
import
org.springframework.beans.factory.xml.XmlBeanFactory;
import
org.springframework.core.io.FileSystemResource;


public
class
TaskApp
{


public
static
void
main(String[] args)
throws
Exception
{
BeanFactory factory
=
new
XmlBeanFactory(
new
FileSystemResource(
"
WebRoot/WEB-INF/classes/scheduleTask.xml
"
));
factory.getBean(
"
z
"
);
}
}
配置调度执行任务的配置文件:
scheduleTask.xml
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<!--
起动Bean
-->
<
bean
id
="z"
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="cronReportTrigger"
/>
</
list
>
</
property
>
</
bean
>
<!--
实际的工作Bean
-->
<
bean
id
="courseService"
class
="CourseService"
>
</
bean
>
<!--
jobBean用于设定启动时运用的Bean与方法
-->
<
bean
id
="scheduledReportJobDetail"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
>
<
ref
bean
="courseService"
/>
</
property
>
<
property
name
="targetMethod"
>
<
value
>
sendCourseEnrollmentReport
</
value
>
</
property
>
</
bean
>
<!--
定时器设定起动频率&启动时间我设的是每5秒起动一次 (0 0 4 * * ?每日四点起动 .)
-->
<
bean
id
="cronReportTrigger"
class
="org.springframework.scheduling.quartz.CronTriggerBean"
>
<
property
name
="jobDetail"
>
<
ref
bean
="scheduledReportJobDetail"
/>
</
property
>
<
property
name
="cronExpression"
>
<
value
>
10,15,20,25,30,35,40,45,50,55 * * * * ?
</
value
>
</
property
>
</
bean
>
</
beans
>
关于配置文件中参数cronExpression的说明:
字段 允许值 允许的特殊字符
秒
0
-
59
,
- * /
分
0
-
59
,
- * /
小时
0
-
23
,
- * /
日期
1
-
31
,
- * ? / L W C
月份
1
-
12
或者 JAN-DEC
,
- * /
星期
1
-
7
或者 SUN-SAT
,
- * ? / L C #
年(可选) 留空
,
1970
-
2099
,
- * /
表达式意义:
"
0 0 12 * * ?
"
每天中午12点触发
"
0 15 10 ? * *
"
每天上午10:15触发
"
0 15 10 * * ?
"
每天上午10:15触发
"
0 15 10 * * ? *
"
每天上午10:15触发
"
0 15 10 * * ? 2005
"
2005年的每天上午10:15触发
"
0 * 14 * * ?
"
在每天下午2点到下午2:59期间的每1分钟触发
"
0 0/5 14 * * ?
"
在每天下午2点到下午2:55期间的每5分钟触发
"
0 0/5 14,18 * * ?
"
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"
0 0-5 14 * * ?
"
在每天下午2点到下午2:05期间的每1分钟触发
"
0 10,44 14 ? 3 WED
"
每年三月的星期三的下午2:10和2:44触发
"
0 15 10 ? * MON-FRI
"
周一至周五的上午10:15触发
"
0 15 10 15 * ?
"
每月15日上午10:15触发
"
0 15 10 L * ?
"
每月最后一日的上午10:15触发
"
0 15 10 ? * 6L
"
每月的最后一个星期五上午10:15触发
"
0 15 10 ? * 6L 2002-2005
"
2002年至2005年的每月的最后一个星期五上午10:15触发
"
0 15 10 ? * 6#3
"
每月的第三个星期五上午10:15触发
0
6
* * * 每天早上6点
0
*/
2
* * * 每两个小时
0
23
-
7
/
2
,
8
* * * 晚上11点到早上8点之间每两个小时,早上八点
0
11
4
*
1
-
3
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0
4
1
1
* 1月1日早上4点
Download:
Quartz
相关文档:
http://blog.csdn.net/ezerg/archive/2004/09/24/115894.aspx
http://blog.csdn.net/yujiebo025/archive/2005/09/13/479049.aspx
http://blog.csdn.net/mengz/archive/2005/01/13/252267.aspx
http://blog.csdn.net/jorwang/archive/2005/05/12/374111.aspx
http://blog.csdn.net/Mailbomb/archive/2005/10/26/517128.aspx
http://blog.csdn.net/stonecai/archive/2007/01/06/1475745.aspx
http://landerchan.spaces.live.com/Blog/cns!8759A7C5A9737DC!116.entry
http://hanxinyu.javaeye.com/blog/37000
http://www.onjava.com/pub/a/onjava/2004/03/10/quartz.html
摘要: JDK 5 新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入 。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。 阅读全文
<
ec:table
items
="itemList"
var
="item"
action
="${pageContext.request.contextPath}/query.do"
retrieveRowsCallback
="limit"
filterRowsCallback
="limit"
sortRowsCallback
="limit"
>
<
ec:exportXls
fileName
="CouponList.xls"
tooltip
="导出 Excel"
/>
<
ec:row
>
<
ec:column
property
="rowcount"
cell
="rowCount"
sortable
="false"
title
="序号"
/>
<
ec:column
property
="id"
title
="编号"
/>
<
ec:column
property
="type"
title
="种类"
>
${typeMap[item.type]}
</
ec:column
>
<
ec:column
property
="name"
title
="名称"
/>
<
ec:column
property
="beginDate"
title
="开始时间"
cell
="calendar"
format
="date"
/>
<
ec:column
property
="endDate"
title
="结束时间"
cell
="calendar"
format
="date"
/>
<
ec:column
property
="state"
title
="状态"
>
${statusmap[coupon.status]}
</
ec:column
>
<
ec:column
property
="edit"
title
="操作"
sortable
="false"
viewsAllowed
="html"
style
="width: 56px;text-align: center"
>
<
A
href
="<c:url value="
/security/user.do?method
=selectRoles&userId=${user.id}"
/>
">
<
img
src
="<c:url value="
/images/icon/16x16/manage.gif"
/>
" border="0"/>
</
A
>
</
ec:column
>
</
ec:row
>
</
ec:table
>
其中:
retrieveRowsCallback="limit" filterRowsCallback="limit" sortRowsCallback="limit" 指定了callback函数 limit
在controller 中的处理:
/**
* 列表查看
*/
protected
void
onList(HttpServletRequest request,HttpServletResponse response, ModelAndView mav)
throws
Exception
{
Limit limit
=
ExtremeTablePage.getLimit(request);
Map map
=
WebUtils.getParametersStartingWith(request,
"
search_
"
);
Page page
=
service.queryForPage(map,ExtremeTablePage.getSort(limit),limit.getPage(), limit.getCurrentRowsDisplayed());
mav.addObject(
"
itemList
"
, page.getResult());
mav.addObject(
"
totalRows
"
,page.getTotalCount());
}
摘自:
chinaunix
SELECT
S.SID SESSION_ID, S.USERNAME, DECODE(LMODE,
0
,
'
None
'
,
1
,
'
Null
'
,
2
,
'
Row-S (SS)
'
,
3
,
'
Row-X (SX)
'
,
4
,
'
Share
'
,
5
,
'
S/Row-X (SSX)
'
,
6
,
'
Exclusive
'
, TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST,
0
,
'
None
'
,
1
,
'
Null
'
,
2
,
'
Row-S (SS)
'
,
3
,
'
Row-X (SX)
'
,
4
,
'
Share
'
,
5
,
'
S/Row-X (SSX)
'
,
6
,
'
Exclusive
'
, TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER
||
'
.
'
||
O.
OBJECT_NAME
||
'
(
'
||
O.OBJECT_TYPE
||
'
)
'
, S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2
FROM
V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S
WHERE
L.SID
=
S.SID
AND
L.ID1
=
O.
OBJECT_ID
执行上记SQL语句,可以查寻到数据库中的锁的情报.
SESSION_ID, USERNAME, MODE_HELD, MODE_REQUESTED, OBJECT_NAME, LOCK_TYPE, LOCK_ID
分别是 拥有锁的SESSION_ID,拥有锁的USERNAME,锁的执行模式MODE_HELD,锁的请求MODE_REQUESTED,锁所在的数据库对象名 ,锁的类型,锁的ID
摘要: Java中的多线程使用synchronized关键字实现同步.为了避免线程中使用共享资源的冲突,当线程进入synchronized的共享对象时,将为共享对象加上锁,阻止其他的线程进入该共享对象.但是,正因为这样,当多线程访问多个共享对象时,如果线程锁定对象的顺序处理不当话就有可能线程间相互等待的情况,即常说的: 死锁现象. 阅读全文
摘要: Java Socket简单入门例子. 阅读全文
Dear all: result love(boy, girl) { if ( boy.有房() and boy.有车() ) {boy.set(nothing); return girl.嫁给(boy); }
if ( girl.愿意等() ) {
while( ! (boy.赚钱 > 100,000 and girl.感情 > 8 ) {for ( day=1; day <=365; day++) {if ( day == 情人节 ) if ( boy.give girl(玫瑰) ) girl.感情++; else girl.感情--; if( day == girl.生日) if ( boy.give girl(玫瑰) ) girl.感情++; else girl.感情--; boy.拼命赚钱(); } }
if ( boy.有房() and boy.有车() ) { boy.set(nothing); return girl.嫁给(boy); } 年龄++; girl.感情--; return girl.goto( another_boy); }
(注:稍懂点C语言的应该都能看懂吧!)
摘要: 组件(Component)类必须在类一级定义@Embeddable注解.
在特定的实体的关联属性上使@Embedded和@AttributeOverride注解可以覆盖该属性对应的嵌入式对象的字段映射: 阅读全文
摘要: 1.简单主键:
使用@Id注解可以将实体bean中的某个属性定义为标识字段.使用 @GeneratedValue注解可以定义标识字段的生成策略:
AUTO - 可以是identity类型的字段,或者sequence类型或者table类型,取决于不同的底层数据库.
TABLE - 使用表保存id值
IDENTITY - identity字段
SEQUENCE - sequence 阅读全文
摘要: 1. 基本属性映射
通过 @Basic 可以声明属性的存取策略:
@Basic(fetch=FetchType.EAGER) 即时获取(默认的存取策略)
@Basic(fetch=FetchType.LAZY) 延迟获取 阅读全文
摘要: Displaytag1.1支持在外部实现大数据量分页。主要有两种方式实现:
Displaytag 1.1 offers two alternative ways for working with partial lists:
the first one uses the valuelist pattern, and requires that the object that you give to displaytag implements the org.displaytag.pagination.PaginatedList interface. You can pass this object to displaytag as an usual list, and it will extract paging and sorting information from it. This way is more recommended if you have to build your backend layer and you can easily 阅读全文
1.打开
Google主页
2.把浏览器地址栏清空,再将下面的内容复制到地址栏内:
javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);
3.回车....
摘要: Launchy,一款免费开源软件实现了键盘快捷启动程序的功能。
你只需要输入程序的名称,Launchy就可以自动帮你匹配出你想要运行的程序: 阅读全文
摘要: Table
Table用来定义entity主表的name,catalog,schema等属性。
元数据属性说明:
name: 表名
catalog: 对应关系数据库中的catalog
schema:对应关系数据库中的schema
UniqueConstraints:定义一个UniqueConstraint数组,指定需要建唯一约束的列 阅读全文
摘要: Apache的Jakata项目的POI子项目,目标是处理ole2对象。
POI可以到
http://www.apache.org/dyn/closer.cgi/jakarta/poi/
下载。... 阅读全文
|
|
| | 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|
| 31 | 1 | 2 | 3 | 4 | 5 | 6 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | | 14 | 15 | 16 | 17 | 18 | 19 | 20 | | 21 | 22 | 23 | 24 | 25 | 26 | 27 | | 28 | 29 | 30 | 31 | 1 | 2 | 3 | | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|
公告
版权声明:本博客所有文章仅适用于非商业性转载,并请在转载时注明出处及作者的署名。
天气预报
常用链接
留言簿(15)
随笔分类
随笔档案
相册
收藏夹
博客
文档
站点
论坛
搜索
积分与排名
最新评论

阅读排行榜
评论排行榜
|
|