实验报告——Cookie及其应用操作
- 格式:docx
- 大小:746.34 KB
- 文档页数:8
Cookie的使⽤1.Cookie的介绍:
cookie:cookie原意⼩甜点,在web开发中它⼀段存储在浏览器中的⼩⽂本
该⽂本可以由服务端主动向浏览器存放,也可以通过前端存放
cookie的作⽤:cookie主要⽤于存储客户的偏好信息,还可以⽤于存储临时数据cookie⼤⼩原则上不超过255个字节
cookie依赖浏览器存在,每个浏览器有不同的cookie
cookie是以key-value的形式存储数据
cookie是有声明周期,默认的声明周期为⼀次会话(当浏览器关闭后cookie⾃动消失)如果设置的cookie的存活期,则当cookie的存活期到达后⾃动消失,否则不会
⾃动消失
2.添加Cookie
设置“添加Cookie”的按钮,并定义⽅法:addCookie()
⽅法实现:
结果展⽰:
2.读取Cookie
设置“读取Cookie”的按钮,并定义⽅法:readCookie()
⽅法实现:
结果展⽰:
情况⼀(查找的key值不存在):
情况⼆(查找的key值存在):
3.删除Cookie(Cookie⽆法⽴马删除,只能通过设置其存活期来使其⾃动消失)设置“删除Cookie”的按钮,并定义⽅法:deleteCookie()
⽅法实现:
结果展⽰:
删除前:
删除后:
指定删除:
结果:。
Cookie现在经常被大家提到,那么到底什么是Cookie,它有什么作用呢?Cookie是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。
Cookie是当你浏览某网站时,由Web 服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。
当你再次来到该网站时,网站通过读取Cookie,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
从本质上讲,它可以看作是你的身份证。
但Cookie不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。
保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。
一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookie文件中取得信息,也无法得到你的电脑上的其它任何东西。
Cookie中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。
由于Cookie是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。
在Windows 9X系统计算机中,Cookie文件的存放位置为C:/Windows/Cookie,在Windows NT/2000/XP的计算机中,Cookie文件的存放位置为C:/Documents and Settings/用户名/Cookie。
硬盘中的Cookie文件可以被Web浏览器读取,它的命令格式为:用户名@网站地址[数字].txt。
如笔者计算机中的一个Cookie文件名为:ch@163[1].txt。
要注意的是:硬盘中的Cookie属于文本文件,不是程序。
Cookie的设置你可以在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的Cookie。
cookie使用Cookie是一种在互联网上广泛使用的技术,用于存储和跟踪用户在网站上的活动。
它是由网站发送给用户浏览器的小型文本文件,存储在用户的计算机上。
在这篇文章中,我们将探讨Cookie的使用、工作原理以及其在网络世界中的重要性。
首先,让我们来看看Cookie的使用。
Cookie主要用于跟踪用户在网站上的活动,例如登录信息、购物车内容、用户喜好等。
当用户访问一个网站时,网站会将一个Cookie发送给用户的浏览器,并在以后的访问中使用该Cookie来识别用户。
这样,网站就能够提供个性化的服务,例如自动填充登录表单、推荐相关内容等。
Cookie的工作原理是通过在HTTP协议中使用头部字段来实现的。
当用户访问一个网站时,浏览器会向服务器发送一个HTTP请求。
服务器会在响应中包含一个Set-Cookie头部字段,其中包含了要设置的Cookie的信息。
浏览器会将这个Cookie保存在用户的计算机上,并在以后的每次访问中都发送给服务器。
服务器可以通过读取Cookie来获取用户的信息,并根据需要进行相应的处理。
Cookie的使用具有许多优点。
首先,它可以提供个性化的服务。
通过使用Cookie,网站可以根据用户的喜好和习惯来推荐相关的内容,提高用户体验。
其次,Cookie可以用于跟踪用户的行为。
网站可以通过分析Cookie来了解用户的浏览习惯、购买偏好等,并根据这些信息来优化网站的设计和推广策略。
此外,Cookie还可以用于实现购物车功能。
当用户在网站上添加商品到购物车时,这些信息会被保存在Cookie中,以便用户在后续访问时可以继续购物。
然而,Cookie的使用也存在一些问题。
首先,Cookie可能会泄露用户的隐私信息。
由于Cookie存储在用户的计算机上,黑客可以通过各种手段窃取Cookie,并获取用户的个人信息。
此外,由于Cookie是以明文形式传输的,所以在传输过程中也可能被拦截和篡改。
其次,Cookie的过多使用可能会影响网站的性能。
一.什么是cookies?大家都知道,浏览器与WEB服务器之间是使用HTTP协议进行通信的,当某个用户发出页面请求时,WEB服务器只是简单的进行响应,然后就关闭与该用户的连接。
因此当一个请求发送到WEB服务器时,无论其是否是第一次来访,服务器都会把它当作第一次来对待,这样的不好之处可想而知。
为了弥补这个缺陷,Netscape开发出了cookie这个有效的工具来保存某个用户的识别信息,因此人们昵称为“小甜饼”。
cookies是一种WEB服务器通过浏览器在访问者的硬盘上存储信息的手段:Netscape Navigator使用一个名为cookies.txt本地文件保存从所有站点接收的Cookie信息;而IE浏览器把Cookie信息保存在类似于C:\\windows\\cookies的目录下。
当用户再次访问某个站点时,服务端将要求浏览器查找并返回先前发送的Cookie信息,来识别这个用户。
cookies给网站和用户带来的好处非常多:1、Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径2、Cookie能告诉在线广告商广告被点击的次数,从而可以更精确的投放广告3、Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点4、Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务在JSP中,我们也可以使用Cookie,来编写一些功能强大的应用程序。
下面,我想介绍一下如何用JSP创建和处理Cookie。
二.如何创建Cookieimport="javax.servlet.http.Cookie"说了这么多,大家一定很想知道JSP是如何创建cookie了。
JSP是使用如下的语法格式来创建cookie的:Cookie cookie_name =new Cookie("Parameter","Value");例如:Cookie username_Cookie =new Cookie("username","waynezheng");response.addCookie(username_Cookie);解释:JSP是调用Cookie对象相应的构造函数Cookie(name,value)用合适的名字和值来创建Cookie,然后Cookie可以通过HttpServletResponse的addCookie方法加入到Set-Cookie应答头,本例中Cookie对象有两个字符串参数:username,waynezheng。
cookie常见属性及⽤法[导读]当设置为true时,表⽰创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进⾏会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。
⼀、Cookie常⽤属性⼀个Cookie包含以下信息:1)Cookie名称,Cookie名称必须使⽤只能⽤在URL中的字符,⼀般⽤字母及数字,不能包含特殊字符,如有特殊字符想要转码。
如js操作cookie的时候可以使⽤escape()对名称转码。
2)Cookie值,Cookie值同理Cookie的名称,可以进⾏转码和加密。
3)Expires,过期⽇期,⼀个GMT格式的时间,当过了这个⽇期之后,浏览器就会将这个Cookie删除掉,当不设置这个的时候,Cookie在浏览器关闭后消失。
4)Path,⼀个路径,在这个路径下⾯的页⾯才可以访问该Cookie,⼀般设为“/”,以表⽰同⼀个站点的所有页⾯都可以访问这个Cookie。
5)Domain,⼦域,指定在该⼦域下才可以访问Cookie,例如要让Cookie在下可以访问,但在下不能访问,则可将domain设置成。
6)Secure,安全性,指定Cookie是否只能通过https协议访问,⼀般的Cookie使⽤HTTP协议既可访问,如果设置了Secure(没有值),则只有当使⽤https协议连接时cookie才可以被页⾯访问。
7)HttpOnly,如果在Cookie中设置了"HttpOnly"属性,那么通过程序(JS脚本、Applet等)将⽆法读取到Cookie信息。
注意:上图为在w3shool上为setcookie语法,并没有显⽰7 httponly哦,各⾃版本⽀持问题。
⼀、属性说明:1 secure属性当设置为true时,表⽰创建的 Cookie 会被以安全的形式向服务器传输,也就是只能在 HTTPS 连接中被浏览器传递到服务器端进⾏会话验证,如果是 HTTP 连接则不会传递该信息,所以不会被窃取到Cookie 的具体内容。
用户追踪之基础技术——Cookie前言Cookie是如此的重要,以至于我们后面要讲到的回头客定向、访客频次定向、用户定向等等都需要基于此技术才可以实现,并且我们日常工作中所能见到的第三方监测工具如doubleclick、99click、秒针等也都要利用cookie技术,网站分析工具如GA、百度统计、CNZZ等也需要利用cookie。
如果没有Cookie,互联网广告市场将受到巨大打击,尤其对于目前我们谈论的精准广告而言。
如果没有Cookie,网站分析也不从做起,遑论优化了。
Cookie是什么Cookie在英文中是小甜品的意思,但在计算机语言中,Cookie指的是当你浏览某网站时,网站存储在你电脑上的一个小文本文件,伴随着用户请求和页面在Web 服务器和浏览器之间传递。
它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,用于用户身份的辨别。
Cookie通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。
为什么要Cookie因为HTTP协议是无状态的,对于一个浏览器发出的请求,服务器无法区分是不是同一个来源,无法知道上一次用户做了什么。
所以,需要额外的数据用于维护会话。
Cookie 正是这样的一段随HTTP请求一起被传递的额外数据,用于维护浏览器和服务器的会话。
我们可以想象一个场景,你没有登录京东时在京东上购物,选择了3件商品放入购物车,在结算时,京东为什么还能知道这三件商品是什么?没错,是Cookie!Cookie的工作原理Cookie利用网页代码中的HTTP头信息,伴随着用户请求和页面在Web 服务器和浏览器之间传递。
例如:当你在浏览器地址栏中键入了Amazon的URL,浏览器会向Amazon发送一个读取网页的请求,并将结果在显示器上显示。
在发送之前,该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon 服务器。
cookie的原理及应用场景什么是cookie?Cookie是一种小型的文本文件,由网站服务器通过网页浏览器存储在用户的计算机上。
它可以用于记录用户的访问信息,以便在之后的访问中能够识别和追踪用户。
每个Cookie都具有一个名称和一个相应的值,在浏览器中存储为键值对。
Cookie的值可以包含用户的偏好设置、登录状态、购物车信息等。
Cookie的原理1.客户端向服务器发送请求时,服务器会在响应的HTTP头中加入Set-Cookie字段,把Cookie信息返回给客户端。
2.客户端收到服务器返回的Cookie后,会将Cookie信息存储在本地。
3.客户端再次向服务器发送请求时,会在请求的HTTP头中加入Cookie字段,将保存在本地的Cookie信息发送给服务器。
4.服务器可以根据Cookie信息,识别和追踪用户的访问状态。
Cookie的应用场景1. 记住用户登录状态Cookie广泛应用于网站的用户登录功能。
当用户成功登录后,服务器在响应中设置一个包含用户身份标识的Cookie。
用户下次访问网站时,浏览器会自动带上这个Cookie,服务器收到后验证身份标识,即可判断用户已登录。
2. 跟踪用户行为通过为用户分配唯一的Cookie,服务器可以追踪用户在网站上的行为。
例如,记录用户浏览过的页面、点击过的链接、购买过的商品等信息,用于个性化推荐、行为分析等。
3. 用户偏好设置Cookie还可用于保存用户的偏好设置。
例如,网站可以根据用户的语言偏好、主题偏好、字体大小偏好等,自动设置网页的显示效果。
4. 购物车功能Cookie也被广泛应用于购物网站的购物车功能。
当用户选择商品加入购物车时,服务器会将商品信息存储在Cookie中。
用户再次访问购物网站时,网站可以根据Cookie中的信息恢复用户的购物车。
5. 广告投放广告商可以使用Cookie来跟踪用户的浏览行为,以便更好地投放广告。
通过分析Cookie中的信息,例如用户感兴趣的内容、所在地区等,广告商可以选择性地展示相关的广告。
实验报告——Cookie及其应用操作陕西国际商贸学院信息与工程学院《Web应用开发技术》实验报告实验名称:Cookie及其应用操作班级:信管B1201班学生姓名:吴兰实验地点:1S501实验室日期:20年4月24日实验内容Cookie是客户访问Web服务器时,服务器在客户硬盘上存放的信息,好像是服务器送给客户的“点心”。
Cookie实际上是一小段文本信息,客户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。
实验目的a:向客户发送Cookie对象b:从客户端读取Cookiec:用Cookie实现自动登录实验要求a:要把Cookie发送到客户端,Servlet先要使用Cookie类的构造方法创建一个Cookie对象,通过set设置各种属性,通过响应对象的addCookie(cookie)把Cookie加入响应头。
b:要从客户端读入Cookie,Servlet应该调用请求对象的getCookies,该方法返回一个Cookie对象的数组。
大多数情况下,只需要用循环访问该数组的各个元素寻找指定名字的Cookie,然后对该Cookie调用getValue取得与指定名字关联的值。
c:当用户第一次登录网站,服务器将用户名和密码以Cookie的形式发送到客户端。
当客户之后再次访问该网站时,浏览器自动将Cookie文件中的用户名和密码随请求一起发送到服务器,服务器从Cookie中取出用户名和密码并且通过验证,这样客户不必再次输入用户名和密码登录网站。
算法分析^pa:创建一个Cookie对象:Cookie userCookie = new Cookie(“username”,”hacker”);将userCookie对象的最大存活时间设置为一个星期:userCookie.setMaAge(6060247);向客户发送Cookie对象:response.addCookie(userCookie);b:调用请求对象的getCookies方法:Cookie[] cookies=request.getCookies;c:GET方法首次访问请求中不包含Cookie,该Servlet将响应重定向到lon.jsp页面。
cookie调研报告Cookie调研报告一、研究背景随着互联网的快速发展,Cookie成为用户访问网站时常常接触到的技术。
Cookie是服务器存储在用户浏览器中的一小段文本,用于跟踪用户的行为和提供个性化的服务。
然而,随着用户对隐私保护的关注增加,Cookie技术在信息安全和隐私保护方面引起了一些争议。
二、研究目的和方法本研究旨在调查用户对Cookie的认知程度,并了解他们对Cookie的使用和隐私问题的态度。
我们通过在社交媒体和在线调查平台上发布调查问卷进行数据收集。
调查问卷包括关于Cookie的基本知识、使用情况以及隐私方面的问题。
三、调研结果分析1. 用户对Cookie的认知程度不高:调查结果显示,大多数用户对Cookie的工作原理和作用并不了解,只有少数用户具有相关知识。
2. 用户对Cookie的使用态度较积极:尽管对Cookie的认知有限,但大多数用户愿意接受Cookie的使用,认为Cookie可以提供个性化服务和更好的用户体验。
3. 用户对Cookie的隐私问题存在担忧:调查结果显示,用户对Cookie跟踪个人身份和行为的能力表示担忧,担心个人信息被滥用。
4. 用户对Cookie的控制意愿存在差异:调查结果显示,有部分用户希望能够控制Cookie的使用,包括选择接受或拒绝Cookie、授权特定网站使用Cookie的范围等。
四、结论和建议根据以上分析结果,我们得出以下结论和建议:1. 提高用户对Cookie的认知:互联网公司应加强对用户的相关宣传和教育,提高用户对Cookie技术的认知程度。
2. 加强Cookie的隐私保护:公司应该加强对Cookie的隐私保护措施,尽量避免滥用用户个人信息。
3. 提供用户对Cookie的控制选择:为了满足用户对隐私的关注,互联网公司可以开发设置Cookie的控制工具,让用户能够选择接受或拒绝Cookie,并授权特定网站使用Cookie的范围。
4. 加强相关法律法规的制定和执行:政府部门应制定相关法律法规来规范Cookie的使用和隐私保护,同时加强对互联网公司的监管。
第三方cookie实验报告
1. 定义
cookie是由服务器发送给客户端(浏览器)的小量信息。
Cookie用法大全
2. 作用
cookie是键值对形式存储的少量信息,那它有什么作用呢?
我们知道,平时上网时都是使用无状态的HTTP协议传输出数据,这意味着客户端与服务端在数据传送完成后就会中断连接。
这时我们就需要一个一直保持会话连接的机制。
在session出现前,cookie
就完全充当了这种角色。
也就是,cookie的小量信息能帮助我们跟踪会话。
一般该信息记录用户身份。
当然cookie也常记录跟踪购物车的商品信息(如数量)、记录用户访问次数等。
3. 原理
客户端请求服务器时,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。
而客户端浏览器会把Cookie保存起来。
当浏览器再请求服务器时,浏览器把请求的网址连同该Cookie一同提交给服务器。
服务器通过检查该Cookie来获取用户状态。
4.添加cookie示例
获取客户端的Cookie时,只能获取name与value属性,其它属性都不会被提交。
5.删除cookie示例
删除某个Cookie时,只需要新建一个只有maxAge和value不一样的同名Cookie,然后添加到response中覆盖原来的Cookie
6.修改cookie示例
修改某个Cookie时,只需要新建一个只有value属性不一样的同名Cookie,然后添加到response中覆盖原来的Cookie.。
第15章 Cookie的使用Cookie是一种应用已久的技术。
HTML刚刚出现的时候,在每个独立的页面之间无法记录和表示不同的用户,于是Cookie技术就应运而生了。
Cookie为Web应用程序保存用户相关信息提供了一种有效的方法,当用户访问页面时,它能够在用户的计算机上创立一个文件,写入一段内容,以标示不同的用户。
虽然现在网页技术已经有了很大发展,但Cookie在某些应用中还是起着重要作用。
下面就来具体介绍Cookie 的相关技术。
15.1 Cookie概述和用途Cookie技术极其简单,却有着旺盛的生命力,它使得浏览网页更容易了。
几乎所有的主要的网站设计者都使用了Cookie,因为它可以为浏览网站的人提供一个更好的浏览环境,同时也能更加准确地收集访客的信息。
有人对Cookie的理解是这样的:“Cookie是Web网站放在您的硬盘上的程序。
它守在您的电脑里,搜集您的信息以及您在因特网上所做的任何事情,当Web站点需要的时候它能够下载所有这些搜集到的信息。
”这种理解是错误的:Cookie不是程序,它不能像程序一样地运行,所以它无法为自己搜集任何信息。
它也不能从用户的电脑上取得任何个人资料。
Cookie的比较确切的定义应该是这个样子:“Cookie是Web服务器保存在用户硬盘上的一段文本。
Cookie允许一个Web站点在用户的电脑上保存信息并且随后再取回它。
信息的片断以‘名/值’对(name-value pairs)的形式储存。
”Cookie的格式实际上是一段纯文本信息,由服务器随着网页一起发送到客户端,并保存在客户端硬盘中指定的目录下。
与不同服务器相关的Cookie是分别保存的,服务器读取Cookie的时候,只能够读取到与这个服务器相关的信息,所以不会存在什么“安全隐患”。
浏览器一般只允许存放300个Cookie,每个站点最多存放20个,每个Cookie的大小不超过4K,不会占用多少空间。
而且Cookie是有时效性质的,例如,设置了Cookie的存活时间为1分钟,则一分钟后这个Cookie就会被浏览器删除。
实验7: Session、Cookie 的使用实验目的:1、掌握设置与读取Session对象的方法;2、使用Session构建登录验证程序;3、自学Cookie并使用Cookie完成记住用户名功能4、了解Server对象的常用方法的使用。
实验内容:1、尝试使用Cookie对象保存上次访问的用户名。
当用户第一次登陆时,如果选中“记住我”,当用户名写入当前的Cookie,第二次打开页面时,在编辑框中自动显示上次登录的用户名。
2、利用Cookie对象统计IP地址登录次数。
(1)在练习1建立的网站中,新建页面IPCounter.aspx,在界面中添加一个文本框和一个按钮。
⑵ 当用户首次访问IPCounter.aspx页面时,利用Cookie对象向客户端硬盘写入一个永不过期的Cookie,同时计数器置1 ;当用户再次访问时,读取Cookie并将计数器加1后再写入Cookie,这些功能均在页面的Page_load()事件代码中实现,程序代码如下:(3)在IPCounter.aspx页面中,单击按钮即可在文本框中显示统计IP地址登录次数,按钮的单击事件代码如下:Buttonl _C]ick|chjecf senchi,爲嗣尿舸”2if (Pe.quest. C.oohie^flastVisitGQ unt.erT =九皿卜2TerfBoKl .Text= "I";*1畑'2F(tP女刈或磁如蛭"加駅也滋畑「願以壤必以噸口屮T卑stEoxl TtKt =命耳戟3域易嶼加购阪蚀妙严(4)运行程序,结果如图T.5所示。
单击“统计”按钮,观察文本框中的值是否变化。
图5运行结果①使用Server.mappath方法返回指定文件的路径。
新建一个网页,在其中加入label、textbox、butt on组件各一个,并在butt on的单击事件中输入以下代码:②使用Server.htmlencode和server.urlencode方法,查看下面语句的输出结果:。
cookies有下列优点:1、Cookie能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径2、Cookie能保存会话信息和状态3、Cookie有效期限未到时,Cookie能使用户在不键入密码和用户名的情况下进入曾经浏览过的一些站点4、Cookie能帮助站点统计用户个人资料以实现各种各样的个性化服务** 创建cookies在HttpServlet的doPost或doGet函数中void doPost(HttpServletRequest request, HttpServletResponse response){Cookie cookie=new Cookie("attribute","value");//创建cookie对象cookie.setMaxAge(3600);//设置Cookie的存在时间,该cookie在3600秒后失效response.addCookie(cookie);//保存到客户端}** 读取cookies在HttpServlet的doPost或doGet函数中void doPost(HttpServletRequest request, HttpServletResponse response){Cookie[] cookies[]=request.getCookies();//读取cookiefor(int i=0;i<cookies.length;i++){//判断是否为需要读取的信息if(cookies[i].getName().equals("attribute"){//得到cookie中的属性值String value=cookies[i].getValue();}}}处理cookies类型方法名方法解释String getComment() 返回cookie中注释,如果没有注释的话将返回空值.String getDomain() 返回cookie中Cookie适用的域名.使用getDomain() 方法可以指示浏览器把Cookie返回给同一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。
Session与Cookie对象实验报告一、实验目的1、熟悉使用Visual Studio .NET 2005集成环境开发应用程序;2、了解各内部对象的意义和用途;3、掌握Session对象与Cookie对象在Web应用程序中的使用。
二、实验内容1、掌握设置与读取Session对象的方法;2、掌握设置与读取Cookie对象的方法;3、练习使用Session对象保存用户信息和用户登录验证;4、练习使用Cookie对象保存客户端信息。
三、实验步骤1、在E盘创建Lab9文件夹(或者其它名称),用于存放本实验的程序。
在IIS中,创建Lab9虚拟目录(或者其它名称),该虚拟目录指向E:\Lab9文件夹。
2、启动Visual Studio .NET 2005, 创建网站,位置为http://localhost/Lab9。
3、添加名为Login.aspx网页,该网页是一个登录网页,用户输入用户名和密码,点击登录按钮后,对用户输入的用户名和密码进行验证,验证方法自行定义。
验证通过后,将用户名等信息存储在Seesion中,并转向Default.aspx网页。
该登录网页的运行结果请截图在下面:该网页的登录按钮的源代码请粘贴在下面:4、添加Web窗体Default.aspx,该网页请自行设计,但要求,该网页需经前面Login.aspx网页登录认证后才能使用,否则,直接转向到登录网页。
该网页的运行结果请截图在下面:该网页Page_Load事件中实现验证的相关代码请粘贴在下面:5、使用Cookie对象,给登录网页Login.aspx实现记住用户名功能。
该网页的运行结果请截图在下面:该网页中存储Cookie代码请粘贴在下面(请粘贴完整的事件代码):该网页读取Cookie的代码请粘贴在下面(请粘贴完整的事件代码):8、将完成的源程序和本实验报告发电子邮件给指导教师。
四、程序源代码将E:\Lab9文件夹用WinRar压缩后(命名为:XXX实验9源程序.rar)和本实验报告(命名为:XXX实验9实验报告.doc),随电子邮件附件发送给指导教师(电子邮件主题为:XX班XXX实验9实验报告)。
实验5 应用Cookie和Session技术(学生版)实验目的:1.了解Cookie和Session的基本概念和原理2.掌握Cookie和Session的应用方法实验要求:1.使用Servlet和JSP实现简单的网页登录功能2.使用Cookie和Session技术实现用户登录状态的保持实验步骤:1.创建一个Java Web项目,命名为“login”,并在项目中创建两个Servlet文件:LoginServlet 和LogoutServlet。
2.在LoginServlet中编写处理用户登录的代码。
代码如下:```@WebServlet("/login")public class LoginServlet extends HttpServlet {private static final long serialVersionUID = 1L;protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String password = request.getParameter("password");if (username.equals("admin") && password.equals("123456")) {HttpSession session = request.getSession();session.setAttribute("username", username);Cookie cookie = new Cookie("username", username);cookie.setMaxAge(60*60*24);response.addCookie(cookie);response.sendRedirect("welcome.jsp");} else {response.sendRedirect("login.jsp");}}}```3.在LogoutServlet中编写处理用户注销的代码。
陕西国际商贸学院信息与工程学院《Web应用开发技术》实验报告实验名称:Cookie及其应用操作班级:信管B1201班学生姓名:***实验地点:1S501实验室日期:2015年4月24日1.实验内容Cookie是客户访问Web服务器时,服务器在客户硬盘上存放的信息,好像是服务器送给客户的“点心”。
Cookie实际上是一小段文本信息,客户以后访问同一个Web服务器时浏览器会把它们原样发送给服务器。
2.实验目的a:向客户发送Cookie对象b:从客户端读取Cookiec:用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.javapublic 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(" <HTML><TITLE>发送Cookie</TITLE></HTML>");out.println("<BODY><H3>已向浏览器发送一个Cookie</h3></body>");out.println("</HTML>");}}b:ReadCookieServlet.javapublic 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<cookies.length;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("<HTML><TITLE>读取cookie</TITLE></HTML>");out.println(" <BODY><h3>从浏览器读回一个cookie</h3>");out.println("Cookie名:"+cookieName+"<br>");out.println("Cookie值:"+cookieValue+"<br>");out.println(" </BODY>");out.println("</HTML>");}}c:login1.jsp<body>${sessionScope.message}<br><form action="CheckUserServlet"method="post">请输入用户名和口令:<br>用户名:<input type="text" name="username" /><br>口 令:<input type="password" name="password" /><br><input type="checkbox" name="check" value="check" />自动登录<br> <input type="submit" value="提交" /><input type="reset" value="重置" /></form></body>CheckUserServlet.javaprotected void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");String value1 = "",value2 = "";Cookie cookie = null;Cookie[] cookies = request.getCookies();if(cookie!=null){for(int i = 0;i<cookies.length;i++){cookie = cookies[i];if(cookie.getName().equals("username"))value1 = cookie.getValue();if(cookie.getName().equals("password"))value2 = cookie.getValue();}if(value1.equals("admin")&&value2.equals("admin")){message = "欢迎您!"+value1+"再次登录该页面!";request.getSession().setAttribute("message", message);response.sendRedirect("welcome.jsp");}else{response.sendRedirect("login1.jsp");}}else{response.sendRedirect("login1.jsp");}}protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");String username = request.getParameter("username").trim();String password = request.getParameter("password").trim();if(!username.equals("admin")||!password.equals("admin")){message = "用户名或口令不正确,请重试!";request.getSession().setAttribute("message", message);response.sendRedirect("login1.jsp");}if(request.getParameter("check")!=null&&(request.getParameter("check").equals("check"))){Cookie nameCookie = new Cookie("username",username);Cookie pswdCookie = new Cookie("password",password);nameCookie.setMaxAge(60*60);pswdCookie.setMaxAge(60*60);response.addCookie(nameCookie);response.addCookie(pswdCookie);}message = "你已经成功登录!";request.getSession().setAttribute("message", message);response.sendRedirect("welcome.jsp");}}6.实验结果程序a的运行结果如图1所示图1 SendCookieServlet运行结果图程序b的运行结果如图2所示图2 ReadCookieServlet运行结果图程序c的运行结果如图3,图4,图5所示图3 登录成功运行结果图图4 welcome.jsp运行结果图图5 登录失败运行结果图7.实验总结通过对Cookie的学习,明白了Cookie是客户访问Web服务器时,服务器在客户硬盘上存放的信息,在实验中,根据参考代码及分析,能容易的理解并运行出来结果。