@RequestMapping(value = "/", method = RequestMethod.POST)
  public ModelAndView process(
      @Valid RecommenderForm recommenderForm,
      HttpServletRequest request,
      ModelAndView mav,
      BindingResult result)
      throws IOException, TasteException {
    if (result.hasErrors()) {
      mav.setViewName("/");
      return mav;
    }
    // 이웃은
    int neighborhoodCount = recommenderForm.getNeighborhoodCount();

    // 임계치
    double trainingPercentage = recommenderForm.getTrainingPercentage();

    // 파일로 데이터 모델 생성
    DataModel dataModel =
        new FileDataModel(
            new File(request.getSession().getServletContext().getRealPath("resources/ua.base")));

    mav.addObject("neighborhoodCount", neighborhoodCount);
    mav.addObject("trainingPercentage", trainingPercentage);

    // 각 알고리즘 별 평가치
    mav.addObject(
        "euclideanDistanceSimilarity",
        recommenderService.getRecommenderScore(
            dataModel,
            new EuclideanDistanceSimilarity(dataModel),
            neighborhoodCount,
            trainingPercentage));
    mav.addObject(
        "pearsonCorrelationSimilarity",
        recommenderService.getRecommenderScore(
            dataModel,
            new PearsonCorrelationSimilarity(dataModel),
            neighborhoodCount,
            trainingPercentage));
    mav.addObject(
        "logLikelihoodSimilarity",
        recommenderService.getRecommenderScore(
            dataModel,
            new LogLikelihoodSimilarity(dataModel),
            neighborhoodCount,
            trainingPercentage));
    mav.addObject(
        "tanimotoCoefficientSimilarity",
        recommenderService.getRecommenderScore(
            dataModel,
            new TanimotoCoefficientSimilarity(dataModel),
            neighborhoodCount,
            trainingPercentage));

    mav.setViewName("home");
    return mav;
  }
  /**
   * Simply selects the home view to render by returning its name.
   *
   * @throws IOException
   * @throws TasteException
   */
  @RequestMapping(value = "/", method = RequestMethod.GET)
  public ModelAndView home(HttpServletRequest request, ModelAndView mav)
      throws TasteException, IOException {

    RecommenderForm recommenderForm = new RecommenderForm();
    recommenderForm.setNeighborhoodCount(3);
    recommenderForm.setTrainingPercentage(0.95);

    mav.addObject("recommenderForm", recommenderForm);

    mav.setViewName("home");
    return mav;
  }