JSP程序设计实例教程第6讲 Application对象Cookie对象
- 格式:ppt
- 大小:3.77 MB
- 文档页数:26
由于H T T P协议的无状态特征,W e b应用中经常使用C o o k i e和S e s s i o n来保存用户在与系统交互过程中的状态数据。
下面通过分析H T T P协议对C o o k i e和S e s s i o n的工作原理加以了解。
一、C o o k i eC o o k i e的含义是“服务器送给浏览器的甜点”,即服务器在响应请求时可以将一些数据以“键-值”对的形式通过响应信息保存在客户端。
当浏览器再次访问相同的应用时,会将原先的C o o k i e通过请求信息带到服务器端。
下面的S e r v l e t展示了C o o k i e的功能。
.........p u b l i c v o i d d o G e t(H t t p S e r v l e t R e q u e s t r e q u e s t,H t t p S e r v l e t R e s p o n s e r e s p o n s e) t h r o w s S e r v l e t E x c e p t i o n,I O E x c e p t i o n{r e s p o n s e.s e t C o n t e n t T y p e("t e x t/h t m l");P r i n t W r i t e r o u t=r e s p o n s e.g e t W r i t e r();S t r i n g o p t i o n=r e q u e s t.g e t P a r a m e t e r("o p t i o n");i f("s h o w".e q u a l s(o p t i o n)){//获得请求信息中的C o o k i e数据C o o k i e[]c o o k i e s=r e q u e s t.g e t C o o k i e s();i f(c o o k i e s!=n u l l){//找出名称(键)为“c o o l”的C o o k i ef o r(i n t i=0;i<c o o k i e s.l e ng t h;i++){i f("c o o l".e q u a l s(c o o k i e s[i].g e t N a m e())){o u t.p r i n t l n("<h2>"+c o o k i e s[i].g e t N a m e()+":"+c o o k i e s[i].g e t V a l u e()+"</h2>");}}}}e l s e i f("a d d".e q u a l s(o p t i o n)){//创建C o o k i e对象C o o k i e c o o k i e=n e w C o o k i e("c o o l","y e a h!");//设置生命周期以秒为单位c o o k i e.s e t M a x A g e(20);//添加C o o k i er e s p o n s e.a d d C o o k i e(c o o k i e);}.........该S e r v l e t对应的u r l-p a t t e r n为/t e s t C o o k i e当浏览器请求地址“.../t s t/t e s t C o o k i e?o p t i o n=a d d”时,该S e r v l e t创建一个C o o k i e 对象,存储的键-值对为“c o o l”-“y e a h”。
cookie的使用方法Cookie是一种存储在用户计算机上的小型文本文件,主要用于在用户访问网站时存储和检索信息。
Cookie通常包含一些关键信息,例如用户输入的登录名和密码,以及其他有关用户时间和行为的数据。
这些信息可用来定制用户体验,并提供更好的服务和广告。
如何使用Cookie是网站设计和开发过程中一个重要的考虑因素。
以下是Cookie的使用方法和最佳实践。
1、验证用户Cookie可以用于验证用户身份。
例如,在用户登录网站后,服务器可以发送Cookie 存储包含用户信息的令牌。
下次用户访问网站时,服务器将检查Cookie并返回令牌,以验证用户身份。
2、存储用户偏好设置网站可以使用Cookie存储用户界面偏好设置,例如语言、颜色主题、字体大小等。
这样,用户就不必每次访问网站时都要重新设置这些选项。
3、定制广告网站可以使用Cookie跟踪用户浏览行为,以便在适当的时候向用户提供定制的广告。
例如,如果用户访问过一些旅游网站,它们可能会在未来向用户显示旅游相关的广告。
4、记住购物车和购买记录电子商务网站可以使用Cookie保存用户的购物车、购买记录和偏好设置。
这使得用户可以轻松地继续购买项目,并在未来使用这些信息来促销相关产品。
1、设置Cookie设置Cookie需要服务器端代码。
当用户访问网站时,服务器可发送Cookie并存储在用户的浏览器中。
可以使用setcookie()函数在PHP、cookie技术中设置Cookie。
JavaScript中,可以设置document.cookie属性。
在客户端上,可以使用JavaScript读取Cookie。
如下所示:var x = document.cookie;Cookie通常由名称-值对构成,如下所示:过期Cookie可以使Cookie在指定时间后失效。
过期时间可以在PHP和JavaScript中设置,如下所示:PHP:setcookie(“cookieName”,”cookieValue”,time()+3600*24);JavaScript:当Cookie设置后,它就会存储在用户的浏览器中,直到被删除或到达过期时间。
js获取cookie值的方法JavaScript获取cookie值的方法。
在Web开发中,我们经常需要使用cookie来存储和获取用户的信息。
而JavaScript作为前端开发的重要工具,也提供了多种方法来获取cookie的值。
本文将介绍几种常用的JavaScript获取cookie值的方法,希望能对你有所帮助。
方法一,使用document.cookie。
JavaScript中最简单的获取cookie值的方法就是使用document.cookie属性。
该属性返回当前文档的所有cookie,格式为键值对的字符串,我们可以通过解析字符串来获取特定的cookie值。
示例代码如下:```javascript。
function getCookie(name) {。
var cookieArr = document.cookie.split("; ");for (var i = 0; i < cookieArr.length; i++) {。
var arr = cookieArr[i].split("=");if (arr[0] === name) {。
return arr[1];}。
}。
return "";var username = getCookie("username");console.log(username);```。
方法二,使用正则表达式。
除了使用split方法来解析document.cookie字符串外,我们还可以使用正则表达式来获取特定的cookie值。
这种方法通常更灵活,能够更精确地匹配cookie名称。
示例代码如下:```javascript。
function getCookie(name) {。
var reg = new RegExp("(^| )"+name+"=([^;])(;|$)");var arr = document.cookie.match(reg);if (arr) {。
《J S P程序设计》复习题一、选择题1.在传统的HTML页面中加入(D)就构成了一个JSP页面文件。
2.A、JAVA程序片B、JSP标签3.C、用“<%”、“%>”标记符号括起来的程序D、JAVA程序片和JSP标签4.配置JSP运行环境,若WEB应用服务器选用TOMCAT,以下说法正确的是:(B)5.A、先安装TOMCAT,再安装JDK6.B、先安装JDK,再安装TOMCAT7.C、不需安装JDK,安装TOMCAT就可以了8.D、JDK和TOMCAT只要都安装就可以了,安装顺序没关系9.对于“<%!”、“%>”之间声明的变量,以下说法正确的是:( B)10.A、不是JSP页面的成员变量11.B、多个用户同时访问该页面时,任何一个用户对这些变量的操作,都会影响到其他用户12.C、多个用户同时访问该页面时,每个用户对这些变量的操作都是互相独立的,不会互相影响13.D、是JSP页面的局部变量14.在客户端浏览器的源代码中可以看到( B)15.A、JSP注释B、HTML注释16.C、JSP注释和HTML注释D、JAVA注释17.page指令的作用是:(A)18.A、用来定义整个JSP页面的一些属性和这些属性的值19.B、用来在JSP页面内某处嵌入一个文件20.C、使该JSP页面动态包含一个文件21.D、指示JSP页面加载Java plugin22.page指令的import属性的作用是( C )23.A、定义JSP页面响应的MIME类型24.B、定义JSP页面使用的脚本语言25.C、为JSP页面引入JAVA包中的类26.D、定义JSP页面字符的编码27.( C)可在JSP页面出现该指令的位置处,静态插入一个文件。
28.A、page指令标签B、page指令的import属性29.C、include指令标签D、include动作标签30.以下对象中的(D)不是JSP的内置对象。
31.A、request B、session32.C、application D、bean33.在JSP中,内置对象(B)封装了用户提交的信息,使用该对象可以获取用户提交的信息。
一、概述在Web开发过程中,经常会涉及到对cookie的操作。
cookie是服务器存储在用户计算机上的小型文本文件,它包含有关用户访问全球信息站的信息。
在JavaScript中,我们经常需要获取特定的cookie值以便进行相关操作。
本文将介绍如何使用JavaScript获取特定cookie 的值。
二、使用document.cookie获取所有cookie在JavaScript中,我们可以使用document对象的cookie属性来获取所有的cookie。
该属性将返回文档中所有的cookie信息,以字符串的形式返回。
可以通过解析该字符串来获取特定cookie的值。
下面是一个简单的示例代码:```var allCookies = document.cookie;console.log(allCookies);```该代码将打印出所有的cookie信息,例如"cookie1=value1; cookie2=value2; cookie3=value3;"。
我们可以使用字符串操作方法来获取特定cookie的值。
三、使用函数获取特定cookie的值为了方便起见,我们可以使用一个函数来获取特定cookie的值。
下面是一个获取特定cookie值的示例代码:```function getCookie(cookieName) {var name = cookieName + "=";var decodedCookie =decodeURIComponent(document.cookie);var cookieArray = decodedCookie.split(';');for (var i = 0; i < cookieArray.length; i++) {var cookie = cookieArray[i];while (cookie.charAt(0) == ' ') {cookie = cookie.substring(1);}if (cookie.indexOf(name) == 0) {return cookie.substring(name.length, cookie.length);}}return "";}var cookieValue = getCookie("cookieName");console.log(cookieValue);```该代码定义了一个名为getCookie的函数,该函数接受一个参数cookieName,并返回对应cookie的值。
JSP的四大作用域:page、request、session、applicationJSP的四大作用域:page、request、session、applicationpage作用域:代表变量只能在当前页面上生效reques t:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到页面B session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关系。
一般来说,只要浏览器不关闭,cookie 就会一直生效,cookie生效,session的使用就不会受到影响。
application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。
比如baidu、wenku等共享帐号。
Cookie在jsp中语法:Cookie cookie_name =new Cookie("Parameter","Value");例:Cookie username_Cookie =new Cookie("username","waynezheng");response.addCookie(username_Cookie);读取cookie从提交的HTML表单中获取,用户名String userName=request.getParameter("username");以"username", userName 值/对创建一个CookieCookie theUsername=new Cookie("username",userName);在JSP中,使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry 应是一个整数。
正值表示cookie将在这么多秒以后失效。
第三章:Jsp隐式对象(request对象、response对象session对象、application对象、cookie)Jsp隐式对象概述:由JSP规范提供,不用编写者实例化。
通过Web容器实现和管理。
所有JSP页面均可使用。
只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)。
常用九大内置对象的作用和方法1、out对象:代表提供输出流的访问。
2、request对象:request对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息。
常用方法:getparameter()getParameterValues()setAttribute() getAttribute()3、response对象:允许直接访问HttpServletResponse对象常用方法:sendRedirect()4、session对象:允许直接访问HttpServletResponse对象常用方法:setAttribute()、getAttribute()5、application对象:用于多个程序或者多个用户之间共享数据。
常用方法:setAttribute()、getAttribute()6、config :将初始化数据传递给一个JSP页面7、page :代表JSP页面对应的Servlet类实例8、exception:针对错误网页,未捕捉的例外9、pageContext :管理网页的属性内置对象的作用域:◆application:服务器启动到停止这段时间◆session:HTTP会话开始到结束这段时间◆request:HTTP请求开始到结束这段时间◆page:当前页面从打开到关闭这段时间对于每一个用户都共享同一个对象的是:application对象,而每个用户分别使用不同对象实例的是:session对象forword和sendRedirect的区别:forword仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;sendRedirect则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接getParameter(String name);例题一:文件名:input.html<html>< body bgcolor="white"><font size=1><form action="requestdemo1.jsp" method=post name=form><input type="text" name="boy"><input type="submit" value="Enter" name="submit"></form></font></body></html>文件名:requestDemo1.jsp:<%@ page contentType="text/html;charset=GB2312" %><html><body bgcolor="white"><font size=4><p>获取文本框提交的信息:<%String strContent=request.getParameter("boy");%><%=strContent%> // 输出文本框boy提交的信息<p> 获取按钮的名字:<%String strButtonName=request.getParameter("submit");%><%=strButtonName%> // 输出按钮的value名字</font></body></html>例题二:设计一个简单的“JSP程序设计网上测试系统”,如下图所示。
j s p程序设计笔试填空及答案(总10页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除1、指令标识通常以(<%@)标记开始,以(%>)标记结束。
2、如果想在JSP页面中调用exception对象输出错误信息,需要将页面指令的(isErropage)属性设置为true。
3、页面指令的(import)属性可出现多次。
4、表达式用于向页面输出信息,其使用格式是以(<%=)标记开始,以(%>)标记结束。
5、在页面中通过声明标识声明的变量和方法的有效范围为(整个页面),他们将成为JSP页面被转换成Java类后类中的(属性)和(方法)。
6、通常应用(<jsp:useBean>)动作标识可以在JSP页面中创建一个Bean实例,并且通过属性的设置可以将该实例存储到JSP中的指定范围内。
7、在JSP内置对象中,(request)对象是从客户端向服务器端发出请求,包括用户提交的信息以及客户端的一些信息,此对象的(getparameter)方法可以获取客户端表单中某输入框提交的信息。
8、在JSP内置对象中,(response)对象提供了设置HTTP响应报头的方法。
9、JSP内置对象的有效范围由小到大为(page)、(request)、(session)和(application)。
10、按功能JavaBean可以分为(可视化JavaBean)和(非可视化JavaBean)。
11、通常情况下通过类的(forName(String className))方法加载要连接数据库的Driver类。
1.W3C是指___万维网联盟_______。
2.IP地址用四组由圆点分割的数字表示,其中每一组数字都在__0至254___之间。
3.URL是Uniform Resource Locator的缩写,中文称之为统一资源定位器。
4.超级链接标记<a>的href属性取值为链接的目标地址。
JSP内置对象本讲主要介绍JSP主要内置对象,包括对象的作用、常用函数,并通过具体实例说明其用法,并介绍了Cookie的概念和使用方法。
通过本讲的学习,重点掌握以下内容:●掌握常用内置对象的作用●掌握常用内置对象的用法●了解Cookie的有关操作1.1 内置对象介绍JSP九大隐式对象:[1]request:表示客户端的请求,包含了所有的请求信息,是Servlet中service(或doPost/doGet方法)方法的resquest参数。
[2]response:处理JSP生成的响应,然后将响应结果发送给客户端。
是service(或doPost/doGet方法)方法的response参数。
[3]out:表示输出流,将作为请求的响应发送给客户端。
是JspWriter的一个实例。
[4]session:表示用户的会话状况,用此机制可以轻易的识别每一个用户,能保存和跟踪用户的会话状态。
是HttpSession的一个实例。
[5]pageContext:作用于此页面,可以访问页面作用域中定义的所有隐式对象。
是PageContext的一个实例。
[6]application:作用于整个应用程序。
是ServletContext的一个实例。
[7]page:提供对网页上定义的所有对象的访问。
是一个Object对象。
是此Servlet的一个引用。
[8]config:存储Servlet的一些初始信息。
是ServletConfig的一个实例。
[9]exception:此对象负责处理程序执行过程中引发的异常。
1.2 out:输出对象out对象是JspWriter类的实例,主要用于向客户端输出数据。
out对象与response.getWriter()得到的PrintWriter对象的关系:一、都是继承自java.io.Writer类。
JspWriter在JSP页面中直接用out对象输出,也可以用pageContext.getOut(); 得到out对象。