我目前在 Java servlet 中使用前端控制器模式,并通过“action”GET 参数将请求重定向到适当的处理程序。因此,应用程序中的每个链接或进程都将使用适当的?action=x
查询字符串路由到前端控制器,然后前端控制器使用输出request.getParameter("action")
来加载和执行适当的处理程序。
如果 Web 应用程序上的所有 URL 中没有查询字符串,我该如何做到这一点?
这是大多数 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
类)以及操作(可选)。将必要信息的输入请求和响应对象传递给处理程序类。