gpt4 book ai didi

java - Java Web 应用程序中的动态 URL(如在 Rails 中)

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

我是一名使用 Java 编写 Web 应用程序的 Ruby on Rails 开发人员。我正在尝试实现类似于 Rails 中实现的东西。在 Rails 中,当用户是模型且 1 是特定用户的 ID 时,可以使用 localhost:8000\Users\1 调用链接。我想在 Java 中得到同样的东西。

我在 MVC 类型的设计中工作,我的 JSP 页面是 View ,我的 Servlet 是 Controller 。我创建了一个名为 Users 的 servlet,它呈现 users.jsp 页面,现在我可以使用 URL localhost:8000\projectName\Users 访问该页面>,我想将 localhost:8000\projectName\Users\1 路由到页面 user.jsp,同时适当的 Servlet 将处理将正确的用户发送到页面( id=1)。

知道如何实现吗?

我在一个大学项目中这样做,不允许使用任何框架。我也宁愿我可以编码而不是安装。

最佳答案

now i can get to that page using the URL localhost:8000\projectName\Users, i would like to route localhost:8000\projectName\Users\1 to the page user.jsp while the appropriate Servlet will handle sending into the page the correct user (with id=1).

简单。将 servlet 映射到 /Users/* 而不是 /Users 的 URL 模式。然后,您可以获取路径信息(URL 中的 after /Users 部分,因此在您的示例中为 /1 ),如下所示:

String pathInfo = request.getPathInfo();
// ...

您可以按照通常的方式转发到 users.jsp

Long id = Long.valueOf(pathInfo.substring(1));
User user = userService.find(id);
request.setAttribute("user", user);
request.getRequestDispatcher("/WEB-INF/users.jsp").forward(request, response);

关于java - Java Web 应用程序中的动态 URL(如在 Rails 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6678029/

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