【发布时间】:2014-02-10 18:06:16
【问题描述】:
在 Java 中,我希望能够解析 URL 以将其分解为文件名和 QUERY_STRING。
到目前为止,我有以下代码:
if (line != null && !line.trim().equals("")) {
StringTokenizer st = new StringTokenizer(line);
if (st.nextToken().equals("GET") && st.hasMoreTokens()) {
filename = st.nextToken();
if (filename.startsWith("/")) {
filename = filename.substring(1);
if (st.nextToken().equals(".cgi?") && st.hasMoreTokens()) {
queryString = st.nextToken();
}
}
}
}
我特别想做的是将 URL 分解为一个文件名和一个 QUERY_STRING,因为我可以调用 exec 来使用正确的环境变量运行我的 cgi 文件。但是,我的解决方案不会在到达文件名后面的问号之前终止文件名。有人可以帮我吗?
编辑:基本上,我想从 HTTP 请求中获取 URL,并从 URL 中获取文件名和 QUERY_STRING。
【问题讨论】:
-
也许您可以重用一些来自 java servlet 的代码。他们还必须从 GET 解析参数(或者您甚至可以使用 java servlet)
-
一开始为什么不想使用基于 Servlet 的解决方案?
标签: java parsing cgi query-string filenames