Как я могу отправить пользователя на страницу .html в сервлете, если результат ответа JSON равен 0/11 - PullRequest
0 голосов
/ 13 января 2019

Допустим, пользователь заходит на мой сайт с правильными учетными данными, что приводит к

{"ticketStatus":"Valid","requestId":"73","result":0,"resultText":"Valid"}

{"ticketStatus":"Invalid","requestId":"8","result":11,"resultText":"Invalid"}

Как я могу сделать так, чтобы я мог получить "valid / invalid" или "0/11", чтобы он отправлял пользователя в valid.html / invalid.html (который содержит информацию о том, что вы успешно / неудачно вошли в систему) , То же самое касается, если это "неверно" или "11" (любой, зависит от того, что я могу назначить). Я просто не знаю, как или что я должен выбрать, чтобы поместить его в оператор if. Вот мой код.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    //index.html form user input
     String fname = request.getParameter("firstName");
    String lastName = request.getParameter("lname");
    String ticketNummer = request.getParameter("ticketnr");

    JsonParser parser = new JsonParser();

    URL object=new URL(url);

    String ticketCheck = "{\"function\":\"Check\",\"teamId\":\"IC106-2\",\"teamKey\":\"1b3741ccf6d9ec5245055370125d901e\",\"requestId\":\""+REQ_ID+"\",\"firstName\":\""+fname+"\",\"lastName\":\""+lastName+"\",\"ticketNumber\":\""+ticketNummer+"\"}";

    System.out.println(ticketCheck);

    HttpURLConnection con = (HttpURLConnection) object.openConnection();
    con.setDoOutput(true);
    con.setDoInput(true);
    con.setRequestProperty("Content-Type", "application/json");
    con.setRequestProperty("Accept", "application/json");
    con.setRequestMethod("POST");

    OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());
    writer.write(ticketCheck);
    writer.flush();

    StringBuilder sb = new StringBuilder();
    String jsonResponseString = sb.toString();
    JsonElement jsonTree = parser.parse(jsonResponseString);

    int HttpResult = con.getResponseCode();
    if (HttpResult == HttpURLConnection.HTTP_OK) {
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
        String line;
        while ((line = br.readLine()) != null) {
            sb.append(line + "\n");
        }
        br.close();
        System.out.println("" + sb.toString());
    } else {
        System.out.println(con.getResponseMessage());
    }







}

1 Ответ

0 голосов
/ 14 января 2019

Вопрос решается парсингом ответа.

int HttpResult = con.getResponseCode();
    if (HttpResult == HttpURLConnection.HTTP_OK) {
        BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "utf-8"));
        String line;
        while ((line = br.readLine()) != null) {
            sb.append(line + "\n");
        }
        br.close();
        System.out.println("" + sb.toString()); //the responsemessage
    } else {
        System.out.println(con.getResponseMessage());
    }


    String jsonStr = sb.toString();
    JSONObject jsonObj = new JSONObject(jsonStr);
    String ticketstat = jsonObj.getString("ticketStatus"); //get ticketStatus value
    System.out.println(ticketstat);

    if (ticketstat .equals("Invalid")){ //code here for w/e you want to do with invalid


    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...