我正在开发一个HttpServlet,并尝试使用通配符定义url-pattern,但是没有找到太多相关的文档。
我想要捕获的路径是"resource/{id}/action"
我已经尝试使用以下注释:
@WebServlet("/resource/*/action")
但是这并不匹配,虽然更基本的“resource / *”可以正常工作。
此外,我是否有办法自动提取我的 {id} 通配符,而不必手动解析 URL?
我正在开发一个HttpServlet,并尝试使用通配符定义url-pattern,但是没有找到太多相关的文档。
我想要捕获的路径是"resource/{id}/action"
我已经尝试使用以下注释:
@WebServlet("/resource/*/action")
但是这并不匹配,虽然更基本的“resource / *”可以正常工作。
此外,我是否有办法自动提取我的 {id} 通配符,而不必手动解析 URL?
我认为你试图解决错误的任务。像这样在通配符上映射servlet是非常不寻常的决定。看一下Spring MVC框架,你可以编写像这样的方法
@RequestMapping("/owners/{ownerId}/pets/{petId}", method=RequestMethod.GET)
public String findPet(@PathVariable String ownerId, @PathVariable String petId, Model model) {
Owner owner = ownerService.findOwner(ownderId);
Pet pet = owner.getPet(petId);
model.addAttribute("pet", pet);
return "displayPet";
}
user/123/reports/r33
(换句话说,代表用户123提交的报告r33的页面),我应该将user/*
映射到某个servlet Parser
并在其中运行整个正则表达式解析器?听起来很复杂。 - CodyBugstein