【问题标题】:Get more servlet request variables using wildcards [duplicate]使用通配符获取更多 servlet 请求变量 [重复]
【发布时间】:2015-12-14 10:27:59
【问题描述】:

对不起,我来自 PHP 网络世界。

我习惯于在 Laravel 等框架中使用路由器来发送到控制器并获取参数。我知道如何通过使用web.xml servlet-mapping 和使用* 通配符来使用servlet 获取getpost 参数,但我不熟悉如何通过HttpServletRequest 变量传递这些url 通配符通过doGetdoPost

有什么地方可以获取这些 url 的通配符,例如,如果 url 是用户名或我不想硬编码到 web.xml 中的特定页面?我确定有。

我想知道我可以在 PHP 的 $_SERVER 变量中获得什么,以读取有关传入请求的数据。还需要饼干之类的东西。有人可以给我一个关于 Java Servlets 的快速指针吗?

编辑:

或者也许我应该将变量粘贴到变量所属的位置,而不是用假变量制作“页面”。我也对这个想法持开放态度。

我的主要问题是,在从 web.xml 路由之后,我不知道如何在 doGetdoPost 中获取 url 通配符,所以我想知道如何或被告知这是一件愚蠢的事情做和根本不做。

【问题讨论】:

    标签: java servlets


    【解决方案1】:

    查看Spring MVC。使用 Spring 控制器,您可以执行 URL 路径,例如

    @RequestMapping("/fixed/{id}/{user}")
    public String getSomeData(@PathVariable("id") String id, @PathVariable("user") String user) {
    ...
    }
    

    甚至

    @RequestMapping("/{id}/**")
    public void doSomething(@PathVariable("id") int id, HttpServletRequest request) {
    String remainingUrl = (String) request.getAttribute(
        HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE);
    ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 2013-04-06
      • 1970-01-01
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      相关资源
      最近更新 更多