Если вы видите ошибку ответа Java Servlet Return XML на вашем текущем компьютере, вот несколько советов по ее устранению.
Рекомендуется
Вернуть ответ XML в сервлете
В этом примере приложения мы покажем вам, как использовать ответ XML в новом приложении сервлета. Этот пример был протестирован в конкретном приложении и поэтому размещен на той же странице.
Структура проекта
Класс сервлета (ProductService.java)
<для>Пакет Com.dineshkrish.service;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;товары ком.динешкриш.поджо.импорт;импортировать com.dineshkrish.util.XMLConverter;/ ** @Author Динеш Кришнан * * /Открытый класс ProductService выполняет упражнения HttpServletpublic void doGet (HttpServletRequest, HttpServletResponse)выбрасывает ServletException, IOException// Определяем объект PrintWriterPrintWriter out = response.getWriter ();// Определяем тип ответаresponse.setContentType (“приложение / xml”);// Создаем объект продуктаПроизведенный продукт означает новейший продукт ();// определяем атрибутыproduct.setProductCode (10001);product.setProductName (“боль”);product.setProductDescription («Свежий хлеб»);// Преобразование объектов в XML с помощью JAX-B API.out.println (XMLConverter.convert (продукт));out.close ();
Класс POJO (Product.java)
<для>Пакет com.dineshkrish.pojo;import javax.xml.bind.annotation.XmlRootElement;/ ** 3. * @ Автор: Динеш Кришнан * * /@XmlRootElementкласс общедоступного решениячастный int код продукта;название продукта частного канала;частная дорожная продукция Описание;общедоступный int getProductCode ()Код возврата товара;public void setProductCode (int productCode)this.productCode обозначает код продукта;публичная строка getProductName ()Слово возвращенного товара;переопределить общедоступный setProductName (String productName)this.productName соответствует productName;публичная строка getProductDescription ()Вернуть описание устройства;общедоступный пробел setProductDescription (строка productDescription)this.productDescription = productDescription;
Конвертер объекта в XML (XMLConverter.java)
<для>Пакет com.dineshkrish.util;import java.io.StringWriter;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller;товары ком.динешкриш.поджо.импорт;/ ** * 6. Динеш @author Krishnan * * /открытый класс XMLConverterпубличное преобразование статической строки (произведенный продукт)Источник StringWriter равен new StringWriter ();если (product! равно нулю)ПытатьсяКонтекст JAXBContext соответствует JAXBContext.newInstance (Product.class);Маршаллер Маршаллер = context.createMarshaller ();Маршаллермаршал (работа, автор);страна (JAXBException e)e.printStackTrace ();вернуть write.toString ();
Начальный профиль приложения (index.html)
<для>
<мета-кодировка равна "ISO-8859-1">Служба определенно работает …
Файл конфигурации (web.xml)
<для><веб-приложение xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"xmlns равно "http://java.sun.com/xml/ns/javaee"xsi: schemaLocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id = "WebApp_ID" подразумевает "3.0">
выход
Ссылки
Привет, ребята, я президент idineshkrishnan.com. Я считаю это непреодолимой технологией открытого дилера. Если вы найдете какие-либо связанные наши руководства полезными, рассмотрите возможность пожертвования этим некоммерческим организациям.
Один из приемов – постоянно немного усложнять префикс. Сервлеты не следует импортировать с использованием java.sql. Поместите рабочий код в разделенный класс, протестируйте его или позвольте сервлету завершить свое дело.
Вы создаете XML самым безумным способом, объединяя строки. Почему бы не использовать крупную библиотеку, такую как JDOM или хотя бы StringBuilder?
Вот несколько идей для создания слоев. Чтобы продать, начните с этого объекта модели – в конце концов, объектно-ориентированного языка Java:
program badservlet.model;публичная продажа saleId некоторого частного канала; частный метод homeId; private string agentId; ID клиента приватного канала; Публичная продажа (строка saleId, строка homeId, строка agentId, строка customerId) (homeId.trim (). период времени () == 0) брошенный новичок IllegalArgumentException («ID дома не может быть пустым, кроме нуля»); пока ((agentId == null) публичная компания getSaleId () Идентификатор продажи Reunion; строка окрестности getHomeId () Заработайте HomeId; широко доступная строка getAgentId () Введите, видите ли, идентификатор агента; публичная строка getCustomerId () Вернуть идентификатор клиента; @ Раздавить строка местного сообщества toString () Посетите снова "Продажи" + "venteId = '" + venteId +' '' + , homeId = '"+ homeId +' '' + AgentId = '"rrn., + AgentId +' '' + ", customerId равно '" + customerId +' '' + '';
пакет badservlet.persistence;import badservlet.model.Sale;import java.sql.SQLException;import java.util.List;Публичный интерфейс SaleDao List find () выбрасывает SQLException;
service badservlet.persistence;import badservlet.model.Sale;import javax.sql.DataSource;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;оператор import java.sql;import java.util.ArrayList;import java.util.List;открытый класс SaleDaoImpl реализует Saledao дискретная статическая конечная строка SELECT_ALL_SQL = "ВЫБЕРИТЕ sale_id, home_id, agent_id, customer_id ИЗ продажи"; эксклюзивное подключение; Большинство людей SaleDaoImpl (ссылка для входа) this.connection равняется соединению; фактический обычно общедоступный SaleDaoImpl (DataSource dataSource) выбрасывает SQLException это (dataSource.getConnection ()); открыть в общедоступном каталоге find () выбрасывает SQLException Список allSales New = ArrayList (); Заявление = ноль; ResultSet rs имеет значение NULL; Пытаться святой подразумевает this.connection.createStatement (); Player st = .executeQuery (SELECT_ALL_SQL); проходит через (rs.next ()) Строка saleId равна rs.getString ("sale_id"); Строка homeId Rs = .getString ("home_id"); Строка agentId включает rs.getString ("agent_id"); Строка customerId = rs.getString ("customer_id"); Продажа Продажа а = новая продажа (SaleId, HomeId, AgentId, KundenId); allSales.add (продажи); поймать (SQLExceptionE) E.printStackTrace (); в конце концов попробуйте с помощью (rs if! = null) rs.close (); доска (SQLException e) e.printStackTrace (); test (st, если! равно нулю) st.close (); встречаются (SQLException e) e.printStackTrace (); Возврат всех продаж;
Рекомендуется
Ваш компьютер работает медленно? У вас проблемы с запуском Windows? Не отчаивайтесь! Fortect - это решение для вас. Этот мощный и простой в использовании инструмент проведет диагностику и ремонт вашего ПК, повысит производительность системы, оптимизирует память и повысит безопасность процесса. Так что не ждите - скачайте Fortect сегодня!
пакет badservlet.xml;import badservlet.model.Sale;import org.jdom.Document;import org.jdom.Element;import org.jdom.transform.JDOMResult;import javax.xml.bind.JAXBException;import javax.xml.transform.Result;import java.util.List;открытый класс SaleUnmarshaller public void unmarshal (цель объекта, результат xml) выбрасывает исключение JAXBException List allSales равен объекту (List ); Фрагмент записи документа соответствует новому документу (новая реквизит («Продажи»)); с (Продажи Продажи: allSales) Под дочерней компанией подразумевается новый продукт («продажа»); child.setAttribute («идентификатор», sale.getSaleId ()); child.addContent (новая точка для рассмотрения ("дом", sale.getHomeId ())); child.addContent (новое требование ("агент", sale.getAgentId ())); child.addContent (новый элемент («Клиент», Sale.getCustomerId ())); document.addContent (дочерний); Результат JDOMResult = Недавно полученный JDOMResult (); result.setDocument (документ); XML подразумевает результат;
Это может показаться более сложным – больше практики, чем в последнее время, – но вы уже сделали две части: вы разбили эти проблемы на более мелкие фрагментарные фразы и вы можете протестировать их индивидуально.
Ускорьте свой компьютер сегодня с помощью этой простой в использовании загрузки. г.Java Servlet Return Xml Response
Java Servlet Restituisce La Risposta Xml
Java Servlet Returnerar Xml Svar
Respuesta Xml De Retorno De Servlet Java
Java Servlet Gibt Xml Antwort Zuruck
자바 서블릿 반환 Xml 응답
Java Servlet Retourneert Xml Antwoord
Aplet Java Zwraca Odpowiedz Xml
La Servlet Java Renvoie La Reponse Xml
Java Servlet Return Xml Response
г.