JAVA
文章平均质量分 74
wxy_G
这个作者很懒,什么都没留下…
展开
-
FreeMarker(一)
前人关于FreeMarker 的总结 一宗罪:freemarker的变量必须有值,没有被赋值的变量就会抛出异常,那个黄黄的freemarker出错页面,真是让人看了太难过了。 freemarker的FAQ上面冠冕堂皇的说,未赋值的变量强制抛错可以杜绝很多潜在的错误,如缺失潜在的变量命名,或者其他变量错误。但是实际的效果是:带来的是非常大的编程麻烦,程序里面几乎所原创 2007-07-28 00:06:00 · 3907 阅读 · 0 评论 -
搞定Hibernate表与表之间的关联,搞懂cascade、inverse、lazy等属性
2个类,书(Book),类别(BookType)public class Book { private Long id; private BookType type;} public class BookType { private Long id; }好了,我们开始情况一 它们相互不关联 情况二 /** * @hibernate.many-to-one co原创 2007-09-24 14:57:00 · 2116 阅读 · 1 评论 -
log4j日志管理重要知识点备忘录
#ConversionPattern参数的格式含义#格式名 含义#%c 输出日志信息所属的类的全名#%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,# 比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28#%F 输出日志信息所属的类的类名#%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的原创 2007-10-22 10:23:00 · 1236 阅读 · 0 评论 -
Struts2.0 文件上传与下载全解析
struts的上传封装的已经非常完美了,首先我们来看一下页面 s:form action="saveDocument.action" method="post" enctype ="multipart/form-data"> td height="32" class="heder">原创 2007-10-10 10:46:00 · 3218 阅读 · 2 评论 -
解决oracle8080端口问题
以前碰到这个问题都是让着oracle,去改tomcat,可是随着问题越来越多,忍无可忍了,决心把这个给改了。网上大都说删除 SPFILEORCL.ORA 里面的 dispatchers=(PROTOCOL=TCP) (SERVICE=XDB) 可是我试过不行,重起服务+重新配置还是不行,说明这个方法不是很保障,而且删除后其实是禁止了这个服务,这样不好。我们还是老老实实通过修改端口来做比较好。在原创 2007-10-30 10:16:00 · 975 阅读 · 0 评论 -
struts2.0关键点总结
Action 类: • Struts1要求Action类继承一个抽象基类。Struts1的一个普遍问题是使用抽象类编程而不是接口。 • Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作S原创 2008-01-29 14:56:00 · 1527 阅读 · 0 评论 -
struts2.0中Action的对象生命周期详解!!
有很多人问Struts2.0中的对象既然都是线程安全的,都不是单例模式,那么它究竟何时创建,何时销毁呢?这个和struts2.0中的配置有关,我们来看struts.properties### if specified, the default object factory can be overridden here### Note: short-hand notation is supp原创 2008-01-29 15:44:00 · 19975 阅读 · 5 评论 -
maven2——POM重点讲解篇
POM.xml是一个maven项目的核心,每个工程的目录下面总有一个POM.XML文件,也就是说,它是属于单个项目的,要有这个概念。首先,把 POM.xml 需要涉及的内容列出project> modelVersion>4.0.0modelVersion> The Basics --> groupId>...groupId> artifactId>...artifactId>原创 2007-12-04 16:00:00 · 2594 阅读 · 1 评论 -
maven2——设置镜像篇
注意安装好maven后,在$HOME/.m2/中是不会有settings.xml的,我们需要自己拷贝一个上去设置仓库镜像,注意里面有一个上海的站点,估计会快点 在($HOME/.m2/settings.xml)中 ibiblio.org http://mirrors.ibiblio.org/pub/mirrors/maven原创 2007-12-04 15:19:00 · 5133 阅读 · 1 评论 -
struts2的多国语言实现最佳实践
在struts2 中的Localization这章中,讲述了很多实现多国语言的方法,我在使用中也感觉到了struts给我们带来的巨大便利,我这里选择一种较为复杂,也非常使用的一种实践办法。上面的 i18n_en.properties 和 i18n_zh.properties是全局的资源文件,这里其实可以包含大部分的中英文信息,是非常重要的2个文件,而BookTypeAction.propertie原创 2007-12-05 17:09:00 · 3299 阅读 · 0 评论 -
利用JNI监控CVS仓库变动,自动更新到相应目录——简化WEB小组开发(一、监控篇)
做这个小项目的目的主要也是为了项目小组成员能更好地一致工作。现在一般做项目都是通过CVS将人家的代码更新下来,在自己的机子上把应用给跑起来,但如果我们做的是web开发,那么可以试着将大家各自的“服务器”统一到一台服务器上,比如,CVS提交上192.168.0.1上后,打开网页192.168.0.1能自动体现出来。现在的问题是,如果简单在服务器上把IIS或者TOMCAT之类的目录指到CVS仓库上是原创 2007-12-20 17:37:00 · 1502 阅读 · 0 评论 -
利用JNI监控CVS仓库变动,自动更新到相应目录——简化WEB小组开发(三、cvs篇)
接下来的任务就非常简单了,就是编写各种各样的Action这里我们更新cvs用javacvs开源包import org.junit.Test;import org.netbeans.lib.cvsclient.Client;import org.netbeans.lib.cvsclient.admin.StandardAdminHandler;import org.netbeans.lib原创 2007-12-28 03:46:00 · 1321 阅读 · 0 评论 -
利用JNI监控CVS仓库变动,自动更新到相应目录——简化WEB小组开发(二、架构篇)
测试完成后,我们开始着手架构分析(测试先行)在这个简单的系统中,我们把模块分成3块第一:监听者,无非是很多的线程,用来监听各式各样的文件以及要满足各式各样的监听规则第二:执行者,当监听者要去触发事件时,交给哪个执行者,注意,监听者可以有很多个执行者第三:容器,它负责维护监听者和执行者,以及它们的生命周期管理监听者们统一继承一个 CommonListenerpackage wxy.tool原创 2007-12-28 03:20:00 · 1198 阅读 · 0 评论 -
半夜三更搞懂xwork的OGNL
加班陪同事无聊中,开始研究XWORK的OGNLOGNL可以这样来形容它的作用:它将对象“平坦”地展示出来XWORK包装过的OGNL有如下用法vs.findValue("age", String.class)vs.findValue("cat.name")如果平坦的那个面有2个一样的元素,那么取栈顶那个vs.findValue("@com.opensymphony.xwork2.util.Dog@原创 2007-12-29 02:37:00 · 1163 阅读 · 2 评论 -
利用VNC来实现外网访问内网(内网无人监管)
QQ和windows vista的远程可以穿透内网,但是要2方都有人在window的远程桌面又必须是受控方在外网这里提出2种方案,都可以用来解决外网访问内网的被控方,内网可以无人监管着第一内网机子:运行VNC服务端,配置windows的计划任务,定时执行,C:/Program Files/RealVNC/VNC4/winvnc4.exe -connect 202.191.178.原创 2008-03-27 11:25:00 · 25595 阅读 · 1 评论 -
spring事务管理全解析
了解事务: 事务是一组原子(Atomic)操作的工作单元,以数据库存取的实例来说,就是一组SQL指令,这一组SQL指令必须全部执行成功,若因为某个原因未全部执行成功(例如其中一行SQL有错误),则先前所有执行过的SQL指令都会被撤消。 JDBC是如何控制事务的try ...{ ..... connection.setAutoCommit(false); ..原创 2007-09-19 10:35:00 · 2113 阅读 · 0 评论 -
快速、简便使用AJAX技术的三部曲
其实AJAX并不复杂,自从AJAX技术出来后,天花乱坠的框架纷纷出台,搞得技术开发人员无从下手,baidu google里也有很多例子,大都是复杂要死。其实就web开发而言,AJAX技术只是一个配合,完全没有必要本末倒置,是一种页面优化的技术,也就是说,如何去优化我们的web页面才是AJAX的重头戏。下面我举个很简单的例子,可以满足大部分的业务需求。(当然,如果是很专业的页面要求,可以去参考那些原创 2007-09-08 11:45:00 · 1383 阅读 · 0 评论 -
Hibernate关键点整理
又是一个新项目开始了,老大发话,写个Hibernate的技术纲要,便于开发过程中规范。想想也是,以前做项目时用Hibernate的确比较乱,有时图个方便随处调用它的API,到后期往往导致那种难以察觉的持久化小Bug产生,再花大时间大精力去跟踪,去调试。既然有了这个机会,咱也好好研究研究文档,系统地做个整理。把对象持久化DomesticCat fritz = new DomesticCa原创 2007-08-27 12:02:00 · 1917 阅读 · 0 评论 -
Ajax的实用技术——用户的注意力从页面的其他区域到转移选择的图片
Lightbox虽然 Lightbox 非常具体站点,但是我想指出 Lightbox 技术在当今许多站点中都发挥了很大的作用。lightbox 是用户界面技术与一些 Ajax 技术的结合体。Web 页面的例子如 图 10 所示。图 10. Lightbox JS 主页 如果单击某个图像,那么整个页面会变暗,同时一个方框出现在页面中间,显示放大后的所选图片。图 11 显示这个功能。图原创 2007-07-30 16:21:00 · 925 阅读 · 0 评论 -
去掉IE6 sp2的安全警告
这个大家都经常遇到吧。在本地测试页面的时候,只要用到了flash或者js,就会阻止,每次都需要多点击一下。很烦的。其实在页面的加上 这段既可去掉这个安全警告。代码加在任何位置都行。此方法针对XP SP2有效。其实在项目中,我发现用struts等框架,就不会出现这些安全警告了,可能是因为这些框架已经写了这段代码,或者经过特殊处理了。原创 2007-07-31 14:58:00 · 1728 阅读 · 1 评论 -
AJAX上手例子(一)
先来看看最基本的innerHTML用法DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> html xmlns="http://www.w3.org/1999/xhtml">head>title>Using response原创 2007-07-30 10:05:00 · 971 阅读 · 0 评论 -
jQuery各种用法汇总
看了一天的jQuery,感觉只要花点时间,好好掌握下面的例子,配合官网的文档,能处理大部分的业务需求了下面是jQuery的基础 Chapter 1: Anatomy of a jQuery Script Chapter 2: Selector Expressions Chapter 3: DOM Traversal Methods Cha原创 2007-08-01 00:43:00 · 1568 阅读 · 1 评论 -
使用jQuery后的感觉——充分享受它带来的便利
花了1天时间,边看jQuery的例子边熟悉它的API,总算把项目中的权限控制模块做好了。以前面对这么一大堆checkbox,在写javascript的时候总要考虑下页面的组织,一般都是通过它们不同的name和id属性来加以控制的。而用jQuery就没有那么多限制了,它的选择器简直就是一条鱼,可以任意在水中游荡,由这个input游到那个td,再迅速游到其他毫不相干的标签,充分展原创 2007-08-01 14:59:00 · 1665 阅读 · 1 评论 -
EXT结合jQuery
只要下载最近的EXT包,里面已经涵盖了我们需要的jQuery,下面是根据官方网站的介绍配置的最简单的页面DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">html>head>title>Untitled Documenttitle>meta http-equiv="Content-Type" content="text原创 2007-08-01 23:46:00 · 3529 阅读 · 2 评论 -
jQuery的常用选择器
E:nth-child(n) 是其父元素的第n个类型为E的子元素 E:first-child 是其父元素的第1个类型为E的子元素 E:last-child 是其父元素的最后一个类型为E的子元素 E:only-child 且是其父元素的唯一一个类型为E的子元素 E:empty 没有子元素(包括text节点)的类型为E的元素原创 2007-08-01 00:25:00 · 1124 阅读 · 0 评论 -
谈谈struts2对SiteMesh的扩展,以及龌龊的ActionContextCleanUp命名
早听所struts2.0对SiteMesh进行了扩展,增加了FreeMarker模板的支持,今晚有空特意去找了一些相关的资料来,希望以后在项目中可以派上用途。总结起来,它做了3个方面的扩展1、可以在SiteMesh模板中使用struts标签,这个是招牌,当然要对其扩展。2、增加了FreeMarker模板,这个是我们所迫切需要的。将com.opensymphony.module.si原创 2007-08-02 22:25:00 · 8733 阅读 · 2 评论 -
巧用jQuery来对表单进行基本验证
function nextsubmit()...{ if(document.forms[0].userName.value =="")...{ alert("用户姓名不能为空,请输入!"); document.forms[0].userName.focus(); return false;原创 2007-08-06 17:26:00 · 1867 阅读 · 0 评论 -
一步一步学Repast 第二章(把界面显示出来)
这一章我们来讨论下CarryDropSpace,它主要负责界面上的工作。来看一下它的代码:// CarryDropSpace.javapackage demo;import uchicago.src.sim.space.Object2DGrid; //这是space包中最常见的类,它是以一种非连续的格子来存放object,以x轴和y轴来标识。 public class CarryDr原创 2007-08-20 10:31:00 · 4369 阅读 · 4 评论 -
一步一步学Repast 第二章(把界面显示出来2)
上一章,我们用了TextDisplay和Value2DDisplay来显示界面,Value2DDisplay用 Discrete2DSpace和ColorMap配合来进行显示。现在我们讨论下 Object2DDisplay,看看它的构造函数:uchicago.src.sim.gui.Object2DDisplay.Object2DDisplay(Discrete2DSpace)可以看出,没有了C原创 2007-08-21 09:18:00 · 2954 阅读 · 0 评论 -
一步一步学Repast 第一章 概要
第一章 概要 REPAST —— 一个多Agent仿真平台 对于国内做AGENT研究的学子来说,是一个不错的开源框架。本人也是研究AGENT的,希望和大家多多探讨。废话少说,我们开始吧。注明:这个教程是我从 A RePast Tutorial by John T. Murphy, University of Arizona & Arizona State University 翻原创 2007-08-17 16:46:00 · 11111 阅读 · 9 评论 -
一步一步学Repast 第四章——分析SimpleModel
前面我们写的Model都是基于SimModelImpl 的,其实可以有一个更好的父类可以让我们使用,那就是SimpleModel,它也是继承自SimModelImpl,我们来分析下它的源代码package wxy;import java.util.ArrayList;import java.util.Date;import cern.jet.random.Uniform;import ce原创 2007-08-21 16:15:00 · 3654 阅读 · 1 评论 -
一步一步学Repast 第五章——模拟粒子运动,了解Schedule
有了第四章的基础,我们来写一个自己的Modelpackage wxy;import uchicago.src.sim.engine.ActionGroup;import uchicago.src.sim.engine.BasicAction;import uchicago.src.sim.engine.SimInit;import uchicago.src.sim.engine.Simpl原创 2007-08-21 17:21:00 · 3530 阅读 · 5 评论 -
模式总结——模板方法
在这么多有用的模式中,个人觉得模板方法是最难以理解的,而且不太好用,说实在的,是不太好设计,不知道何时要应用这个模式,其实每个模式都要理解很重要的一点:出发点是什么?换句话说,是什么因素,导致我需要这个模式。public class Action1 ...{ public void open()...{ //打开数据库 } public void c原创 2008-01-16 09:47:00 · 933 阅读 · 0 评论