我目前正在 Java servlet 中使用前端 Controller 模式,并通过“action”GET 参数将请求重定向到适当的处理程序。因此,应用程序中的每个链接或进程都将使用适当的 ?action=x
查询字符串路由到前端 Controller ,然后前端 Controller 使用 request.getParameter("action"的输出)
加载并执行适当的处理程序。
如何在网络应用程序上的所有 URL 中不包含查询字符串的情况下执行此操作?
最佳答案
这是大多数 HTTP 服务框架使用的通用方法。 您可以使用两件事来决定处理程序映射:
- 实体的引用 URL,即附加到应用程序基本 URL 的 URL 部分
- Http 方法,如果您希望为不同的 HTTP 操作使用不同的处理程序
例如,您有这个网址
http://mydomain.com/myapplication/myentity
这里的基本 URL 部分是:http://mydomain.com/myapplication/
实体引用 URL 部分是:myentity
操作也可以映射到 HTTP 方法:GET(get)、POST(create)、DELETE(remove)、PUT(update)
因此,您应该将 refURL myentity
映射到某些处理程序,例如 MyEntityHandler
类以及操作(可选)。将必要信息的输入请求和响应对象传递给处理程序类。
关于java - 如何在没有get参数的情况下管理请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799034/