10月17日Servlet培训日记

首先回答了王涛发现的一个问题:在通过Servlet实现动态文件下载时,对于中文的文件名称,浏览器显示为乱码。权威的解决方案,对于这样的问题,我需求正解的方法和步骤:先搜索RFC Content-Dispotion,找到RFC2183,然后搜索encode,找到RFC2184,最后从RFC2184中得到了权威解释。

一个Servlet无法通过Servlet API来知道自己的访问映射路径,要自己编程来实现,通过分析Struts的initServlet方法帮助大家复习了一下digester。
讲解request.getPathInfo的作用时,引出了下列问题:
一个Servlet处理所有的请求,该怎么设计?可以用下面的两种类方式:
(1)根据参数调用一个Servlet类中的相应方法
   /ActionServlet?action=del
   /ActionServlet?action=add

(2)根据pathInfo调用一个相应的方法,更多情况是调用一个相应的类,这也是struts的映射原理
 /ActionServlet/*
     /ActionServlet/del
     /ActionServlet/add

通过分析下面的源代码,来具体讲解request.getPathInfo的应用。
        ActionSevlet.doGet->ActionSevlet.process->RequestProcessor.process
从而引出了Struts的运行原理。


四个行为对应同一个Action类的四个方法:粗粒度
四个行为对应四个Action类的某个固定名称的方法:细粒度

粗粒度和细粒度的比较:就象家中的钱分开存储与集中存储的区别

一个Servlet跳转到jsp页面,jsp页面中的相对路径是相对于jsp,还是Servlet?
myeclipse生成的jsp页面中的<base>标签的作用。

通过检查schema强行用户使用https协议来访问某个Servlet资源
setContentType("text/html;charset=gb2312")的问题

  if(request.getScheme().equals("http"))
  {
   response.sendRedirect("https" +"://" + request.getServerName() + ":8443" + request.getRequestURI() + "?" + request.getQueryString());
   return;
  }

 

posted @ 2006-10-21 13:31  春天的气息  阅读(96)  评论(0编辑  收藏  举报