Quiero asignar el controlador spring mvc a la ruta raíz (/**
) (y no a la subcarpeta como "/ algo") al hacer excepciones con mvc:resources
(abierto a otro método) .sitio web mvc de primavera en la raíz ("/")
Este debería ser el ABC de ese marco, pero aparentemente es algo muy complicado para pedirlo.
Mis app-servlet.xml
tiene estas excepciones mapeo de obvios:
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />
<mvc:resources mapping="/robots.txt" location="/robots.txt" />
Y tiene este controlador:
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/**")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
public String service(final HttpServletRequest request) {
final String servlet_path = request.getServletPath();
System.out.println(String.format("%s %s", new Date().toString(), servlet_path));
return "test";
}
}
Ahora cuando me golpeó "/" o "/ test" o "/ test/página "Obtengo resultados como:
Fri Aug 03 00:22:12 IDT 2012/
Fri Aug 03 00:22:13 IDT 2012 /favicon.ico
.. ¿ves? service()
se llama para /favicon.ico
, incluso cuando está explícitamente excluido!
Ahora supongo que hay alguna "prioridad" en el @Controller
sobre el XML, aún así, ¿cómo hago que la exclusión funcione?
Un requisito simple: tener el sitio web en "/".
P.S This answer responde a una pregunta muy similar.
Otra nota: Esta pregunta no es sobre el contexto de tomcat.
Su solución se refiere a una sola dirección URL ("/" -> "casa"). Necesito que sea un comodín. Si pudieras elaborar generosamente sobre CÓMO ELEVAR la prioridad de 'mvc: resources' sobre' @ RequestMapping', eso supondría, supongo, que lo resolvería. ¡Gracias! – Poni
Agregó una actualización –
Trabajando - gracias Biju! – Poni