Spring -MVC 3.1 :Как сопоставить URL-адреса с завершающей косой чертой?

Я конвертирую устаревшее приложение сервлета в Spring 3.1. В процессе некоторые URL-адреса устарели. У нас были некоторые проблемы с нашей сетью, которые не будут решены в ближайшее время. Мой босс не хочет верить, что их перенаправления всегда будут работать. Итак, она попросила меня добавить мои собственные перенаправления в веб-приложение.

Все отлично работает, за исключением того, что если URL-адрес имеет завершающую косую черту, Spring 3.1 не найдет функцию класса Controller, которая ее обрабатывает.

http://blah.blah.blah/acme/makedonationнаходят, сопоставляют и обрабатывают

http://blah.blah.blah/acme/makedonation/ нет

Вот класс контроллера, который я использую для обработки своих устаревших URL-адресов

import org.springframework.stereotype.Controller;
import org.springframework.validation.*;
import org.springframework.ui.ModelMap;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.SessionAttributes;


import org.apache.log4j.Logger;

@Controller
public class LegacyServletController {

    private static final Logger logger = Logger.getLogger(LegacyServletController.class);

    // Redirect these legacy screns "home", the login screen via the logout process
    @RequestMapping({"makeadonation","contact","complain"})
    public String home() {
        logger.debug("started...");
        return "redirect:logout";

    }// end home()  

}// end class LegacyServletController

Я погуглил и нашел этот пост Stack Overflow , который предлагает несколько предложений,но я новичок в Spring и недостаточно понимаю его, чтобы реализовать некоторые из этих предложений. Этот, в частности, звучит так, как будто он хорошо подходит для моих нужд:

spring 3.1 RequestMappingHandlerMapping allows you to set a "useTrailingSlashMatch" property. By default it is true. I think switching it to false would solve your issue,

Может ли кто-нибудь дать мне базовый пример того, как это сделать, указать мне URL-адрес с таким примером (Мне не повезло с Google )или указать мне лучшую идею?

Большое спасибо заранее Стив

6
задан Community 23 May 2017 в 12:25
поделиться