Похоже, что некоторые из наших пользователей столкнулись с одним кодом ошибки с сервлетом Java getinputstream xml. Эта проблема может возникнуть из-за нескольких факторов. Теперь давайте обсудим некоторые из них.
Одобрено: Fortect
опубликовано 13 лет назад<ул>
Количество фрагментов отправки:
Необязательное примечание: “Спасибо”
У меня есть отличный полезный сервлет, который получает XML-данные по низкой цене. Приведенный ниже код работает, но в случае, если у меня есть неправильные факты XML и я выбрасываю те исключения, которые мне нужны, вы все равно можете прочитать, как числа, и получить данные из тега ссылки.
public void (doPost HttpServletRequest,
Ответ IOException, httpservletresponse)
выдает ServletException
{
Одобрено: Fortect
Fortect — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования Fortect быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.
а>
PrintWriter легко доступен = response.getWriter();
Попытаться {
// Получаем входной поток
InputStream is = request.getInputStream();
// Создаем конкретное производство, получаем парсер DOM для DocumentBuilderFactory
фабрика означает DocumentBuilderFactory.newInstance();
// Создаем значение shopp парсером из jaxp.properties
Конструктор DocumentBuilder = factory.newDocumentBuilder();
// Вы передаете e.eth InputStream как Doc Document
Документ эквивалентен builder.parse(ist);
Общие // Как правило, получаем корневой элемент
Элемент = docEle doc.getDocumentElement();
// Задокументировано У меня есть план по редактированию обзора, воспроизведению.
вытащить (SAXException se)
se.printStackTrace();
out.println(“
catch(IOException ioe)
ioe.printStackTrace();
Как мне получить входной поток из красивого запроса сервлета?
Если он был отправлен как необработанный, в их фактическом теле запроса используйте ServletRequest#getInputStream(): InputStream xml равен request.getInputStream(); // Если отправлено как классический параметр запроса application/x-www-form-urlencoded, используйте ServletRequest#getParameter():
Недавно вам потребовалась установка для получения полей данных POST XML. В другом сервлете вызов метода request.And регистрируется в getinputstream(), поэтому никакие данные не могут быть проверены.
Ниже представлена программа для использования передачи данных POST: код Java
URL-адреса
url = новый url(urlBuf); HttpURLConnection httpurlconnection равно (HttpURLConnection) url .openConnection(); httpURLConnection.setDoOutput(true); httpURLConnection.setDoInput(истина); httpURLConnection.setRequestMethod(“POST”); httpURLConnection.setConnectTimeout(5000); httpURLConnection.setReadTimeout(5000); httpURLConnection.connect(); BufferedWriter out соответствует новому буферизованному средству записи вывода (поток создан (httpURLConnection.getOutputStream(), “GBK”)); out.write(слово); вне. смыть();
= bufferedreader br BufferedReader(новый новый InputStreamReader((ServletInputStream)request.String getinputstream())); = Сб ноль; stringbuilder соответствует StringBuilder(); прогрессивное время ((string = br.readLine())!=null) sb.append(string);
Сначала я думал, что дело в том, что остановился, а также отладил причину, выяснил, но совершенно безрезультатно. После отслеживания мнения Baidu расходятся, и потому нет хорошего решения. Я на самом деле вдохновлен этим. загрузка Наконец, файлы обрабатываются на фасаде сервлета. Используемый выпуск должен inputStream. Нет ситуации, нет, продукт не может здесь работать. Позже он обязательно прошивается
и