如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第5章HTTP协议的主要特点无状态。HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传。这样可导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时,它的响应就很快。这也导致在应用开发时遇到很多麻烦,因为很多时候一个连接是需要前一个连接的信息的。在Web应用程序中实现会话功能,可采用的解决方案:改进目前的HTTP,提出新的Web协议在HTTP基础上,提供专门算法或手段模拟真正的会话机制会话机制剖析使用传统方法进行会话管理URLRewriting技术隐藏表单域Cookie功能对Cookie的争议Cookie内容Cookie的基本工作原理Cookie技术的应用ServletAPI提供了一个Cookie类,封装了对Cookie的一些操作。Servlet可以创建一个新的Cookie,设置它的关键字、值及有效期等属性,然后把Cookie设置在HttpServletResponse对象中发回浏览器,还可以从HttpServletRequest对象中获取Cookie。编程思路:Cookie在实际的Servlet编程中有着广泛应用,下面是一个从Servlet中获取Cookie信息的例子。ShowCookie.javaimportjavax.servlet.*;importjavax.servlet.http.*;publicclassShowCookiesextendsHttpServlet{publicvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,java.io.IOException{//指定响应中的内容类型resp.setContentType(“text/html;charset=gb2312”);//取得要在响应中输出的文本流java.io.PrintWriterout=resp.getWriter();//得到一个包含所有Cookie的数组Cookiecookies[]=req.getCookies();//写网页头部的HTMLout.println(“<html>”);out.println(“<head>”);out.println(“<title>显示Cookies的内容</title>”);out.println(“</head>”);out.println(“<body>”);//检查Cookie是否存在?if((cookies==null)||(cookies.length==0)){out.println("没有cookies");}else{out.println("<center><h1>响应消息中的Cookies信息</h1>");//用表格显示Cookies的信息out.println("<tableborder>");out.println("<tr><th>Name</th><th>Value</th>"+"<th>Comment</th><th>MaxAge</th></tr>");for(inti=0;i<cookies.length;i++){Cookiec=cookies[i];out.println("<tr><td>"+c.getName()+"</td><td>"+c.getValue()+"</td><td>"+c.getComment()+"</td><td>"+c.getMaxAge()+"</td></tr>");}out.println("</table></center>");}//HTML的结尾out.println("</body>");out.println("</html>");out.flush();}使用JavaServletAPI进行会话管理HttpSession接口管理会话数据管理会话数据管理会话数据会话对象的读写数据购物车实例编程技巧说明://获取会话对象HttpSessionsession=req.getSession(true);//获取选择的商品数目IntegeritemCount=(Interger)session.getValue("itemCount");创建HttpServlet创建Servlet的步骤运行