私が作成するJava EE Webサービスに接続する必要があるAndroid/Javaアプリケーションを作成しようとしています。私はそれをStringに渡し、アクションを呼び出し、その文字列に基づいてdtabaseをスキャンし、java/androidアプリケーションに別の文字列を返す必要があります。JavaからJava EE Webアプリケーションに文字列を渡して文字列を返す
私はこれまで、文字列をJSPページに送信して文字列を返すことができました。私は文字列をアクションにルーティングする方法を知る必要があるので、WebアプリケーションでDBクエリなどを実行できます。以下は私がこれまで持っていたものです。
JSP
java.util.Enumeration e = request.getParameterNames();
while (e.hasMoreElements())
{
String pName = (String)e.nextElement();
String pValue = request.getParameter(pName);
String theURL = "index.do"+ "?Parameter1=" + pValue;
//theURL = response.encodeRedirectURL(theURL);
//response.sendRedirect(theURL);
%>
Value :<%=theURL%><%
break;
}
Javaクラス 輸入java.net。 ; import java.util。; import java.io. *;
/** * HTTPでのPOSTメソッドの例。
*/ パブリッククラスメイン {
public static void main (String[] args) throws Exception
{
// Populate the hashtable with key value pairs of
// the parameter name and
// value. In this case, we only have the parameter
// named "CONTENT" and the
// value of CONTENT will be "HELLO JSP !"
Hashtable h = new Hashtable();
h.put("CONTENT", "I like stuff");
h.put("ONEMORECONTENT", "HELLO POST !");
// POST it !
String output = POST("xxxxxxxxxxx.jsp",
h);
System.out.println(output);
}
/**
* The POST method. Accepts 2 parameters
* @param targetURL : The URL to POST to.
* @param contentHash : The hashtable of the paramters to be posted.
*
* @return The String returned as a result of POSTing.
*/
public static String POST(String targetURL, Hashtable contentHash) throws Exception
{
URL url;
URLConnection conn;
// The data streams used to read from and write to the URL connection.
DataOutputStream out;
DataInputStream in;
// String returned as the result of the POST.
String returnString = "";
// Create the URL object and make a connection to it.
url = new URL (targetURL);
conn = url.openConnection();
// Set connection parameters. We need to perform input and output,
// so set both as true.
conn.setDoInput (true);
conn.setDoOutput (true);
// Disable use of caches.
conn.setUseCaches (false);
// Set the content type we are POSTing. We impersonate it as
// encoded form data
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// get the output stream to POST to.
out = new DataOutputStream (conn.getOutputStream());
String content = "";
// Create a single String value to be POSTED from the parameters passed
// to us. This is done by making "name"="value" pairs for all the keys
// in the Hashtable passed to us.
Enumeration e = contentHash.keys();
boolean first = true;
while(e.hasMoreElements())
{
// For each key and value pair in the hashtable
Object key = e.nextElement();
Object value = contentHash.get(key);
// If this is not the first key-value pair in the hashtable,
// concantenate an "&" sign to the constructed String
if(!first)
content += "&";
// append to a single string. Encode the value portion
content += (String)key + "=" + URLEncoder.encode((String)value);
first = false;
}
// Write out the bytes of the content string to the stream.
out.writeBytes (content);
out.flush();
out.close();
// Read input from the input stream.
in = new DataInputStream (conn.getInputStream());
String str;
while (null != ((str = in.readLine())))
{
returnString += str + "\n";
}
in.close();
// return the string that was read.
return returnString;
}
}
出力: 値:?index.doパラメータ1は=私は事前に
おかげものが好き!