Java 如何在没有获取参数的情况下管理请求

Java 如何在没有获取参数的情况下管理请求,java,servlets,Java,Servlets,我目前正在Javaservlet中使用前端控制器模式,并通过“action”GET参数将请求重定向到适当的处理程序。因此,应用程序中的每个链接或进程都将使用适当的?action=x查询字符串路由到前端控制器,然后前端控制器使用request.getParameter(“action”)的输出来加载和执行适当的处理程序 如何在web应用程序上的所有URL中都没有查询字符串的情况下执行此操作?以下是大多数HTTP服务框架使用的一般方法。 您可以使用两件事来决定处理程序映射: 实体的参考URL,即附加

我目前正在Javaservlet中使用前端控制器模式,并通过“action”GET参数将请求重定向到适当的处理程序。因此,应用程序中的每个链接或进程都将使用适当的
?action=x
查询字符串路由到前端控制器,然后前端控制器使用
request.getParameter(“action”)
的输出来加载和执行适当的处理程序


如何在web应用程序上的所有URL中都没有查询字符串的情况下执行此操作?

以下是大多数HTTP服务框架使用的一般方法。 您可以使用两件事来决定处理程序映射:

  • 实体的参考URL,即附加到应用程序的基本URL的URL部分
  • Http方法,如果希望为不同的Http操作使用不同的处理程序
  • 例如,您有这个URL

    这里的基本URL部分是:

    实体引用URL部分为:myentity

    还可以将操作映射到HTTP方法:GET(GET)、POST(create)、DELETE(remove)、PUT(update)


    因此,您应该将refURL
    myentity
    映射到一些处理程序,如
    MyEntityHandler
    类以及操作(可选)。将输入请求和响应对象的必要信息传递给处理程序类。

    您需要解析URL并根据该信息决定要执行的操作。如果要隐藏参数,可以使用request.getRequestDispatcher(urlWithParams).forward(请求,响应);因此,您的参数将隐藏在url中,但它们无论如何都会存在)