如何使用java获取http参数?

时间:2011-03-09 12:20:53

标签: java solr

我有一个solr查询“http:// localhost:8080 / solr / select /?q = A”。我需要在我的java代码中读取参数“q”。我怎么能得到这个? / p>

谢谢, 元帅

3 个答案:

答案 0 :(得分:7)

request.getParameter("q");可以解决问题。

答案 1 :(得分:1)

如果您有URL表单中的查询,则可以使用URL.getQuery(),然后必须在=&拆分字符串以找到正确的元素,如下所示:

public String getQueryPart(URL url, String key) {
    String query = url.getQuery();
    if(query == null)
       return null;
    String[] parts = query.split("[&=]");
    for(int i = 0; i < parts.length; i+=2) {
       if(parts[i].equals(key)) {
          return parts[i+1];
       }
    }
}

如果要查询多个参数,最好将拆分字符串一次存储在地图中并多次查询。

当然,如果你在servlet或类似的服务器端代码中使用它,这个精确的URL调用,有更好的方法来获取servlet API中的参数(如Deepak所写)。

答案 2 :(得分:0)

取决于你的情况。
你想从哪里获得这个参数?你是如何准确使用Solr的?

BTW,/select只是用于将请求映射到主Solr servlet的URL的一部分(等待它......)SolrServlet - org.apache.solr.servlet.SolrServlet(从v4弃用) ,现在使用solr.StandardRequestHandler,这是因为它处理搜索请求,有时也称为Solr Server。