Я полный новичок в веб-программировании. Я создал приложение с Eclipse Java EE и сервером Tomcat, работающим в localhost.Отправлять данные в ответ doPost()?
Целью приложения является получение информации от клиента и отправка другой информации.
Я разработал сервлет и реализую метод doPost(), который отлично работает. Я получаю информацию, которую я сохранил в bean-компоненте с именем USSDPull и записываю в текстовый файл с именем log.txt.
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
USSDPull ussdpull = new USSDPull();
ussdpull.setUssdstring(request.getParameter("ussdstring"));
ussdpull.setSessionid(Integer.parseInt(request.getParameter("sessionid")));
ussdpull.setMsisdn(request.getParameter("msisdn"));
ussdpull.setUssdcode(request.getParameter("ussdcode"));
ussdpull.setEncoding(Integer.parseInt(request.getParameter("encoding")));
response.setContentType("text/text");
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.flush();
out.println("POST received : " + ussdpull.getUssdstring()+" "+ussdpull.getSessionid()+" "+ussdpull.getMsisdn()+" "+ussdpull.getUssdcode()+" "+ussdpull.getEncoding());
//WRITE IN FILE
FileWriter fw = new FileWriter("D:/Users/Username/Documents/log.txt", true);
BufferedWriter output = new BufferedWriter(fw);
output.write(dateFormat.format(date)+";"+ussdpull.getUssdstring()+";"+ussdpull.getSessionid()+";"+ussdpull.getMsisdn()+";"+ussdpull.getUssdcode()+";"+ussdpull.getEncoding()+"\n");
output.flush();
output.close();
}
Мне нужен сервлет, чтобы отправить обратно 2 конкретных булина и 1 строку клиенту. Я не знаю, как это сделать. Можно ли использовать HttpServletResponse для отправки данных? Или мне нужно найти способ «вызвать» метод doGet()?
Вы уже отправили данные в свой пример кода («POST received» и т. Д.). Какова ваша проблема? – Kayaman
Я написал это только для проверки данных. Println() достаточно, чтобы действительно отправлять данные? Я думал, что это только для отображения информации в командной строке, поскольку я использовал завиток для имитации взаимодействия. Basicaly, данные поступали с устройства. Затем данные поступают в службу, и они повторно отправляются в мое приложение. Мне нужно отправить данные с сервера, чтобы сообщить службе, если я получил необходимую информацию. – Oxydroid
Ну, вы отправляете обратно персональные данные, получая автоответчик и печатайте на нем. Curl просто отображает полученный ответ, если вы запустили его в браузере, вы увидите его как текст. Теперь вам решать, как вы хотите отправить свои данные. Как текстовое представление (возможно, даже JSON) или как двоичные данные (хотя с количеством данных, которые вы отправляете, очень мало). – Kayaman