Я размещаю http веб-сервер в Java (просто localhost), чтобы показать автономный веб-сайт (обычный html). Чтобы отправить данные обратно в Java, кнопка сохранения выполняет вызов с данными записи / формы, используя ajax.
Я использую com.sun.net.httpserver.HttpServer;
и хотел бы просто иметь возможность получить строку xml в обработчике.
Я пробовал несколько картографических функций, и примеры можно найти в Интернете. никто не помог. Пока что все они нашли пустые результаты.
Моя цель - просто выбрать переменную xml, другие переменные не имеют значения. (итеративный поиск / парсер не требуется)
спасибо заранее!
Erik
Javascript код:
<script type ="text/javascript">
function saveFile() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
alert(this.responseText);
}
};
xhttp.open("POST", "/", true);
//xhttp.setRequestHeader("Accept", "text");
xhttp.setRequestHeader("content-type", "multipart/form-data");
formData.append('xml', '<xml>some xml thing here</xml>');
xhttp.send(formData);
}
</script>
java handler code:
private static void handleRequest(HttpExchange exchange) throws IOException {
String root = "TestPlanDesigner";
URI uri = exchange.getRequestURI();
//System.out.println(uri);
//printRequestInfo(exchange);
//if its the root, this means its posting the data
if(uri.getPath().equals("/"))
{
if(exchange.getRequestMethod().equals("POST"))
{
//handle the post request.
String response = "File saved successfully";
exchange.sendResponseHeaders(200, response.getBytes().length);
OutputStream os = exchange.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
Одна строка для выбора данных формы xml в Java внутри обработчика.