10 2006 档案
10月29日appfuse培训日记
摘要:今天还是梁言兵老师为大家讲解appfuse,下面是我随便记录的一点心得:javascript可以实现浅度校验,包括"结束日期不能小于起始日期";WEB服务器端程序可以实现深度校验,例如,校验用户名是否重复。增加与修改用同一个表单,所以,为了实现复用,增加与修改的请求都交给同一个Spring MVC的Controller处理,只是请求参数有点不同。这种关系的用例图该怎么画呢?好像还是应该用两个单独无关的用例来描述。SimpleFormController说明这个Controller会关联到一个表单上,通过其setCommandName和setCommandClass这两个方法 阅读全文
posted @ 2006-10-29 21:49 阳光VIP1 阅读(94) 评论(0) 推荐(0)
10月28日appfuse培训日记
摘要:今天是梁言兵老师讲解Appfuse这个整合了spring,hibernate,spring mvc,velocity,sitemesh,ajax多个框架的开源项目,梁言兵老师是学员们心中的偶像和大牛人,虽然以前有些地方听不懂,但大家对他崇拜极了,呵呵!他首先讲解了上次没讲完的AjaxTable这个项目中的一些细节,然后就开始了Appfuse的讲解,梁老师主要是带着大家把Appfuse的实现细节和代码走一遍,他今天的课讲得很好,看来他已经找到了给与他完全不在一个档次的学员讲课的感觉了。完善了AjaxTable的更多功能。带领大家分析了Appfuse的源码,其中接触的新知识包括:Sitemesh, 阅读全文
posted @ 2006-10-29 21:37 阳光VIP1 阅读(118) 评论(0) 推荐(0)
10月27日培训日记
摘要:再次回顾了 FormBean BOActionServlet----------->Action--------->Manager-->DAO-->DB的调用流程序以用户登录为例,让大家必须能自己把这个流程和其中的细节说出来,包括如何判断用户登录信息是否正确的细节。接着详细为大家讲解Cookie的有关细节知识:Cookie相当于服务器给客户端的变量。假设所有人的声音一样,服务器接到连续接到几个电话,他能识别出这些电话是来自同一个人的,还是多个人的吗?不要考虑来电显示。通过Cookie可以让Web服务器识别出是哪一个浏览器发出的请求信息。Cookie的细节与高级应用:如果 阅读全文
posted @ 2006-10-28 22:43 阳光VIP1 阅读(105) 评论(0) 推荐(0)
10月26日练习注册用例的编写与ibatis培训
摘要:eclipse代码重构:一个FormBean写完后,如果通过菜单重新对这个类命名,其他源程序中引用这个类的地方都会自动发生修改,但在jsp页面中使用<jsp:usebean>引用的这个类名无法自动修改。提交一个表单数据校验包括表单校验和业务逻辑校验。让学员们模仿Struts框架,采用MVC模式写了一个用户注册程序。写登陆用例的思路,先查询出User对象,再比较密码。ActionServlet构造出FormBean,然后将FormBean传给一个Action的execute方法,在调用execute方法之前调用FormBean的validate方法,只有校验成功才调用Action.e 阅读全文
posted @ 2006-10-27 19:15 阳光VIP1 阅读(112) 评论(0) 推荐(0)
10月25日培训日记
摘要:今天复习了一下阿捷去年的CSS讲课资料,讲解了XHTML的一些基本语法。我想到了以后可以参照这个例子来讲解CSS的盒模型。<style><!--body {margin:0}.test {width=200px;height=200px;background-color=#f00;margin=50px;padding=10px;border=40 solid green;}--></style><body><div class="test">pppppp</div></body>问题:wi 阅读全文
posted @ 2006-10-27 18:51 阳光VIP1 阅读(86) 评论(0) 推荐(0)
10月23日java web培训日记
摘要:分析了客户端身份认证的例子程序,讲解到Digest认证时,顺便提了一下SSLServerSocket,要求学员们能够通过SSLServerSocket的创建过程阐述工厂模式为了更好地读懂AuthenticateServlet这个Servlet,要先明白两次请求的处理代码都放在了这一个service方法中,每一次请求执行其中的一段代码,相当if..else...的情况。接着讲解了各种表单字段是如何向WEB服务器传递参数的,以及它们在实际项目中的应用情景。列表框要有不选项:用ctrl也可以放弃选择,但不能指望用户都会这个。讲隐藏字段的例子:分页查询时,表单中只有起始时间和结束时间,而当前页号则需要 阅读全文
posted @ 2006-10-23 18:23 阳光VIP1 阅读(132) 评论(0) 推荐(0)
10月22日Ajax培训日记
摘要:今天还是由梁言兵老师讲解Ajax,根据昨天学员的反馈,觉得AjaxTable这个项目太大了,学习起来有点费劲,希望梁老师讲一个较小的综合案例。所以,梁老师先讲解XTree这个客户端JavaScript组件,然后结合XTree,buffalo,spring,hibernate这些框架开发一个Ajax的demo。小收获:var obj = { a : 'xxx' b : function(){}}定义一个对象的属性和方法。单击Tree上的一个元素时,返回的seletedItem就是一个显示层的元素的对象,但无法知道这个元素对应的业务层的id。由此想到了DOM节点中的setUserD 阅读全文
posted @ 2006-10-23 18:21 阳光VIP1 阅读(79) 评论(0) 推荐(0)
10月21日Ajax培训日记
摘要:今天由梁言兵老师为大家讲解ajax,他首先介绍了什么是web 2.0及web 2.0的应用。ajax框架:客户端框架:DOJO,bindows,Rico服务器端框架:DWR,JSON,buffalo基础库:prototype.js这次讲解的是buffalo框架。buffalo要通过一个注册文件注册Bean对象,buffalo配置文件中的配置项是“对象实例名=完全限定类名”。客户端代码:var END_POINT="<%=request.getContextPath()%>/bfapp";var buffalo = new Buffalo(END_POINT);b 阅读全文
posted @ 2006-10-22 20:03 阳光VIP1 阅读(118) 评论(0) 推荐(0)
10月20日Ajax与jsp培训日记
摘要:明后两天梁言兵老师来讲Ajax及其最近作过的一个真实的Ajax项目,所以,我今天讲解梁老师的课程所需要的一些前置知识。因为大家对Javascript不是很熟悉,所以我首先讲解Javascript的DHTML功能。本来入学考试要求大家很好地掌握Javascript的,但是大家都不能理解我们的苦衷,并没有专心去对待Javascript。想想我前两年强调javascript和css的重要性时,一些培训中心的人居然对此不屑一顾,当他们咨询学员时,也以此来攻击我,学员们也对这些培训中心的蛊惑深信不疑!随着Ajax的流行,这些人又跟风觉得Javascript重要了,现在同学们应该能静下心来去好好学习Jav 阅读全文
posted @ 2006-10-22 12:29 阳光VIP1 阅读(103) 评论(0) 推荐(0)
10月19日培训日记
摘要:同学们普遍希望能留出一段时间来练习,所以今天由学员们自己练习前一阵讲解的hibernate和java web,没有安排老师讲课。 阅读全文
posted @ 2006-10-21 13:34 阳光VIP1 阅读(97) 评论(0) 推荐(0)
10月17日Servlet培训日记
摘要:首先回答了王涛发现的一个问题:在通过Servlet实现动态文件下载时,对于中文的文件名称,浏览器显示为乱码。权威的解决方案,对于这样的问题,我需求正解的方法和步骤:先搜索RFC Content-Dispotion,找到RFC2183,然后搜索encode,找到RFC2184,最后从RFC2184中得到了权威解释。一个Servlet无法通过Servlet API来知道自己的访问映射路径,要自己编程来实现,通过分析Struts的initServlet方法帮助大家复习了一下digester。讲解request.getPathInfo的作用时,引出了下列问题:一个Servlet处理所有的请求,该怎么设 阅读全文
posted @ 2006-10-21 13:31 阳光VIP1 阅读(105) 评论(0) 推荐(0)
10月16日培训日记
摘要:讲解了RequestDispatcher.forward方法实现请求跳转,其常见于MVC模式的WEB开发中。通过一个情景故事讲解了什么是MVC模式和MVC模式的好处,Servlet完全业务处理,jsp完成页面显示,Servlet将jsp显示时要用到的数据放在哪呢?Servlet处理完成后通过什么样的方式将剩余的处理工作交给jsp呢?MVC模式的好处是牵一发而不用动全身。Servlet可以将数据存储在三个地方:ServletContext,Session,Request。由这三者的区别讲解了购物车。所谓购物车,就是保存在Session中的一个容器对象。登陆出错时的标准处理方式,forward相对 阅读全文
posted @ 2006-10-19 16:16 阳光VIP1 阅读(112) 评论(0) 推荐(0)
10月14日~15日Oracle培训日记
摘要:这两天由Oracle专家石雨博士为大家讲解Oracle,大概内容如下:Oracle体系结构:Oracle实例与databaseOracle实例包括多个进程与数据内存区数据内存区包含Data Buffer Cache、Redo Log buffer,shared pool(library cache,Data dictionary),数据文件、控制文件、日志文件,参数文件,Archive文件sql plus语法sql plus中操作的行的概念是指一条sql命令分成的多行,sql plus中缓存的是最后的一条sql命令的所有行。日期和字符串都要用单引号(')引起来,日期格式用select 阅读全文
posted @ 2006-10-17 21:31 阳光VIP1 阅读(137) 评论(0) 推荐(0)
10月13日hibernate培训日记
摘要:今天还是田老师讲解hibernate,大概内容如下:hibernate配置文件中的各个配置项详细讲解,配置项也可以通过编码的方式进行设置。向SessionFactory中加入实体的各种方法:配置和编码方式,编码又有加入文件和加入类方式,加入文件又要区分addResource与addFile的区别。要持久化的对象应该正确处理equals和hashCode方法,解决的问题:集合中可以出现与同一条记录对应的多个实体对象,保存集合时将出现NonUniqueObjectException异常。通过hibernate在运行中的哪些地方要调用此方法来阐述。对于Oralce,如果将id生成方式选择为Seque 阅读全文
posted @ 2006-10-17 20:51 阳光VIP1 阅读(122) 评论(0) 推荐(0)
年轻的程序员该如何规划自己的未来
摘要:下面是网友良少给我的回信,觉得其中一些内容具有警世作用,征得良少本人同意后,特公开其回信-------------------------------------------------------------------------------------------------------------------------- ... 阅读全文
posted @ 2006-10-15 08:30 阳光VIP1 阅读(227) 评论(0) 推荐(0)
10月12日hibernate培训日记
摘要:今天是田老师开始为大家正式讲解hibernate,田老师是我遇到的对hibernate最熟悉的牛人了,我个人感觉:从孙卫琴和夏昕的那两本书来看,田老师对hibernate比他们俩更熟悉。下面是他讲课的基本内容:1.软件分层架构,ejb中的SessionBean与EntityBean在分层架构中的作用,ejb的缺陷。hibernate解决哪一层的问题,hibernate与EntityBean的优缺点比较。顺便分析了spring与struts解决哪一层的问题。2.orm映射思想,hibernate配置文件和映射文件。3.一个入门的hibernate例子的eclipse开发过程,课堂上没用eclip 阅读全文
posted @ 2006-10-14 15:00 阳光VIP1 阅读(87) 评论(0) 推荐(0)
给网友良少的一封回信,希望能结识更多的志同道合者!
摘要:东良, 你好! 这几天很忙,耽误了回信,请谅解!作为IT从业人员,大家过得都很忙,如何没有合作,往来自然就会很少,关系自然就会疏远,即使想聊点什么,也找不到话题。所以,我这次就直接开门见山了。我觉得你有不错的IT技术,又有较好的文学功底,如果用来写书或者做IT教师,说不定别有一番天地,如果你想在上海自己干,我们也可以形成联盟关系,我们对你提供大力支持。我也不是如你所说的什么大牛人,技术也是一般般,和许多平常的软件开发人员差不多,并没有特别过人的本领。我非常明白,我就是一棵小小草,只是我非常专注和用心地选择了IT教育事业,并且一直坚持不懈,所以,就显得有点小成就了。另外,我有一颗朴实的心,能真诚 阅读全文
posted @ 2006-10-14 14:20 阳光VIP1 阅读(101) 评论(0) 推荐(0)
10月10日培训日记
摘要:先给大家看了看apache的Common项目,其中包括许多有用的工具程序,例如,BASE64和url编码的,xml到javabean映射的,http客户端程序,rss框架,甚至有workflow。告诫大家:要相信,我们要做的事,别人早已做过,我们要写的程序,别人早已写过。最重要的就是,从哪里找到别人的源代码?工作中的一个重要能力就是要英语好,能够迅速找到资源。著名的开源站点:jakarta.apache.org、sourceforge.net,open-open.com接着介绍了如何利用HttpServletResponse产生响应状态和构建响应消息头,各种响应状态码定义成常量的好处。 字符串 阅读全文
posted @ 2006-10-11 16:59 阳光VIP1 阅读(116) 评论(0) 推荐(0)
如何通过tomcat入侵远程计算机系统
摘要:今天真倒霉,学员通过Tomcat黑了我的计算机! 下面先说说怎么被黑的过程吧!我昨天讲解在Servlet程序中如何读写资源时,讲到了如果一个Servlet或JSP程序能够读写当前计算机上的任意目录的话,那么采用Tomcat对外出租虚拟主机时,就会出现安全问题,因为别人上传的Servlet/JSP程序可以浏览服务器上的所有目录和修改服务器上的文件。我安排学员们自己做做这个实验看看,没想到,第二天上课后不久,我的计算上就弹出了“计算机即将被关闭”的通知消息窗口,一些同学随之开始哈哈大笑,我知道被他们黑了,便问了整个被黑的过程。 原来,一些同学昨晚被冯伟立(大二辍学)给黑了,今天反过来拿我的计算机. 阅读全文
posted @ 2006-10-11 15:35 阳光VIP1 阅读(229) 评论(0) 推荐(0)
10月9日培训日记
摘要:因为学员们反映昨天讲解的信息量太大,所以今天先简要复习了一下昨天所讲解的内容。区分回调方法与工具方法子类Servlet要初始化,不能直接跑到父类中去改init方法,而是只能覆盖父类的init方法。父类中的其他一些方法依赖于init(ServletConfig config)方法的行为,覆盖时必须记住使用super.init方法来调用父类init方法原来的行为,然后再增加自己的代码,否则,覆盖就会出现问题。GenericServlet设计人员想到了这点,希望子类覆盖init()方法,而不是覆盖init(ServletConfig config)方法。init(ServletConfig conf 阅读全文
posted @ 2006-10-09 17:44 阳光VIP1 阅读(98) 评论(0) 推荐(0)