URL encoded ”); 3.SingleThreadModel 默认的,每一个servlet definition in a container只有一个servlet class的实例。 只有实现了SingleThreadModel,container才会让servlet有多个实例。 Servlet specification上建议,不要使用synchronized,而使用SingleThreadModel。 SingleThreadModel(没有方法) 保证servlet在同一时刻只处理一个客户的请求。 SingleThreadModel是耗费资源的,特别是当有大量的请求发送给Servlet时,SingleThreadModel的作用是使包容器以同步时钟的方式调用service方法。 这等同于在servlet的service()方法种使用synchronized. Single Thread Model一般使用在需要响应一个heavy request的时候,比如是一个需要和数据库打交道的连接。 2.在重载Servlet地init( )方法后,一定要记得调用super.init( ); 3.the client通过发送一个blank line表示它已经结束request 而the server通过关闭the socket来表示response已结束了。 4.一个Http Servlet可以送三种东西给Client 1)a single status code 2)any number of http headers 3)a response body 5.Servlet之间信息共享的一个最简单的方法就是 System.getProperties().put(“key”,”value”); 6.Post和Get Post:将form内各字段名称和内容放置在html header内传送给server Get: ?之后的查询字符串要使用URLEncode,经过URLEncode后,这个字符串不再带有空格,以后将在server上恢复所带有的空格。 Get是Web上最经常使用的一种请求方法,每个超链接都使用这种方法。 7.Web.xml就是Web Applicatin 的deployment descriptor 作用有:组织各类元素 设置init param 设置安全性 8.Request Dispatcher用来把接收到的request forward processing到另一个servlet 要在一个response里包含另一个servlet的output时,也要用到Request Dispatcher. 9.Servlet和Jsp在同一个JVM中,可以通过ServeltContext的 setAttribute( ) getAttribute( ) removeAttribute( ) 来共享对象 10.利用request.getParameter( )得到的String存在字符集问题。 可以用 strTitle = request.getParameter(“title”); strTitle = new String(strTitle.getBytes(“8859-1”),”gb2312”); 如果你希望得到更大得兼容性 String encoding = response.getCharacterEncoding(); //确定Application server用什么编码来读取输入的。 strTitle = new String(strTitle.getBytes(encoding),”gb2312”); XML 1.XML基础知识 1.一个xml文档可以分成两个基本部分: 首部( header ) 内容( content ) 2.xml名字空间规范中指定: xml文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,缺省的名字空间就是和该元素相关联的名字空间。 3.A document that is well-formed obeys all of the rules of XML documents (nested tags, etc.) " If a well-formed document uses a Document Type Definition (more on these in a minute), and it follows all the rules of the DTD, then it is also a valid document 4.A tag is the text between the