![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
培训日记
文章平均质量分 56
zhangxiaoxiang
这个作者很懒,什么都没留下…
展开
-
10月23日java web培训日记
分析了客户端身份认证的例子程序,讲解到Digest认证时,顺便提了一下SSLServerSocket,要求学员们能够通过SSLServerSocket的创建过程阐述工厂模式为了更好地读懂AuthenticateServlet这个Servlet,要先明白两次请求的处理代码都放在了这一个service方法中,每一次请求执行其中的一段代码,相当if..else...的情况。接着讲解了各种表单字段原创 2006-10-23 18:23:00 · 2768 阅读 · 2 评论 -
11月3日自定义标签培训日记
今天给大家讲解了自定义标签的一些入门知识,通过实际编写一个显示访问者IP地址的标签,讲述了自定义标签的开发和调用过程,内容包括:标签处理器类的生命周期、标签处理器类的编写、标签库描述符文件的编写。不管有无父标签,自定义标签的setParent方法肯定会被调用。tld也有1.2和2.0之区别,1.2使用的模式文件为DTD,2.0使用的模式文件为Schema。要求学员看tomcat自带的一些t原创 2006-11-06 08:47:00 · 2410 阅读 · 0 评论 -
11月5日自定义标签与Spring声明式事务管理培训日记
Tag接口中的常量与Tag接口中的各个方法的讲解,在一个标签处理器类中实现Tag接口的每个方法,根据打印结果的先后顺序就可以知道每个方法的调用顺序了。设计一个自定义标签,如果用户已经登录,则显示出该标签内存放的用户私人信息(如,留言,短消息等),否则,只能看到标签之外的那些通用信息。开发防止“盗链”的自定义标签,书稿中没有讲为什么要选择在doEndTag进行编程检查?因为只有doEndTag方原创 2006-11-07 21:55:00 · 2703 阅读 · 0 评论 -
11月6日自定义标签培训日记
今天还是讲解自定义标签。首先介绍了IterationTag接口、以及迭代输出标签体内容的标签实现原理和应用。在讲解迭代输出集合中的元素的例子时,先讲解用普通程序代码迭代输出集合的情况:for(String user : users){System.out.println("姓名:" + user)}上面的程序代码包含三个信息:迭代变量、集合对象、显示格式,用自定义标签进行迭代输出时,其格式如下:"原创 2006-11-08 23:20:00 · 3109 阅读 · 0 评论 -
11月7日简单标签与Listener培训日记
针对汪大伦的提问,解释Session中为什么也可能出现线程安全的问题,在服务器端比较缓慢时,一个表单可以被提交多次,这时候就会出现多个线程访问同一个Session的情况。所以,我们是要注意存放在Session中的Cart对象本身应该是线程安全的。前几天雷辉老师在讲解ibatis的JPetStore例子时,我们看到某个业务对象中的一个方法为两个成员变量进行了赋值,结果JSP页面的显示数据就发生了修改原创 2006-11-11 13:51:00 · 2088 阅读 · 0 评论 -
11月9日文件上传组件培训日记
// 计算结果,有进位借位或溢出或溢出产生,则为非0,否则为0// 调用完宏后直接加以判断int g_iResult = 0; // 对有符号整数数学计算进行判断#define CARRY / __asm__ ("jo 0f/n/t" / "movl $0, g_iResult/n/t" / "jmp 1f/n/t" /原创 2006-11-11 14:22:00 · 2175 阅读 · 0 评论 -
11月10日表格细线与标签文件(tag文件)培训日记
首先解决昨天遇到的表格细线的问题,在明白解决方案的原理之前,学员们要扭转观念:HTML的表格与我们通常看到的表格不一样,一个大框里面套各种小单元格。的border是指整个表格的外边框的宽度,但是,只有设置了border的值,内部单元格才有边框,且无论boder的值是多少,内部单元格的边框宽度总为1。 abc abc abc abc abc abc abc abc abc下面的表格的内外边框原创 2006-11-11 15:25:00 · 2271 阅读 · 0 评论 -
11月13日国际化的WEB开发培训日记
讲解了displayTag这个开源的自定义标签的作用与设计思想,让大家自己写一个这样的示意程序,结果很糟糕!让大家解释${x.name}的内部执行原理,再次复习讲解了迭代标签的编写细节。讲解了什么是应用程序的国际化,复习了Locale对象和操作系统的Locale设置。讲解了ResourceBundle的资源包管理:先创建messages.properties、messages_en.pro原创 2006-11-14 14:54:00 · 2959 阅读 · 0 评论 -
11月11日工作流培训日记
梁老师今天主要讲解如何调用工作流API来访问工作流,包括如下一些引伸知识:1. 定义期 :也叫建模期。 按着建模规则生成一份过程定义。 运行态: 根据定义,执行服务。2. 组织模型:把任务分给谁。3. 三种数据:控制数据,应用数据,模型数据。4. 在多级联菜单中,最好显示子菜单时,先向服务器请求显示名字,然后当用户再次点击察看详情的时候,才向服务器请求显示子菜单的详 细信息。原创 2006-11-12 10:23:00 · 2573 阅读 · 0 评论 -
11月2日JSP培训日记
参照《深入Java Web开发内幕》,给大家过了一遍JSP中的更多语法细节,包括如下内容:out对象的工作原理,通过两个有趣的实验来帮助大家区分JSP页面的缓存与Servlet引擎缓存的区别。pageContext对象的详细讲解,特别是要注意其中的findAttribute方法,以及pushBody与popBody的工作原理,我想到了以后写SAX的例子时,可以参照自定义标签的pushBody与po原创 2006-11-05 07:49:00 · 2692 阅读 · 0 评论 -
11月4日JPetStore与工作流培训日记
今天是雷辉老师来给大家分析JPetStore和讲解他们公司的工作流产品。主要分析了ibatis的JPetStore中的翻页功能与购物车的实现代码:翻页是通过PaginatedDataList来实现的,其中包括如下一些信息: private SqlMapExecutor sqlMapExecutor; //ibatis自己操作数据库的对象 private String statementNa原创 2006-11-06 22:08:00 · 2412 阅读 · 1 评论 -
10月31日spring与hibernate整合培训日记
讲解了如何跟踪用户上次访问站点的时间及Cookie中文问题,讲解了Session的持久化。讲解了采用查表法将12345显示为壹万贰千叁佰肆拾伍。变量命名的技巧:根据为这个变量返回值方法的名称来命名。JSP的page指令的详细讲解,EL表达式的问题,错误处理的问题,在web.xml文件中设置全局错误处理,page contentType属性的作用,等等: response.setContentTyp原创 2006-11-02 17:46:00 · 5183 阅读 · 3 评论 -
10月20日Ajax与jsp培训日记
明后两天梁言兵老师来讲Ajax及其最近作过的一个真实的Ajax项目,所以,我今天讲解梁老师的课程所需要的一些前置知识。因为大家对Javascript不是很熟悉,所以我首先讲解Javascript的DHTML功能。本来入学考试要求大家很好地掌握Javascript的,但是大家都不能理解我们的苦衷,并没有专心去对待Javascript。想想我前两年强调javascript和css的重要性时,一些培训中原创 2006-10-22 12:29:00 · 2788 阅读 · 1 评论 -
10月21日Ajax培训日记
今天由梁言兵老师为大家讲解ajax,他首先介绍了什么是web 2.0及web 2.0的应用。ajax框架:客户端框架:DOJO,bindows,Rico服务器端框架:DWR,JSON,buffalo基础库:prototype.js这次讲解的是buffalo框架。buffalo要通过一个注册文件注册Bean对象,buffalo配置文件中的配置项是“对象实例名=完全限定类名”。客户端代码:var EN原创 2006-10-22 20:03:00 · 3122 阅读 · 1 评论 -
10月27日培训日记
再次回顾了 FormBean BO ActionServlet----------->Action--------->Manager-->DAO-->DB的调用流程序以用户登录为例,让大家必须能自己把这个流程和其中的细节说出来,包括如何判断用户登录信息是否正确的细节。接着详细为大家讲解Cookie的有关细节知识:Cookie相当于服务器给客户端的变原创 2006-10-28 22:43:00 · 2395 阅读 · 0 评论 -
10月28日appfuse培训日记
今天是梁言兵老师讲解Appfuse这个整合了spring,hibernate,spring mvc,velocity,sitemesh,ajax多个框架的开源项目,梁言兵老师是学员们心中的偶像和大牛人,虽然以前有些地方听不懂,但大家对他崇拜极了,呵呵!他首先讲解了上次没讲完的AjaxTable这个项目中的一些细节,然后就开始了Appfuse的讲解,梁老师主要是带着大家把Appfuse的实现细节原创 2006-10-29 21:37:00 · 3344 阅读 · 1 评论 -
10月29日appfuse培训日记
今天还是梁言兵老师为大家讲解appfuse,下面是我随便记录的一点心得:javascript可以实现浅度校验,包括"结束日期不能小于起始日期";WEB服务器端程序可以实现深度校验,例如,校验用户名是否重复。增加与修改用同一个表单,所以,为了实现复用,增加与修改的请求都交给同一个Spring MVC的Controller处理,只是请求参数有点不同。这种关系的用例图该怎么画呢?好像还是应该用两个单原创 2006-10-29 21:49:00 · 2779 阅读 · 0 评论 -
10月30日session与JPetStore培训日记
问题:每个使用Session的程序页面都要对Session超时进行判断,Session超时后如何处理。调用request.getSession();session.isNew()能够防止用户不经过登陆页面就来访问某个jsp页面的内容呢?这是不能的!用户第一次访问该JSP页面时,确实能够识别出用户没有登录,提示用户必须先登陆,但是,如果遇到一个很倔强的人,他继续访问一下该JSP页面,你就好看了。论坛原创 2006-11-02 16:37:00 · 2285 阅读 · 0 评论 -
10月25日培训日记
今天复习了一下阿捷去年的CSS讲课资料,讲解了XHTML的一些基本语法。我想到了以后可以参照这个例子来讲解CSS的盒模型。 body {margin:0} .test { width=200px; height=200px; background-color=#f00; margin=50px; padding=10px; border=40 solid green;原创 2006-10-27 18:51:00 · 1959 阅读 · 0 评论 -
10月26日练习注册用例的编写与ibatis培训
eclipse代码重构:一个FormBean写完后,如果通过菜单重新对这个类命名,其他源程序中引用这个类的地方都会自动发生修改,但在jsp页面中使用引用的这个类名无法自动修改。提交一个表单数据校验包括表单校验和业务逻辑校验。让学员们模仿Struts框架,采用MVC模式写了一个用户注册程序。写登陆用例的思路,先查询出User对象,再比较密码。ActionServlet构造出FormBean,然后将F原创 2006-10-27 19:15:00 · 2277 阅读 · 0 评论 -
11月12日工作流培训日记
梁老师今天讲解了工作流中的definition的数据存储在哪里,instance的状态数据存储在哪里,以及如何从definition到一个instance的内部细节。一个instance Activity里记录了Processor和definition Activity的id,一个instance Activity中有多个WorkItem,这些WorkItem是根据任务分配给多个角色顺序执行或并发原创 2006-11-12 19:15:00 · 2686 阅读 · 0 评论 -
11月14日filter与在web开发中集成spring培训日记
首先回顾Web容器调用Servlet的原理与过程,然后讲解了Filter拦截的原理、Filter类与FiterChain类。Filter的注册与运行。编写一个实用案例:用Filter实现对资源的集中访问保护。再次分析了HttpServlet的doHead与doGet调用原理,讲解了对请求和响应对象进行包装的原理:writer与OutputStream的关系:把麻烦留给自己,把方便留给别人!假H原创 2006-11-17 14:07:00 · 2669 阅读 · 0 评论 -
11月16日培训日记
今天由方老师对学员们进行考试,内容是分别使用model1 和model2编写用户登陆与注册程序,并说明设计思想。原创 2006-11-18 11:44:00 · 2606 阅读 · 1 评论 -
11月30在spring mvc中使用Validator框架和文件上传
首先回顾了spring mvc中的表单验证和业务逻辑校验失败后,回到表单页面中显示错误信息的整个内部运行流程。表单校验出错后回到表单注册页面是由默认的SimpleFormController的processFormSubmission方法自动完成的,王涛忘记这一点,他们覆盖了processFormSubmission方法,直接在processFormSubmission方法中执行业务逻辑校验,结果原创 2006-12-07 17:19:00 · 7965 阅读 · 0 评论 -
12月1日struts、spring、hibernate等框架的整合培训日记
facade模式:就是中关村攒机者的角色,他负责与多个零件供销商交互并将这些零件组装起来交给最终客户。struts与spring集成的两种方式:第一种是在struts的Action的execute方法中调用spring的applicationContext去获得Manager对象,这里的Action自身没有用到spring的思想,Action无法作为Spring中的JavaBean进行配置,相应代原创 2006-12-12 09:19:00 · 17686 阅读 · 1 评论 -
8月21上课记录:
1.ant构建工具的作用,请用自己的大白话向别人说明ant构建工具的好处,让别人切切实实感受到使用ant构建工具的好处。2.ant构建工具的安装,使用,配置原理(为何可以不设置ANT_HOME和JAVA_HOME,设置的作用),查看ant命令的帮助信息。ant.bat文件的分析,@echo off的讲解。3.build.xml文件的组织结构,project,target,各个task任务,targ原创 2006-08-22 07:43:00 · 3647 阅读 · 0 评论 -
8月24日培训日记
1.大数组导致虚拟机OutOfMemmoryError。2.什么是递归调用,举例,递归调用导致堆栈耗尽。递归一要调用到一定深度后停止下来,3.用递归方法实现十进制数到二进制数的转换。先通过如何求出一个十进制中的每位数字来说明.递归适合于解决需要反复循环的业务流程,每循环一次,任务就减少一个回合。4.当前正在运行的函数只管解决一个回合的问题,其他的调用再由这个函数解决,只是传递的参数是下一个回合所要原创 2006-08-24 17:40:00 · 2666 阅读 · 0 评论 -
8月27培训日记
今天我只是后来去听了一会课,学员感觉梁老师今天讲得好多了,看来,梁老师已经适应了给技术比他低很多的学员们讲课了。学员们今天基本了解了工作流的应用,了解了工作流系统的模型,以及如何对工作流系统进行建模。下面是我个人的听课收获和自己的感想:1.工作流的应用一个电子政务系统中报文审批这一工作流程中的每个环节就组成了一个工作流,网上购物系统中从下定单到发货也是一系列的工作流程(其中包括用户取消定货和缺货等原创 2006-08-27 22:07:00 · 3117 阅读 · 0 评论 -
8月22讲课记录
1.用自己的话描述清楚什么是集合,集合的重要性,集合应该提供的方法(CRUD)2.看Collection的帮助,介绍一下Bags的概念3.Set集合的概念,介绍HashSet和TreeSet的区别,由AbstractSet.removeAll方法引出模板方法设计模式(父类的方法完成了业务流程,这个业务流程调用了其他的方法,其他的方法是抽象的,由子类去具体完成),由TreeSet(Comparato原创 2006-08-22 21:07:00 · 3182 阅读 · 0 评论 -
8-26日培训日记
听梁老师讲解了工作流方面的有关知识和Eclipse建立UML模型的一些知识,在eclipse中定义文档注释的摸板。总的来说,梁老师实战经验非常丰富,大道理比较多,落实到具体细节相对较少。 课间,我为学员补充三点细节知识:1.为什么要对软件系统进行建模,与建筑和机械制造进行对比。2.什么是UML,软件系统的模型为什么需要多种图来描述3.一个用例中的边界类,控制类,实体类,DAO类之间原创 2006-08-26 20:51:00 · 2401 阅读 · 1 评论 -
我的垃圾培训造就众多高中学历者高薪就业
上期举办的java培训结束了,在临近结束前,csdn出现了一个对我怒骂的言论,虽然觉得这些事情很令人心酸,这里有些人的言论反映了一些真实情况,但不通人情,有些情况则纯属一些小人的造谣中伤.我也不想争辩什么了,我个人心直口快,经常得罪学员,与学员之间也很随便,说话从不遮掩。我现在要好好反省行了,这次培训让我彻底明白了:我真是太自我中心了,太一厢情愿了,坐在教室听我课的人,他们不是我的朋友(我一厢情原创 2006-12-27 18:36:00 · 34433 阅读 · 20 评论 -
11月28日Validator框架培训日记
validation.xml文件中的代表一组校验规则,我们可以使用它的name属性值来选择这组规则去对某个JavaBean进行校验,也就是给JavaBean安上一组怎样的校验规则。元素的msg属性相当于该Validator的一个标记,如果该validator校验失败,我们可以取出它的msg,至于msg代表什么信息,validator框架不管。我们自己拿着msg去我们的资源文件中查。Valida原创 2006-12-04 22:48:00 · 8865 阅读 · 1 评论 -
struts表单校验失败后的整数重显问题
通过王涛完成的项目练习,发现了struts中的表单校验失败后重显的一个问题:假设ActionForm Bean中有一个整数类型的属性,如果将其类型定义为int,这个属性的默认值是0;在表单页面中用一个文本框来输入这个属性的值,当文本框中没有填写任何内容时,发送到WEB服务器的参数值为一空字符串"";当ActionForm Bean中的其它属性校验失败时,回到表单页面重新显示,这时,与整数字段原创 2006-12-04 20:05:00 · 5380 阅读 · 1 评论 -
11月26日struts项目练习
项目练习: 使用struts和结合JDBC访问数据库,编写用户登录与用户注册的用例,要求有如下功能: (1)使用struts自身提供的功能防止表单重复提交; (2)通过在struts中配置的数据源获取连接; (3)能够对表单数据进行非法格式校验,例如,密码长度不能小于3和大于16,email,生日等格式; (4)格式校验失败后回到表单输入页面,提示用户重新输入,并显示错误提示信息; (5原创 2006-11-29 09:29:00 · 5099 阅读 · 0 评论 -
11月17日spring mvc入门培训
上午学员们继续动手实践,下午开始讲解Spring MVC。在WEB应用程序中要使用spring,首先想要与哪个类打交道?ApplicationContext!但是ApplicationContext是个接口还是类?创建出ApplicationContext对象必须要一个什么文件?这个文件的作用是什么?描述了其中管理哪些bean,以及这些bean之间的关系。在使用spring的web开发中,需要使用原创 2006-11-19 22:58:00 · 4400 阅读 · 1 评论 -
11月18日Spring mvc培训与听Sun公司讲座
controller返回ModelAndView,ModelAndView中的视图名称也要通过配置一个ViewResovler的Bean对象来进行解析。请说明你为什么不直接实现controller接口,而是继承AbstractController类的理由?这里面涉及了一个什么设计模式?MultiActionController有什么作用?在什么情况下使用?DisplaySortByXxx。什么情况原创 2006-11-21 20:26:00 · 3430 阅读 · 0 评论 -
11月19日spring mvc的表单处理的相关知识
1.查看帮助文档,了解spring中提供了哪些自定义标签以及这些标签的用途与用法。通过实际的例子演示了如何使用来显示国际化的文本信息,如何使用标签来显示对象及对象的属性信息。2.只能绑请求域中的对象信息,生成status属性变量的类型为org.springframework.web.servlet.support.BindStatus,status属性变量只能在标签对之间使用。查看org.sp原创 2006-11-21 20:36:00 · 7545 阅读 · 0 评论 -
11月20日面试题分析与EL表达式培训日记
今天新班开学典礼,我必须出席,所以,上午安排这个班的学员们练习昨天讲解的SimpleFormController。一两个学员瞒着我,外出找公司面试了几把,最后问了我几道令他们心虚的几道面试题,下午我先为大家分析了这几道面试题:1.在使用new关键字创建某个类的实例对象时,构造方法抛出了异常,这时候,程序有没有在内存中创建出该类的实例对象呢?请说出理由!2.对于一个类中的构造方法来说,是否要考虑与该原创 2006-11-22 22:36:00 · 6066 阅读 · 1 评论 -
11月23日spring mvc复习培训日记
今天复习前些天讲解的spring mvc,要求每个学员都能独立使用SimpleFormController完成表单处理流程,主要由学生自己动手实践。写spring mvc的例子程序时,想想spring mvc程序的工作流程,然后根据这个流程一步步进行实施。在配置InternalResourceViewResolver时,注意其prefix属性值的最后一定要有“/”。AbstractCont原创 2006-11-26 13:46:00 · 4814 阅读 · 0 评论 -
11月24日struts培训日记
首先为大家分析了struts框架的工作原理和体系结构,讲解了ActionServlet、Action、ActionForm、ActionForward等类的作用与工作关系。struts-config.xml文件与ActionMapping类。接着演示使用MyEclipse编写struts应用的步骤:先做ActionForm,并要设置一个use case名, 这个use case名是供MyEclip原创 2006-11-26 14:11:00 · 5312 阅读 · 0 评论