Estoy convirtiendo una aplicación de servlet heredada en Spring 3.1. En el proceso, algunas URL ahora están obsoletas. Hemos tenido algunos problemas con nuestra red que no se resolverán pronto. Mi jefe no quiere confiar en que sus redireccionamientos siempre estarán operativos. Entonces, ella me pidió que pusiera mis propios redireccionamientos en la aplicación web.Spring-MVC 3.1: ¿Cómo correlacionar las URL con una barra diagonal?
Todo funciona a la perfección, excepto que si una URL tiene una barra inclinada posterior, Spring 3.1 no encontrará la función de clase de controlador que la maneja.
http://blah.blah.blah/acme/makedonation consigue encontrar, mapeado y manipulados
http://blah.blah.blah/acme/makedonation/no
Aquí está la clase del controlador que estoy usando para manejar mis URL heredadas
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
busqué en Google y encontré este Stack Overflow post que ofrece varias sugerencias, pero soy nuevo en Spring y no entiendo lo suficiente como para implementar algunas de esas sugerencias. ns. Este en particular suena como sería buen ajuste con mis necesidades:
primavera 3,1 RequestMappingHandlerMapping le permite establecer una propiedad "useTrailingSlashMatch". Por defecto es verdad. Creo cambiar a false resolvería el problema,
¿Podría alguien darme un ejemplo básico de cómo eso, me cita una dirección URL que tiene un ejemplo (que no tenía suerte con Google) o yo señalo a una mejor idea?
Gracias mucho por adelantado Steve
I' vi esa solución '@RequestMapping (value = {"/search/","/search "}, method = RequestMethod.GET)' – basil