powiedzmy Mam aplikacji wiosny MVC z poniższego wpisu web.xml:Uzyskiwanie adresu URL, który doprowadził do błędu (404) z kontrolera błędów widoku wiosną MVC
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
i po stronie kontrolera błędów :
@RequestMapping({"","/"})
@Controller
public class RootController {
@RequestMapping("error/{errorId}")
public String errorPage(@PathVariable Integer errorId, Model model) {
model.addAttribute("errorId",errorId);
return "root/error.tile";
}
}
teraz użytkownik o nieistniejącego adresu URL/user/pokazać/iamnotauser który wywołał kontrolera strona błędu. Jak uzyskać ten nieistniejący adres URL "/ user/show/iamnotauser" z metody ErrorPage() kontrolera RootController, aby umieścić go w modelu i wyświetlić na stronie błędu?
Jesteśmy na serwerze obsługującym Servlet API 3.0.x, ale używając 2.5 w specyfikacji w web.xml. Przy takim ustawieniu powyższe podejścia nie przyniosły niczego użytecznego, ale 'request.getAttribute (" javax.servlet.error.request_uri ");' zrobił trik –