日期:2014-05-17  浏览次数:20838 次

诡异的代码
我不知道怎么选择代码啊 我的这个文件是JSP的文件 
 代码如下:
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head>
<title>设置cookie保存的时间</title>
</head>
<body>
<%
Cookie c1=new Cookie("lxh","李兴华");
Cookie c2=new Cookie("mldn","www.baidu.com");
c1.setMaxAge(60);
c2.setMaxAge(60);
// response.addCookie(c1);
response.addCookie(c2);
%>
</body>
</html>
不知道为什么 同样的代码 response.addCookie(c2);的话 就可以 但是把c1也添加进去的话 就报错 就是注释掉的那行 那位大侠帮忙解决下 这是什么原因呢?

------解决方案--------------------
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@page import="java.net.URLEncoder"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String name="李兴华";
name=URLEncoder.encode(name,"utf-8");
Cookie c1=new Cookie("lxh",name);
Cookie c2=new Cookie("mldn","www.baidu.com");
c1.setMaxAge(60);
c2.setMaxAge(60);
 response.addCookie(c1);
response.addCookie(c2);
%>

可先把存储的中文用utf-8编码一下。。
name=URLEncoder.encode(name,"utf-8");
------解决方案--------------------
抛的错误帖出来一下,楼上说的也可能存在。也可能是其他情况~
------解决方案--------------------
就是编码的问题。
------解决方案--------------------
GBK2312
------解决方案--------------------
就是编码的问题,写cookie必须注意编码
------解决方案--------------------
恩,楼上已经说得很清楚了,中文的设置一定要注意编码格式
------解决方案--------------------
java.lang.IllegalArgumentException: Control character in cookie value, consider BASE64 encoding your value



给你报的错啊!!