Simple JSP page got exception by using cookies
Here is code, which is mostly taken from web.
Exception:
Code:
org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/TestWeb/WebRoot/Parameter.jsp at line 39
36: </table>
37: <%
38: } else {
39: response.addCookie(new Cookie("Cookie One", "Chocolate Chip"));
40: response.addCookie(new Cookie("Cookie 2", "Peanut butter"));
41: response.addCookie(new Cookie("cookie 3", "Sugar"));
42: %>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.IllegalArgumentException: Cookie name "Cookie One" is a reserved token
javax.servlet.http.Cookie.<init>(Cookie.java:141)
org.apache.jsp.jsp.TestWeb.WebRoot.Parameter_jsp._jspService(Parameter_jsp.java:107)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Code:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Parameter' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Cookie[] cookies = request.getCookies();
if (cookies.length > 1) {
%>
<table>
<tr>
<% for (int i = 0; i < cookies.length; i++) { %>
<td><%= cookies[i].getName() %></td>
<td><%= cookies[i].getValue() %></td>
<% } %>
</table>
<%
} else {
response.addCookie(new Cookie("Cookie One", "Chocolate Chip"));
response.addCookie(new Cookie("Cookie 2", "Peanut butter"));
response.addCookie(new Cookie("cookie 3", "Sugar"));
%>
<h2>Cookies has been initialized</h2>
<% } %>
</body>
</html>