『壹』 cookie的在jsp中
jsp中使用cookie完成状态管理:
cookie也算http消息报头的一部分,它的作用有以下方面:
一 记录访客的某些信息。例如可以利用cookie记录用户光临的网页次数,或者访客曾经输入过的信息。某些网站可以自动记录用户上次登录的用户名,用的就是cookie。
二 页面之间传递变量。浏览器并不会保存当前页面上任何变量的信息,当页面被关闭时,页面上的所有变量信息将随之消失。
使用举例
在jsp中创建简单的cookie:
String cookiename=visitTimes;
Cookie cookie=new Cookie(cookiename,1); setMaxAge(10*60);//设置cookie存活期 addCookie(cookie);//将cookie写入客户端 在jsp中处理cookie数据的常用方法:
getDomain();返回cookie的域名.
getMaxAge();返回cookie的存活时间
getName();返回cookie的名字
getPath();返回cookie适用的路径
getSecure();如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返回false值
getValue();返回cookie的值
getVersion();返回cookie所遵从的协议版本setComment(String purpose);设置cookie的注释
setPath(String url);设置Cookie的适用路径
setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或ssl
setValue(String newvalue);cookie创建后设置一个新的值
setVersion(int v);设置cookie所遵从的协议版本。
『贰』 asp中的cookie 怎么在jsp中获取
Cookie[] cookies = request.getCookies();
然后循环读取cookies找到你需要的就可以啦
『叁』 jsp页面中如何通过cookie传递数据
首先先声明一个cookie:
Cookie cookie_id = new Cookie("username", value);
其中第一个参数是这个cookie保存的名字,第二个是cookie的值
返回用response的方法添加cookie,另外也可以设置最大生存时间,如果不设置代表关闭浏览器的时候cookie失效
response.addCookie(cookie_id);
这条语句是跳转到B页面 response.setHeader("refresh", "1;URL=B.jsp");
在B页面中,可以这么获得Cookie
Cookie[] username=request.getCookie();
这时cookie就在username变量中了,因为只有一个所以不用遍历,可以这样: out.println(username[1].getValue());
『肆』 jsp中cookie传值中文乱码问题如何解决,快整死我了
jsp中cookie传值中文乱码问题:
通过java.net.URLEncoder对中文编码,然后通过java.net.URLDecoder对其进行解码。
添加cookie:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>set cookie</title>
</head>
<body>
<%
String str = "这是中文的cookie值";
Cookie c = new Cookie("str",java.net.URLEncoder.encode(str));
c.setMaxAge(24*3600);
//向客户端添加cookie对象
response.addCookie(c);
%>
</body>
</html>
接收cookie:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>get-cookie-value -- by www.phpddt.com</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
Cookie[] cookies = request.getCookies();
for(Cookie c : cookies)
{
//如果有名为str的cookie值,则是要需找的
if(c.getName().equals("str"))
{
out.print(java.net.URLDecoder.decode(c.getValue()));
}
}
%>
</body>
</html>
『伍』 JSP中cookie、session和的区别是什么
JSP中cookie以及session的区别如下所列:
1、JSP中的session在用户会话结束后就会关闭了,而最重要的是,cookie和session不同的地方在于cookie保存在客户端,所以可以长期保存,session是不可以长期保存的。
2、JSP中的session是保存在服务器中的,客户端是不知道其中信息的;cookie和session不同的地方在于cookie保存在客户端中,服务器是可以够知道其中的信息。
3、JSP中的session中保存的是对象,cookie和session不同的地方在于它保存的是字符串。
4、JSP中的session是不可以区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。但cookie和session不同的地方在于它如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
(5)jsp输出cookie扩展阅读:
cookie失效:如果你使给当前cookie设置了时间,那么它被保存到硬盘上,一直会到你的时间结束。没有设置时间,则保存在内存上,生理周期在会话期间。
session失效:(生命周期):会话期间(浏览器开始访问服务器,到浏览器关闭)。设置的时间,是你与服务器的链接不刷新时间就过期,你一直刷新,那么一直不会失效。
JSP中的九大内置对象page ,request session,application, pagecontext,response,config , out,exception。
JSP中三大组件:servlet filter listener
『陆』 在JSP页中如何设置cookie
以下scriptlet在客户端设置了一个cookie
"mycookie":<%Cookie
mycookie
=
new
Cookie("aName","aValue");
response.addCookie(mycookie);%通常,cookies在JSP页的开始处进行设置,因为它们作为HTTP
headers的一部分被送出。
如果你想在关闭浏览器后在cookie中保存数据,你还需要设置expiration
date,例如,
『柒』 jsp中request.Cookies怎么用
Cookies
Cookies 集合允许用户检索在 HTTP 请求中发送的 cookie 的值。
语法
Request.Cookies(cookie)[(key)|.attribute]
参数
cookie
指定要检索其值的 cookie。
key
可选参数,用于从 cookie 字典中检索子关键字的值。
attribe
指定 cookie 自身的有关信息。其属性参数如下:名称 说明
HasKeys 只读。指定 cookie 是否包含关键字。
注释
可以通过包含一个 key 值来访问 cookie 字典的子关键字。如果访问 cookie 字典时未指定 key,则所有关键字都会作为单个查询字符串返回。例如,如果 MyCookie 有两个关键字, First 和 Second ,而在调用 Request.Cookies时并未指定其中任何一个关键字,那么将返回下列字符串。
First=firstkeyvalue&Second=secondkeyvalue
如果客户端浏览器发送了两个同名的 cookie,那么 Request.Cookie 将返回其中路径结构较深的一个。例如,如果有两个同名的的 cookie,但其中一个的路径属性为 /www/ 而另一个为 /www/home/,客户端浏览器同时将两个 cookie 都发送到 /www/home/ 目录中,那么 Request.Cookie 将只返回第二个 cookie。
要确定某个 cookie 是不是 cookie 字典(cookie 有否有关键字),可使用下列脚本。
<%= Request.Cookies("myCookie").HasKeys %>
如果 myCookie 是一个 cookie 字典,则前面的赋值为 TRUE。否则,为 FALSE。
可以通过循环遍历 Cookies 集合中的所有 cookie 或 cookie 中的所有关键字。但是,通过关键字在没有关键字的 cookie 上遍历将不产生任何输出。使用 HasKeys 语法先检查一下 cookie 是否有关键字,可以避免这种情况。下面的例子对此进行演示。
<%
'Print out the entire cookie collection.
For Each cookie in Request.Cookies
If Not cookie.HasKeys Then
'Print out the cookie string
%>
<%= cookie %> = <%= Request.Cookies(cookie)%>
<%
Else
'Print out the cookie collection
For Each key in Request.Cookies(cookie)
%>
<%= cookie %> (<%= key %>) = <%= Request.Cookies(cookie)(key)%>
<%
Next
End If
Next
%>
示例
下面的例子打印 Web 页中的 myCookie 的值。
这是名为 myCookie 的 cookie 值:
<%= Request.Cookies("myCookie") %>
『捌』 jsp中怎么拿到cookie中的数据
<%
String cookieName="Sender";
Cookie cookie=new Cookie(cookieName, "Test_Content");
cookie.setMaxAge(10);
response.addCookie(cookie);
%>
<%
Cookie cookies[]=request.getCookies();
Cookie sCookie=null;
String svalue=null;
String sname=null;
for(int i=0;i<cookies.length;i++)
{
sCookie=cookies[i];
svalue=sCookie.getValue();
sname=sCookie.getName();
%>
<tr><td><%=name%></td><td><%=svalue%></td></tr>
<%
}
%>
『玖』 jsp获取cookie的问题
在第一行中加上加一行if(cookies!=null)就行
具体如下:
Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面
Cookie sCookie=null;
for(int i=0;i<cookies.length-1;i++){ //用一个循环语句遍历刚才建立的Cookie对象数组
sCookie=cookies[i]; //取出数组中的一个Cookie对象
if(sCookie!=null){
if(("cookieName").equals(sCookie.getName())){
pageContext.setAttribute("SavedUserName",sCookie.getValue());
}
}
//保存用户名到cookies
String user_name=request.getParameter("user_name");
if(!"".equals(user_name) && request.getParameter("RmbUser")!=null){
Cookie cookie=new Cookie("usernamecookie",user_name);
cookie.setMaxAge(365*24*60*60); //保存365天
response.addCookie(cookie); //写COOKIE
}
『拾』 jsp 用Cookie实现自动登录
1.新建login.jsp和index.jsp。
2.在login.jsp中新建表单,跳转到index.jsp并提交name。
3.在index.jsp中新建如下代码: