我正在创建一个从客户端向服务器发送信息的android应用程序。我正在尝试将JSON对象从客户端发送到服务器端,但我不知道如何将其保存在服务器端,然后再将其发送回客户端。
我是Heroku服务器和java ee的新手,所以我不知道如何编写服务器端代码。
以下是客户端代码:
public class JsonHeroku {
public void executeGet()
{
new JsonAsyncTask().execute();
}
class JsonAsyncTask extends AsyncTask<Void, Void, String> {
protected void onPreExecute() {
}
@Override
protected String doInBackground(Void... params) {
try {
URL url;
URLConnection urlConn;
DataOutputStream printout;
DataInputStream input;
url = new URL ("https://shrouded-lake-7996.herokuapp.com/json");
urlConn = url.openConnection();
urlConn.setDoInput (true);
urlConn.setDoOutput (true);
urlConn.setUseCaches (false);
urlConn.setRequestProperty("Content-Type","application/json");
urlConn.setRequestProperty("Host", "android.schoolportal.gr");
urlConn.connect();
//Create JSONObject here
JSONObject jsonParam = new JSONObject();
jsonParam.put("ID", "25");
jsonParam.put("description", "Real");
jsonParam.put("enable", "true");
String str = jsonParam.toString();
byte[] data=str.getBytes("UTF-8");
// Send POST output.
printout = new DataOutputStream(urlConn.getOutputStream ());
printout.write(data);
printout.flush ();
printout.close ();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String content) {
System.out.println("DONE ----------------------------");
System.out.println(content);
}
}
}
现在我必须将它保存在Heroku服务器中:
public class Main {
public static void main(String[] args) {
port(Integer.valueOf(System.getenv("PORT")));
staticFileLocation("/public");
get("/parse", (req, res) -> {
// What do i write here?
return "Hey baby";
});
get("/", (request, response) -> {
Map<String, Object> attributes = new HashMap<>();
attributes.put("message", "Hello World!");
return new ModelAndView(attributes, "index.ftl");
}, new FreeMarkerEngine());
}
}
如果你能告诉我如何回应客户端会很棒。
谢谢。
答案 0 :(得分:2)
如果您需要在服务器上保存某些内容,则需要将其放在数据库中。这是关于Connecting to Relational Databases on Heroku with Java的文章。