GetMethod
HelloHttpClientGetMethodMain
■前提
http://localhost:8080/myweb/request.jsp に以下のようなJSPが置いてあるとする。
■JSP
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
your request is '<%= request.getParameter("q") %>'
</body>
</html>
■コード
package hello.org.apache.commons.httpclient;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.GetMethod;
public class HelloHttpClientGetMethodMain {
public static void main(String[] args) {
String url = "http://localhost:8080/myweb/request.jsp";
HttpClient client = new HttpClient(
new MultiThreadedHttpConnectionManager());
HttpMethod method = new GetMethod(url);
NameValuePair[] nameValuePairs = { new NameValuePair("q", "test") };
method.setQueryString(nameValuePairs);
try {
client.executeMethod(method);
byte[] responseBody = method.getResponseBody();
System.out.println(new String(responseBody));
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
client.getHttpConnectionManager().closeIdleConnections(0);
}
}
}
■結果
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
your request is 'test'
</body>
</html>