我目前正在开发一个 Spring MVC 应用程序,当我在 web.xml 文件中将所有传入 URL 映射到单个 DispatcherServlet 时,我想知道是否可以检索已有效映射的 URI。这是一个例子来说明我的担忧:
import static org.springframework.web.bind.annotation.RequestMethod.*;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping(method={GET})
public String processAllRequest(){
return "viewName";
}
}
由于我在 web.xml 中将 URL-MAPPING 定义为“/*”,所有传入的请求都将在我的控制器类中结束,如上所示。例如,以下两个请求都将由我的控制器中的 processAllRequest() 方法处理。
- 我的应用程序上下文/主页
- myApplicationContext/注销
是否有可能以某种方式检索映射的 URI?也就是说,一旦我进入 processAllRequest(),我怎么知道它是被调用为 .../home 还是 .../logout?是否可以通过注入 HttpServletRequest 或另一个对象作为方法的参数来检索这种信息?