servlet如何获取路径参数
时间: 2024-12-18 09:23:50 浏览: 6
在Servlet中,路径参数通常用于URL映射中,它们是以`?`符号之后的一对等号`=`开始的键值对形式传递的。要获取这些路径参数,你需要使用HttpServletRequest对象的getQueryString()方法,然后解析返回的字符串。
下面是一个简单的例子:
```java
import javax.servlet.http.HttpServletRequest;
public void doGet(HttpServletRequest request) throws ServletException, IOException {
String path = request.getRequestURI(); // 获取完整的请求URL
String[] params = path.split("\\?")[1].split("&"); // 分割查询字符串并获取参数
for (String param : params) {
String key = param.split("=")[0]; // 提取参数名
String value = decodeURIComponent(param.split("=")[1]); // 解码参数值
System.out.println("Key: " + key + ", Value: " + value);
}
}
// 自定义解码函数(这里假设使用的是URLdecode)
private String decodeURIComponent(String encoded) {
return java.net.URLDecoder.decode(encoded, "UTF-8");
}
```
在这个例子中,首先获取整个请求URI,然后通过问号分割成两部分,其中第二部分就是查询字符串。接着,我们再次分割查询字符串,每个键值对就分成了两个数组元素。最后,我们逐个提取键和值,并对值进行解码。
阅读全文