Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Java (http://www.velocityreviews.com/forums/f30-java.html)
-   -   Cookie Counts (http://www.velocityreviews.com/forums/t523843-cookie-counts.html)

Dan 07-22-2007 12:18 AM

Cookie Counts
 
Hello -

I'm having a hard time displaying how many times a site has been
accessed using cookies.

For example, one of the sites that my servlet is redirecting to is
nytimes.com

In my code I have:
public class DirectIt2Servlet extends HttpServlet
{
int countn=1;
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
Cookie[] cookies = req.getCookies();
if(cookies==null) //adds cookie if null
{
Cookie n = new Cookie("nyc", "" + countn);
n.setMaxAge(60*60*24*7);
resp.addCookie(n);
}
if(req.getParameter("sw")==null) //checks hidden value to see if
first time through
{
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html>" +
"<head><title>" +
"DirectIt2Servlet.html" + "</title></head>" +
"<body>" +
"<form action=\"/MyWebApp/DirectIt2Servlet\">" +
"<p>" + "Below are three choices for three different web pages that
you can go to. Click on the radio button, and then click on submit to
go to that page." + "<br />");
for(int j=0;j<cookies.length;j++) //checks the cookies
{
Cookie temp;
temp=cookies[j];
if(temp.getName().equals("nyc"))
{
out.println("<br />" + "http://www.nytimes.com");
out.println("<input type=\"radio\" name=\"Pages\" value=\"Nytimes
\" />");
out.println("<br />" + "The NY Times has been accessed " +
temp.getValue() + " times since " + "//(beginning of count date//");
}
}
out.println("<br />" + "<input type=\"submit\" name=\"SButton\" value=
\"Send\" />" + "<br />" + "</p>" +"<input type=\"hidden\" name=\"sw\"
value=\"y\" />" + "</form></body></html>"); }
else (if hidden value is not equal to null)
{
if(req.getParameter("Pages").equals("Nytimes")) //add the cookies
{
Cookie nyccount = new Cookie("nyc", "" + countn++);
resp.addCookie(nyccount);
resp.sendRedirect("http://www.nytimes.com");
}

How do I put in the count date? Am I doing everything correctly? HELP!


Manish Pandit 07-22-2007 09:09 AM

Re: Cookie Counts
 
On Jul 21, 5:18 pm, Dan <dlane9...@gmail.com> wrote:
> Hello -
>
> I'm having a hard time displaying how many times a site has been
> accessed using cookies.
>
> For example, one of the sites that my servlet is redirecting to is
> nytimes.com
>
> In my code I have:
> public class DirectIt2Servlet extends HttpServlet
> {
> int countn=1;
> public void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException
> {
> Cookie[] cookies = req.getCookies();
> if(cookies==null) //adds cookie if null
> {
> Cookie n = new Cookie("nyc", "" + countn);
> n.setMaxAge(60*60*24*7);
> resp.addCookie(n);
> }
> if(req.getParameter("sw")==null) //checks hidden value to see if
> first time through
> {
> resp.setContentType("text/html");
> PrintWriter out = resp.getWriter();
> out.println("<html>" +
> "<head><title>" +
> "DirectIt2Servlet.html" + "</title></head>" +
> "<body>" +
> "<form action=\"/MyWebApp/DirectIt2Servlet\">" +
> "<p>" + "Below are three choices for three different web pages that
> you can go to. Click on the radio button, and then click on submit to
> go to that page." + "<br />");
> for(int j=0;j<cookies.length;j++) //checks the cookies
> {
> Cookie temp;
> temp=cookies[j];
> if(temp.getName().equals("nyc"))
> {
> out.println("<br />" + "http://www.nytimes.com");
> out.println("<input type=\"radio\" name=\"Pages\" value=\"Nytimes
> \" />");
> out.println("<br />" + "The NY Times has been accessed " +
> temp.getValue() + " times since " + "//(beginning of count date//");
> }
> }
> out.println("<br />" + "<input type=\"submit\" name=\"SButton\" value=
> \"Send\" />" + "<br />" + "</p>" +"<input type=\"hidden\" name=\"sw\"
> value=\"y\" />" + "</form></body></html>"); }
> else (if hidden value is not equal to null)
> {
> if(req.getParameter("Pages").equals("Nytimes")) //add the cookies
> {
> Cookie nyccount = new Cookie("nyc", "" + countn++);
> resp.addCookie(nyccount);
> resp.sendRedirect("http://www.nytimes.com");
> }
>
> How do I put in the count date? Am I doing everything correctly? HELP!


If you are doing a response.sendRedirect to another site, I doubt that
cookies from your site will be set in the user's browser. You will
have to design the system in a way that there is an intermediate
action between the cookie setting and the redirection - maybe a client
redirection instead of a server redirect.

-cheers,
Manish



All times are GMT. The time now is 07:43 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.