Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从url中提取命名参数?_Java_Jakarta Ee_Servlets_Glassfish_Ejb - Fatal编程技术网

Java 如何从url中提取命名参数?

Java 如何从url中提取命名参数?,java,jakarta-ee,servlets,glassfish,ejb,Java,Jakarta Ee,Servlets,Glassfish,Ejb,我是JavaEE环境的新手。我想知道如何从servlet中的请求url提取命名参数 例如,我有一个url模式products/show/:id。如何从请求的url中提取id的值 在谷歌上做了一些研究之后,我了解了@PathParam注释。然而,它似乎只适用于RESTful Web应用程序。我需要一些通用的或适合于简单servlet的工具。您可以尝试以下方法: 字符串pathWithValue=request.getPathInfo(); String value=pathWithValue.su

我是JavaEE环境的新手。我想知道如何从servlet中的请求url提取命名参数

例如,我有一个url模式
products/show/:id
。如何从请求的url中提取
id
的值


在谷歌上做了一些研究之后,我了解了
@PathParam
注释。然而,它似乎只适用于RESTful Web应用程序。我需要一些通用的或适合于简单servlet的工具。

您可以尝试以下方法:

字符串pathWithValue=request.getPathInfo(); String value=pathWithValue.subString(pathWithValue.indexOf(“products/show/”.length())

getPathInfo自动进行URL解码,并且不包含查询字符串!
考虑GETPAITENFO值取决于Web.xML:F.E/*

< P>中的servlet映射配置,如果您有一个HTTPServlet请求对象要处理,尝试将其放入代码:

Enumeration<String> e = request.getParameterNames();
while (e.hasMoreElements()) {
    String param = e.nextElement();
    System.out.println(param + ": " + request.getParameter(param));
}
枚举e=request.getParameterNames();
而(e.hasMoreElements()){
String param=e.nextElement();
System.out.println(param+”:“+request.getParameter(param));
}

这将遍历所有可用的表单或对象,您可以通过使用request.getParameter(id)获得值(它将根据单击的按钮、字段处于活动状态等而变化)。

如果您使用的是基本servlet,我认为您需要解析自己的结果。