gpt4 book ai didi

servlets - servlet和路径参数如/xyz/{value}/test,如何在web.xml中映射?

转载 作者:行者123 更新时间:2023-12-03 08:54:02 24 4
gpt4 key购买 nike

servlet 是否支持 urls 如下:

/xyz/{value}/test

其中 value 可以替换为文本或数字。

如何在 web.xml 中映射它?

最佳答案

Servlet API 不支持使用 URL 模式通配符 *在映射的中间。它只允许通配符 *像这样映射到底/prefix/*或者像这样在映射的开始 *.suffix .
使用标准允许的 URL 模式语法,最好的办法是将其映射到 /xyz/*并使用 HttpServletRequest#getPathInfo() 提取路径信息.
所以,给定一个 <url-pattern>/xyz/*</url-pattern> ,这是一个基本的启动示例,如何提取路径信息,省略了空检查和数组索引越界检查:

String pathInfo = request.getPathInfo(); // /{value}/test
String[] pathParts = pathInfo.split("/");
String part1 = pathParts[1]; // {value}
String part2 = pathParts[2]; // test
// ...
如果你想要更细粒度的控制,比如使用 Apache HTTPD 的 mod_rewrite ,那么你可以看看 Tuckey's URL rewrite filterhomegrow your own URL rewrite filter .

关于servlets - servlet和路径参数如/xyz/{value}/test,如何在web.xml中映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8715474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com