@RequestMapping("/search.do")
	public ModelAndView searchList(Device device, HttpServletRequest req) throws Exception {
		int rows = 16;
		int pageBlock = 10;
		String path = "search.do";
		String pageCode;
		// xml에 keyword 값을 추가 하기 위한 변수
		String keyword = null;
		// 검색창에 입력한 문자열을 받아오는 변수
		String search = req.getParameter("search");
		String cPage = req.getParameter("cPage");
		ModelAndView mav = new ModelAndView();

		if (cPage == null)
			cPage = "1";

		// 검색창에 검색 keyword를 입력하면 session에 검색 keyword를 심음(다른 페이지 요청시 keyword값을 계속
		// 유지하기 위함)
		if (search != null) {
			req.getSession().setAttribute("search", search);
		}

		// 검색 kewyord가 session에 있으면(검색 keyword가 입력되고 다른 페이지가 요청되면) xml에 검색
		// keyword를 추가 하기 위해 encoding 함 : 한글 처리를 위한
		if (req.getSession().getAttribute("search") != null) {
			search = (String) req.getSession().getAttribute("search");
			keyword = "&keyword=" + URLEncoder.encode(search, "utf-8");
		}

		// 검색 keyword에 따른 공연 List를 가져오기 위한 메소드
		List<PerforListVO> perForList = showService.searchList(rows, cPage,
				keyword);

		page.setPageInit(Integer.parseInt(cPage),
				showService.getSearchCount(keyword), rows, pageBlock, path);
		pageCode = page.getSb().toString();

		mav.addObject("perForList", perForList);
		mav.addObject("pageCode", pageCode);
		mav.addObject("cPage", cPage);


		String pc="basic";
		if(req.getParameter("pc")!=null)
			pc = req.getParameter("pc");
		if (device.isMobile()) {
			logger.info("search  mobile");
			if(pc.equals("pc")){
				mav.setViewName("showList");
			}
			else{
				logger.info("isPCVersion");
				mav.setViewName("m.showList");
			}
		} else {
			logger.info("search  desktop");
			mav.setViewName("showList");
		//	mav.setViewName("m.discountList");
		}
		
		return mav;
	}