实验报告——Cookie及其应用操作

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

陕西国际商贸学院

信息与工程学院《Web应用开发技术》实验报告

实验名称:Cookie及其应用操作

班级:信管B1201班

学生姓名:***

实验地点:1S501实验室

日期:2015年4月24日

1.实验内容

Cookie是客户访问Web服务器时,服务器在客户硬盘上存放的信息,好像是服务器送给客户的“点心”。Cookie实际上是一小段文本信息,客户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。

2.实验目的

a:向客户发送Cookie对象

b:从客户端读取Cookie

c:用Cookie实现自动登录

3.实验要求

a:要把Cookie发送到客户端,Servlet先要使用Cookie类的构造方法创建一个Cookie对象,通过setXXX()设置各种属性,通过响应对象的addCookie(cookie)把Cookie加入响应头。

b:要从客户端读入Cookie,Servlet应该调用请求对象的getCookies(),该方法返回一个Cookie对象的数组。大多数情况下,只需要用循环访问该数组的各个元素寻找指定名字的Cookie,然后对该Cookie调用getValue()取得与指定名字关联的值。

c:当用户第一次登录网站,服务器将用户名和密码以Cookie的形式发送到客户端。当客户之后再次访问该网站时,浏览器自动将Cookie文件中的用户名和密码随请求一起发送到服务器,服务器从Cookie中取出用户名和密码并且通过验证,这样客户不必再次输入用户名和密码登录网站。

4.算法分析

a:创建一个Cookie对象:

Cookie userCookie = new Cookie(“username”,”hacker”);

将userCookie对象的最大存活时间设置为一个星期:

userCookie.setMaxAge(60*60*24*7);

向客户发送Cookie对象:

response.addCookie(userCookie);

b:调用请求对象的getCookies()方法:

Cookie[] cookies=request.getCookies();

c:GET方法首次访问请求中不包含Cookie,该Servlet将响应重定向到login.jsp页面。当输入正确的用户名和口令,且选中“自动登录”复选框,单击“提交”按钮,将发送POST请求由CheckUserServlet的doPost()处理。之后再发送GET请求,Servlet将从Cookie中检索出用户名和口令,并对其验证。

5.部分程序清单

a:SendCookieServlet.java

public class SendCookieServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws IOException, ServletException {

Cookie userCookie=new Cookie("username","hacker");

userCookie.setMaxAge(60*60*24*7);

response.addCookie(userCookie);

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

out.println(" 发送Cookie");

out.println("

已向浏览器发送一个Cookie

");

out.println("");

}

}

b:ReadCookieServlet.java

public class ReadCookieServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws IOException, ServletException {

String cookieName="username";

String cookieValue=null;

Cookie[]cookies=request.getCookies();

if(cookies!=null){

for(int i=0;i

Cookie cookie=cookies[i];

if(cookie.getName().equals(cookieName))

cookieValue=cookie.getValue();

}

}

response.setContentType("text/html;charset=UTF-8");

PrintWriter out = response.getWriter();

out.println("读取cookie");

out.println("

从浏览器读回一个cookie

");

out.println("Cookie名:"+cookieName+"
");

out.println("Cookie值:"+cookieValue+"
");

out.println(" ");

out.println("");

}

}

c:login1.jsp

${sessionScope.message}

请输入用户名和口令:

用户名:
口  令:

自动登录

相关文档
最新文档