代码改变世界

10月23日java web培训日记

2006-10-23 18:23  java ee spring  阅读(204)  评论(0编辑  收藏  举报

分析了客户端身份认证的例子程序,讲解到Digest认证时,顺便提了一下SSLServerSocket,要求学员们能够通过SSLServerSocket的创建过程阐述工厂模式

为了更好地读懂AuthenticateServlet这个Servlet,要先明白两次请求的处理代码都放在了这一个service方法中,每一次请求执行其中的一段代码,相当if..else...的情况。

接着讲解了各种表单字段是如何向WEB服务器传递参数的,以及它们在实际项目中的应用情景。列表框要有不选项:用ctrl也可以放弃选择,但不能指望用户都会这个。
讲隐藏字段的例子:分页查询时,表单中只有起始时间和结束时间,而当前页号则需要作为隐藏字段来传递。注册向导的地一步中的email在第二页中隐藏字段。
如何防止表单重复提交
google和baidu搜索时的HTTP请求方式为什么是GET?
getParameter和getParameterValues方法在实际项目中的应用。
getParameter不能取出multipart/form-data形式的表单信息,可以使用decorator设计模式来解决问题。
decorator设计模式,以前多次讲解过,以FileWrapper为例,要具有File原有的功能,但又要在此基础上增加获取父亲、判断自己是否是老幺的功能,所以,想到了decorator设计模式。

一次性处理多个列表项的实用案例和其中的编码小技巧的讲解

讲解了如何获取请求消息的实体内容,由multipart/form-data格式的数据结构,对学员们进行基础编码能力的考试:
对于这样的一个字符号串:"----xxx----bbbbbb----ccccc----",其中用"----"分隔出了每一部分内容,请提取和打印出其中的每段内容,要求采用String.indexOf和String.substring方法,要注意String.substring方法的两个参数的意义。
String src = "----aa----bbb----cccc----"
String splitter = "----";
int endIndex = 0;

int startIndex = src.indexOf(splitter)
while(startIndex != -1)
{
 endIndex = src.indexOf(splitter,startIndex + splitter.length());
 if(endIndex != -1)
 {
  System.out.println(
   src.substring(startIndex + splitter.length(),endIndex));
  startIndex = endIndex;
 }
 else
 {
  break;
 }
 //startIndex = endIndex;
}

用下面的代码对比讲解
e = v.enumate();
while(e.hasMoreElements())
{
 e.nextElement();
}

想到我多年前做寻呼编码器项目中的一个实用问题:有一个环型队列,一个线程放数据,另一个线程取数据,可以将这个布置成练习题让大家做,用键盘输入来模拟数据放入,用定时器来模拟取数据。