gpt4 book ai didi

java - 带有变量的 Servlet 映射(Tomcat 7.0)

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:42:20 26 4
gpt4 key购买 nike

是否可以将 URL 映射到 servlet(可能是 Tomcat 特定的东西),以便以下两个 URL({id} 是可从代码中检索的变量),

/users/{id}/a

/users/{id}/b

映射到两个不同的 servlet,还是我必须为映射到 /users/* 的 servlet 实现我自己的某种过滤器?

为了更清楚,任何具有 /users/*/a 模式的 URL 都应该映射到同一个 servlet。 /users/*/b 也是如此。

最佳答案

您可以将其映射到 /users/* 并从 HttpServletRequest#getPathInfo() 中提取信息:

@WebServlet("/users/*")
public class UsersController extends HttpServlet {

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String[] pathInfo = request.getPathInfo().split("/");
String id = pathInfo[1]; // {id}
String command = pathInfo[2]; // a or b
// ...
}

}

(省略了对数组大小的明显验证)

关于java - 带有变量的 Servlet 映射(Tomcat 7.0),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252442/

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