Me gustaría encontrar la URL absoluta de la aplicación web en Spring, desde el Controlador. Conozco JSTL c: url, pero necesito esta información desde el interior del controlador.¿Cómo encontrar la URL base de la aplicación web actual en Spring?
@Controller
public class AuthorizeController {
@Autowired
private Authorizer auth;
@RequestMapping("/auth")
public String sendToAuthorization() {
String baseUrl = "http://localhost:8080/tasks/";
return "redirect:" + auth.getAuthorizationUrl(baseUrl);
}
}
Como se puede ver el baseUrl es codificado, y yo podría proporcionar a la clase Authorizer a través de la configuración de la primavera, pero estoy seguro de que es posible obtener esta información de la primavera en el controlador. Intenté googlear "spring mvc url" y no pude encontrar una manera de resolver este problema.
entiendo y que podría tener mod_jk, reescritura de URL y el servlet no sería consciente de ello. También leyendo la otra pregunta que ha vinculado, creo que mi mejor opción es inyectar esta URL base en el bean con la configuración XML de primavera. Gracias. – stivlo