【发布时间】:2012-02-01 13:09:42
【问题描述】:
我有一个 jsp 页面 Index.jsp,它只接受一个 unicode 字符串作为其参数并将表单提交给 Result.jsp。每次用户输入新字符串时,我都需要为用户输入的字符串维护 cookie cookie 值将被更改,我编写了以下代码
在 Index.jsp 中我已经创建了 Cookie
<%
Cookie ck= new Cookie("DNString",";");
response.addCookie(ck);
%>
在 servlet 中,我试图在用户每次提交表单时管理和设置 cookie 值
private void fnSetCookieValues(HttpServletRequest request,HttpServletResponse response)
{
Cookie[] cookies=request.getCookies();
for (int i = 0; i < cookies.length; i++) {
System.out.println(""+cookies.length+"Name"+cookies[i].getName());
if(cookies[i].getName().equals("DNString"))
{
System.out.println("Inside if:: "+cookies[i].getValue()+""+cookies.length);
cookies[i].setValue(request.getParameter("txtIIDN"));
}
}
}
但问题是,虽然 getCookie() 它没有将 DNString 作为 cookie,但仅将 1NameJSESSIONID 显示为 System.out.println(""+cookies.length+"Name"+cookies[ i].getName());语句输出
但是通过浏览器查看
它将 DNString 显示为存储的 cookie
任何人都可以找出问题和可能的解决方案。
谢谢
【问题讨论】: