관리 메뉴

moozi

쿠키를 이용한 조회수증가 제어 - BoardViewAction.java 본문

TIS_2017/응용sw_2기

쿠키를 이용한 조회수증가 제어 - BoardViewAction.java

moozi 2017. 9. 1. 17:39

package com.saeyan.controller.action;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.saeyan.dao.BoardDAO;
import com.saeyan.dto.BoardVO;

public class BoardViewAction implements Action{

 @Override
 public void execute(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  String url="/board/boardView.jsp";
  
  String num=request.getParameter("num");
  BoardDAO bDao=BoardDAO.getInstance();
  
  //쿠키변수를 만들어서 값을 저장. 쿠키변수에 값이 있으면 조회수 증가 실행 하지 않음
  boolean isGet=false;
  Cookie[] cookies=request.getCookies();
  if(cookies!=null){   
   for(Cookie c: cookies){//    
    //num쿠키가 있는 경우
    if(c.getName().equals(num)){
     isGet=true; 
    }
   }
   // num쿠키가 없는 경우
   if(!isGet) {
    bDao.updateReadCount(num);//조회수증가
    Cookie c1 = new Cookie(num, num);
    c1.setMaxAge(1*24*60*60);//하루저장
    response.addCookie(c1);    
   }
  }
  
//  bDao.updateReadCount(num);//조회수증가
  BoardVO bVo=bDao.selectOneBoardByNum(num);
  
  request.setAttribute("board", bVo);
  RequestDispatcher dispatcher=request.getRequestDispatcher(url);
  dispatcher.forward(request, response);
  
 }

}

'TIS_2017 > 응용sw_2기' 카테고리의 다른 글

jsp연습문제07  (0) 2017.09.04
9/4 Examp11  (0) 2017.09.04
jsp 쿠키 참고  (0) 2017.09.01
jsp model1, model2  (0) 2017.08.31
8/30 Exam10  (0) 2017.08.31
Comments