摘要:首先解决昨天遇到的表格细线的问题,在明白解决方案的原理之前,学员们要扭转观念:HTML的表格与我们通常看到的表格不一样,一个大框里面套各种小单元格。<table>的border是指整个表格的外边框的宽度,但是,只有设置了border的值,内部单元格才有边框,且无论boder的值是多少,内部单元格的边框宽度总为1。<table border=1 bordercolor=green bgcolor="red" cellspacing=10 cellpadding=5><tr bgcolor="red"><td> 阅读全文
11月9日文件上传组件培训日记
2006-11-11 14:22 by java ee spring, 122 阅读, 0 推荐, 收藏, 编辑
摘要:// 计算结果,有进位借位或溢出或溢出产生,则为非0,否则为0// 调用完宏后直接加以判断int g_iResult = 0;// 对有符号整数数学计算进行判断#define CARRY / __asm__ ("jo 0f/n/t" / "movl $0, g_iResult/n/t" / "jmp 1f/n/t" / "0:/n/t" / "movl $1, g_iResult/n/t" / "1:/n/t");// 对无符号整数数学计算进行判断#define OVER_F 阅读全文
11月7日简单标签与Listener培训日记
2006-11-11 13:51 by java ee spring, 223 阅读, 0 推荐, 收藏, 编辑
摘要:针对汪大伦的提问,解释Session中为什么也可能出现线程安全的问题,在服务器端比较缓慢时,一个表单可以被提交多次,这时候就会出现多个线程访问同一个Session的情况。所以,我们是要注意存放在Session中的Cart对象本身应该是线程安全的。前几天雷辉老师在讲解ibatis的JPetStore例子时,我们看到某个业务对象中的一个方法为两个成员变量进行了赋值,结果JSP页面的显示数据就发生了修改,当时觉得很奇怪,我们的习惯思维是将数据显示在某个域范围中,JSP然后显示域范围中的数据。后来雷辉研究明白了,JSP页面显示的就是那个业务对象,业务对象内部的成员变量发生了修改,就导致了JSP页面的显 阅读全文
11月6日自定义标签培训日记
2006-11-08 23:20 by java ee spring, 185 阅读, 0 推荐, 收藏, 编辑
摘要:今天还是讲解自定义标签。首先介绍了IterationTag接口、以及迭代输出标签体内容的标签实现原理和应用。在讲解迭代输出集合中的元素的例子时,先讲解用普通程序代码迭代输出集合的情况:for(String user : users){System.out.println("姓名:" + user)}上面的程序代码包含三个信息:迭代变量、集合对象、显示格式,用自定义标签进行迭代输出时,其格式如下:<it315:iterate var="user" collections="<%= users %>">姓名:${u 阅读全文
一个有趣的Java编译问题
2006-11-07 22:15 by java ee spring, 176 阅读, 0 推荐, 收藏, 编辑
摘要:学员冯伟立今天中午问了我一个有趣的Java编译问题,我也无法给他解释,不知道有没有路过的高人能够解释清楚原因,望不吝赐教!下面程序的main方法中的第二行代码和注释中的两行代码表达的意思完全相同,注释中的两行代码不能通过编译(这很容易理解),而第二行(采用方法调用链)却可以顺利通过编译(这就很难理解了)。public class Test{ public void func() { System.out.println("func"); } public static void main(String args[]) throws Exception { Object ob 阅读全文
11月5日自定义标签与Spring声明式事务管理培训日记
2006-11-07 21:55 by java ee spring, 197 阅读, 0 推荐, 收藏, 编辑
摘要:Tag接口中的常量与Tag接口中的各个方法的讲解,在一个标签处理器类中实现Tag接口的每个方法,根据打印结果的先后顺序就可以知道每个方法的调用顺序了。设计一个自定义标签,如果用户已经登录,则显示出该标签内存放的用户私人信息(如,留言,短消息等),否则,只能看到标签之外的那些通用信息。开发防止“盗链”的自定义标签,书稿中没有讲为什么要选择在doEndTag进行编程检查?因为只有doEndTag方法可以返回SKIP_PAGE。为自定义标签定义属性,标签的动态属性值与静态属性值的区别,动态属性值的最大好处在于可以传入对象。动态属性与DynamicAttributes接口的setDynamicAttr 阅读全文
10月29日appfuse培训日记
2006-10-29 21:49 by java ee spring, 199 阅读, 0 推荐, 收藏, 编辑
摘要:今天还是梁言兵老师为大家讲解appfuse,下面是我随便记录的一点心得:javascript可以实现浅度校验,包括"结束日期不能小于起始日期";WEB服务器端程序可以实现深度校验,例如,校验用户名是否重复。增加与修改用同一个表单,所以,为了实现复用,增加与修改的请求都交给同一个Spring MVC的Controller处理,只是请求参数有点不同。这种关系的用例图该怎么画呢?好像还是应该用两个单独无关的用例来描述。SimpleFormController说明这个Controller会关联到一个表单上,通过其setCommandName和setCommandClass这两个方法 阅读全文
10月28日appfuse培训日记
2006-10-29 21:37 by java ee spring, 215 阅读, 0 推荐, 收藏, 编辑
摘要:今天是梁言兵老师讲解Appfuse这个整合了spring,hibernate,spring mvc,velocity,sitemesh,ajax多个框架的开源项目,梁言兵老师是学员们心中的偶像和大牛人,虽然以前有些地方听不懂,但大家对他崇拜极了,呵呵!他首先讲解了上次没讲完的AjaxTable这个项目中的一些细节,然后就开始了Appfuse的讲解,梁老师主要是带着大家把Appfuse的实现细节和代码走一遍,他今天的课讲得很好,看来他已经找到了给与他完全不在一个档次的学员讲课的感觉了。完善了AjaxTable的更多功能。带领大家分析了Appfuse的源码,其中接触的新知识包括:Sitemesh, 阅读全文
10月27日培训日记
2006-10-28 22:43 by java ee spring, 116 阅读, 0 推荐, 收藏, 编辑
摘要:再次回顾了 FormBean BOActionServlet----------->Action--------->Manager-->DAO-->DB的调用流程序以用户登录为例,让大家必须能自己把这个流程和其中的细节说出来,包括如何判断用户登录信息是否正确的细节。接着详细为大家讲解Cookie的有关细节知识:Cookie相当于服务器给客户端的变量。假设所有人的声音一样,服务器接到连续接到几个电话,他能识别出这些电话是来自同一个人的,还是多个人的吗?不要考虑来电显示。通过Cookie可以让Web服务器识别出是哪一个浏览器发出的请求信息。Cookie的细节与高级应用:如果 阅读全文
10月26日练习注册用例的编写与ibatis培训
2006-10-27 19:15 by java ee spring, 161 阅读, 0 推荐, 收藏, 编辑
摘要:eclipse代码重构:一个FormBean写完后,如果通过菜单重新对这个类命名,其他源程序中引用这个类的地方都会自动发生修改,但在jsp页面中使用<jsp:usebean>引用的这个类名无法自动修改。提交一个表单数据校验包括表单校验和业务逻辑校验。让学员们模仿Struts框架,采用MVC模式写了一个用户注册程序。写登陆用例的思路,先查询出User对象,再比较密码。ActionServlet构造出FormBean,然后将FormBean传给一个Action的execute方法,在调用execute方法之前调用FormBean的validate方法,只有校验成功才调用Action.e 阅读全文