我正在研究 HttpServlet 并尝试使用通配符定义 url 模式,但没有找到太多文档。
我要捕获的路径是“resource/{id}/action”
我试过我的注释为:
@WebServlet("/resource/*/action")
但这不匹配,尽管更基本的“资源/*”可以正常工作。
另外,有什么方法可以自动提取我的 {id} 通配符,而不必手动解析 url?
我正在研究 HttpServlet 并尝试使用通配符定义 url 模式,但没有找到太多文档。
我要捕获的路径是“resource/{id}/action”
我试过我的注释为:
@WebServlet("/resource/*/action")
但这不匹配,尽管更基本的“资源/*”可以正常工作。
另外,有什么方法可以自动提取我的 {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";
}