Java在没有HttpServletRequest的情况下在spring服务中获取上下文url

时间:2017-06-21 12:36:28

标签: java spring

在我的春季网络服务中,我试图获取我的应用程序的网址,例如" http://localhost:8080/mycontext"。 我的服务不包含任何HttpServletRequest var,所以我可以得到它吗?

1 个答案:

答案 0 :(得分:7)

您可以通过RequestContextHolder获取当前请求,如:

ServletRequestAttributes sra = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
HttpServletRequest req = sra.getRequest();     
req.getContextPath();
req.getPathInfo();

或者您可以通过Spring将其注入您的服务:

private @Autowired HttpServletRequest request;