Nếu bạn đang ở trong một máy trợ giúp phía trước được ánh xạ trên mẫu tiền tố, thì bạn chỉ có thể sử dụng HttpServletRequest#getPathInfo()
.
String pathInfo = request.getPathInfo();
// ...
Giả sử rằng servlet trong ví dụ của bạn được ánh xạ /secure
, thì điều này sẽ trả về /users
, đó sẽ là thông tin quan tâm duy nhất bên trong một servlet điều khiển phía trước điển hình.
Tuy nhiên, nếu servlet được ánh xạ trên một mẫu hậu tố (tuy nhiên các ví dụ URL của bạn không chỉ ra rằng đây là trường hợp) hoặc khi bạn thực sự ở trong một bộ lọc (khi chưa thực hiện được một servlet được gọi getPathInfo()
có thể trả về null
), khi đó, cách tốt nhất của bạn là tự tạo chuỗi URI yêu cầu dựa trên độ dài của đường dẫn ngữ cảnh bằng String
phương thức thông thường :
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...