티스토리 뷰

Jsp&Servlet

Cookie를 통한 방문 횟수 조회

살구르 2017. 1. 24. 10:28

@WebServlet("/cookie03")

public class CookieTest3 extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.print("<h1>get방식으로 요청됨</h1>");

Cookie[] list = request.getCookies();

boolean hasCount = false;

for(int i=0;list!=null && i<list.length;i++){

if(list[i].getName().equals("count")){

hasCount = true;

list[i].setValue(String.valueOf((Integer.parseInt(list[i].getValue())+1)));

out.println("방문횟수:"+list[i].getValue());

}

}

if(!hasCount){

Cookie c = new Cookie("count","1");

c.setMaxAge(60*60*60);

response.addCookie(c);

out.println("방문횟수:1");

}

out.close();

/*Cookie[] list = request.getCookies();

int cnt=0;

for(int i=0;list!=null && i<list.length;i++){

if(list[i].getName().equals("count"))

cnt = Integer.parseInt(list[i].getValue());

}

cnt++;

Cookie c = new Cookie("count",cnt+"");

c.setMaxAge(60*60*24*10);

response.addCookie(c);

out.println("현재 방문 횟수 : "+cnt);

out.close();*/

}

}


=> 위의 코드와 아래의 코드의 차이점과 문제점 분석

-아래 코드에서는 동일한 name으로 쿠키를 덮어쓰게 됨

-위 코드에서는 기존의 쿠키의 value를 변경하게 됨

-위 코드에서 setValue를 통해 기존의 value를 변경하게 되는 경우, response.addCookie를 다시 해주어야 한다.

http://stackoverflow.com/questions/7447478/in-a-java-servlet-how-can-i-change-the-value-of-an-existing-cookie

'Jsp&Servlet' 카테고리의 다른 글

forward 후 이후 실행  (0) 2017.01.24
Session 관련 메서드들  (0) 2017.01.24
쿠키 생성 및 저장 오류 및 문제점, 해결  (0) 2017.01.24
Cookie와 HttpSession  (0) 2017.01.23
Connection, Statement, ResultSet 의 close 문제  (0) 2017.01.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함