Робота з базами даних у форматі XML у проектах Rich Internet Application

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет “Львівська політехніка” Кафедра автоматизованих систем управління  Звіт До лабораторної роботи № 6 З дисципліни Технології об'єктно-орієнтованого програмування На тему Робота з базами даних у форматі XML у проектах Rich Internet Application Порядок виконання роботи 1. Використовуючи додаткову літературу, розглянути застосування формату XML для зберігання баз даних. 2. Перетворити таблиці з бази даних ЛР № 1 у формат XML. 3. Використовуючи додаткову літературу, приклади програмного коду, можливості обраних мови програмування та середовища Rich Internet Application з ЛР № 5, розглянути засоби Rich Internet Application для роботи з базами даних у форматі XML. 4. Змінити ужиток Rich Internet Application з ЛР № 5 для вибірки даних з XML-таблиць замість таблиць MySQL і виведення результатів у табличній, графічній та текстовій формі. 5. Розмістити ужиток на веб-сервері і перевірити його роботу. Результати вивести на екран при звертанні до ужитку через браузер. 6. Доповнити ужиток можливістю програмної перевірки правильності вхідних XML-таблиць за допомогою описів типу документів (DTD) або схем XML. 7. У звіті по роботі навести код таблиць бази даних у форматі XML, тексти програмних модулів та файлів DTD (або схем XML), екранограми веб-сторінок. Результат виконання програми   Рис. 1. Екранограма виконаної програми Код Проекту package other.pkg; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; /** * Servlet implementation class MyServlet */ public class MyServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @throws ParserConfigurationException * @see HttpServlet#HttpServlet() */ private ArrayList<Integer> list = new ArrayList<Integer>(); private ArrayList<Integer> list2 = new ArrayList<Integer>(); private ArrayList<Integer> list3 = new ArrayList<Integer>(); private ArrayList<String> list4 = new ArrayList<String>(); private ArrayList<Integer> list5 = new ArrayList<Integer>(); private ArrayList<Integer> list6 = new ArrayList<Integer>(); private String error = "empty"; private String DocumentUrl = "D:\\Doc.xml"; public MyServlet() throws ParserConfigurationException { super(); } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { // TODO Auto-generated method stub try { DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBuilder.parse(new FileInputStream(DocumentUrl)); doc.getDocumentElement().normalize(); System.out.println(doc.getDocumentElement().getNodeName()); NodeList nodeList = doc.getElementsByTagName(doc.getDocumentElement().getChildNodes().item(1).getNodeName()); System.out.println("------------------------------------"); for(int i=0; i<nodeList.getLength(); i++) { Node node = nodeList.item(i); if(node.getNodeType() == Node.ELEMENT_NODE) { Element element = (Element)node; if(i==0){ list.add(Integer.parseInt(element.getElementsByTagName("payout1").item(0).getChildNodes().item(0).getNodeValue())); list.add(Integer.parseInt(element.getElementsByTagName("payout2").item(0).getChildNodes().item(0).getNodeValue())); list.add(Integer.parseInt(element.getElementsByTagName("payout3").item(0).getChildNodes().item(0).getNodeValue())); list.add(Integer.parseInt(element.getElementsByTagName("payout4").item(0).getChildNodes().item(0).getNodeValue())); list.add(Integer.parseInt(element.getElementsByTagName("payout5").item(0).getChildNodes().item(0).getNodeValue())); Collections.sort(list); } if(i==1){ list2.add(Integer.parseInt(element.getElementsByTagName("suminsured1").item(0).getChildNodes().item(0).getNodeValue())); list2.add(Integer.parseInt(element.getElementsByTagName("suminsured2").item(0).getChildNodes().item(0).getNodeValue())); list2.add(Integer.parseInt(element.getElementsByTagName("suminsured3").item(0).getChildNodes().item(0).getNodeValue())); list2.add(Integer.parseInt(element.getElementsByTagName("suminsured4").item(0).getChildNodes().item(0).getNodeValue())); list2.add(Integer.parseInt(element.getElementsByTagName("suminsured5").item(0).getChildNodes().item(0).getNodeValue())); Collections.sort(list2); } if(i==2){ list3.add(Integer.parseInt(element.getElementsByTagName("numberOfConclusion1").item(0).getChildNodes().item(0).getNodeValue())); list3.add(Integer.parseInt(element.getElementsByTagName("numberOfConclusion2").item(0).getChildNodes().item(0).getNodeValue())); list3.add(Integer.parseInt(element.getElementsByTagName("numberOfConclusion3").item(0).getChildNodes().item(0).getNodeValue())); list3.add(Integer.parseInt(element.getElementsByTagName("numberOfConclusion4").item(0).getChildNodes().item(0).getNodeValue())); list3.add(Integer.parseInt(element.getElementsByTagName("numberOfConclusion5").item(0).getChildNodes().item(0).getNodeValue())); Collections.sort(list3); } if(i==3){ list4.add(element.getElementsByTagName("dateOf1").item(0).getChildNodes().item(0).getNodeValue()); list4.add(element.getElementsByTagName("dateOf2").item(0).getChildNodes().item(0).getNodeValue()); list4.add(element.getElementsByTagName("dateOf3").item(0).getChildNodes().item(0).getNodeValue()); list4.add(element.getElementsByTagName("dateOf4").item(0).getChildNodes().item(0).getNodeValue()); list4.add(element.getElementsByTagName("dateOf5").item(0).getChildNodes().item(0).getNodeValue()); Collections.sort(list4); } if(i==4){ list5.add(Integer.parseInt(element.getElementsByTagName("affiliate1").item(0).getChildNodes().item(0).getNodeValue())); list5.add(Integer.parseInt(element.getElementsByTagName("affiliate2").item(0).getChildNodes().item(0).getNodeValue())); list5.add(Integer.parseInt(element.getElementsByTagName("affiliate3").item(0).getChildNodes().item(0).getNodeValue())); list5.add(Integer.parseInt(element.getElementsByTagName("affiliate4").item(0).getChildNodes().item(0).getNodeValue())); list5.add(Integer.parseInt(element.getElementsByTagName("affiliate5").item(0).getChildNodes().item(0).getNodeValue())); Collections.sort(list5); } if(i==5){ list6.add(Integer.parseInt(element.getElementsByTagName("insurance1").item(0).getChildNodes().item(0).getNodeValue())); list6.add(Integer.parseInt(element.getElementsByTagName("insurance2").item(0).getChildNodes().item(0).getNodeValue())); list6.add(Integer.parseInt(element.getElementsByTagName("insurance3").item(0).getChildNodes().item(0).getNodeValue())); list6.add(Integer.parseInt(element.getElementsByTagName("insurance4").item(0).getChildNodes().item(0).getNodeValue())); list6.add(Integer.parseInt(element.getElementsByTagName("insurance5").item(0).getChildNodes().item(0).getNodeValue())); Collections.sort(list6); } } } System.out.println("payOut = "+"\t"+list.get(0)+" "+list.get(1)+" "+list.get(2)+" "+list.get(3)+" "+list.get(4)); System.out.println("sumInsured = "+"\t"+list2.get(0)+" "+list2.get(1)+" "+list2.get(2)+" "+list2.get(3)+" "+list2.get(4)); System.out.println("numbersOfConclusion = "+"\t"+list3.get(0)+" "+list3.get(1)+" "+list3.get(2)+" "+list3.get(3)+" "+list3.get(4)); System.out.println("dateOf = "+"\t"+list4.get(0)+" "+list4.get(1)+" "+list4.get(2)+" "+list4.get(3)+" "+list4.get(4)); System.out.println("affiliate = "+"\t"+list5.get(0)+" "+list5.get(1)+" "+list5.get(2)+" "+list5.get(3)+" "+list5.get(4)); System.out.println("insurance = "+"\t"+list6.get(0)+" "+list6.get(1)+" "+list6.get(2)+" "+list6.get(3)+" "+list6.get(4)); } catch (FileNotFoundException e) { e.printStackTrace(); error = e.getMessage(); } catch (SAXException e) { e.printStackTrace(); error = e.getMessage(); } catch (IOException e) { e.printStackTrace(); error = e.getMessage(); } catch (ParserConfigurationException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch (NullPointerException e) { e.printStackTrace(); error = "java.lang.NullPointerException please check input information"; } if(error!=null) { req.setAttribute("error", error); } req.setAttribute("DocumentUrl", DocumentUrl); req.setAttribute("data", list); req.setAttribute("data2", list2); RequestDispatcher dispatcher = req.getRequestDispatcher("index.jsp"); if (dispatcher != null ) { dispatcher.forward(req, res); } } } jsp <%@page import="java.util.List"%> <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>HETO YURA</title> <script type="text/javascript" src="jquery-1.8.3.js"></script> <script type="text/javascript" src="jquery.jqplot.min.js"></script> <script type="text/javascript" src="jqplot.pieRenderer.min.js"></script> <script type="text/javascript" src="jqplot.donutRenderer.min.js"></script> <script type="text/javascript" src="jqplot.categoryAxisRenderer.min.js"></script> <script type="text/javascript" src="jqplot.pointLabels.min.js"></script> <script type="text/javascript" src="jqplot.barRenderer.min.js"></script> <link rel="stylesheet" type="text/css" href="src/servlet/pkg/jquery.jqplot.min.css" /> <% List<Integer> myData2 = (List<Integer>) request.getAttribute("data"); int i=0; %> <!-- payOut --> <% List<Integer> myData = (List<Integer>) request.getAttribute("data2"); int i2=0; %> <!-- sumInsured --> <% String DocumentUrl = (String) request.getAttribute("DocumentUrl");%> <% String EROR = (String) request.getAttribute("error"); %> <script type="text/javascript"> var getData2 = new Array(); getData2[0] = '<%= myData2.get(0) %>'; getData2[1] = '<%= myData2.get(1) %>'; getData2[2] = '<%= myData2.get(2) %>'; getData2[3] = '<%= myData2.get(3)+myData2.get(4) %>'; //pie chart $(document).ready(function(){ var data = [ [' ', parseInt(getData2[0])], [' ', parseInt(getData2[1])], [' ', parseInt(getData2[2])], ['', parseInt(getData2[3])] ]; var plot2 = jQuery.jqplot ('chart1', [data], { seriesDefaults: { renderer: jQuery.jqplot.PieRenderer, rendererOptions: { fill: true, showDataLabels: true, sliceMargin: 10, lineWidth: 3, } }, legend: { show:true, location: 'e' } } ); }); document.write("<B>"); var getData = new Array(); getData[0] = '<%= myData.get(0) %>'; getData[1] = '<%= myData.get(1) %>'; getData[2] = '<%= myData.get(2) %>'; getData[3] = '<%= myData.get(3) %>'; getData[4] = '<%= myData.get(4) %>'; //bar chart2 $(document).ready(function(){ var s1 = [parseInt(getData[0])+parseInt(getData[1]), parseInt(getData[2]), parseInt(getData[3]),parseInt(getData[4])]; var ticks = ['2005-09-27', '2010-03-19', '2011-12-12','2012-01-01']; plot2 = $.jqplot('chart2', [s1], { seriesDefaults: { renderer:$.jqplot.BarRenderer, rendererOptions:{ varyBarColor : true }, pointLabels: { show : true }, pointLabels: { show: true } }, axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer, ticks: ticks, seriesColors: [ "#eee", "#ccc", "#999","#ccc","#ccc"], highlighter: { show: false } } } }); $('#chart2').bind('jqplotDataHighlight', function (ev, seriesIndex, pointIndex, data) { $('#info2').html('series: '+seriesIndex+', point: '+pointIndex+', data: '+data); } ); $('#chart2').bind('jqplotDataUnhighlight', function (ev) { $('#info2').html('Nothing'); } ); }); $(document).ready(function(){ $("#chart1").click(function(){ $("#chart1").show(); $("#chart2").show(); $("#box").animate({opacity: "0.1"}, 1200) .animate({opacity: "0.4"}, "slow") .animate({opacity: "1"}, "slow") ; return false; }); }); $(document).ready(function(){ $("#chart2").click(function(){ $("#chart2").hide(); $("#chart1").show(); $("#box").animate({opacity: "0.1"}, 1200) .animate({opacity: "0.4"}, "slow") .animate({opacity: "1"}, "slow"); return false; }); }); $(document).ready(function(){ $("#javaImg").fadeOut(function(){ $("#javaImg").fadeIn(); }); }); </script> <style type="text/css"> div [id] { width: 500px; height:500px; float: left; margin: 50px; } </style> </head> <body> <div id="chart1" title="click to change to the Graph"></div> <div id="chart2" title="click to change to the Diagramm"></div> </body> <TABLE BORDER=2 BGCOLOR=Red align=center id="myTab"> <TR> <TH>Number of conclusion</TH><TH>Date of</TH><TH>sumInsured</TH><TH>payOut</TH><TH>Code of affiliate</TH><TH>Code if insurance</TH> </TR> <TR> <TD>11</TD><TD>2005-09-27</TD><TD><script>document.write(getData[0]);</script></TD><TD><script>document.write(getData2[0]);</script></TD><TD>2010</TD><TD>4031</TD> </TR> <TR> <TD>13</TD><TD>2005-09-27</TD><TD><script>document.write(getData[1]);</script></TD><TD><script>document.write(getData2[1]);</script></TD><TD>2014</TD><TD>4039</TD> </TR> <TR> <TD>24</TD><TD>2010-03-19</TD><TD><script>document.write(getData[2]);</script></TD><TD><script>document.write(getData2[2]);</script></TD><TD>2016</TD><TD>4022</TD> </TR> <TR> <TD>27</TD><TD>2011-12-12</TD><TD><script>document.write(getData[3]);</script></TD><TD><script>document.write(getData2[3]);</script></TD><TD>2044</TD><TD>4011</TD> </TR> <TR> <TD>77</TD><TD>2012-01-01</TD><TD><script>document.write(getData[4]);</script></TD><TD><script>document.write(getData2[4]);</script></TD><TD>2044</TD><TD>4041</TD> </TR> </TABLE> <br> <font color="red" size="20"> <script type="text/javascript"> var getMsg = '<%= EROR %>'; if(getMsg!="empty") { alert(getMsg); $(document).ready(function(){ $("#msg").click(function(){ $("#msg").fadeOut(); }); }); } </script> <label id="msg" style="color: red; " ><script>if(getMsg!="empty") {document.write(getMsg); }</script></label> </font> <br> <script type="text/javascript"> $(document).ready(function(){ $("#chart2").hide(); $("#myTab").slideUp(); }); $(document).ready(function(){ $("#btn").click(function(){ $("#myTab").toggle(); }); }); </script> <TABLE BORDER=2 BGCOLOR=Red align=center id="myTab"> <TR> <TH>Number of conclusion</TH><TH>Date of</TH><TH>sumInsured</TH><TH>payOut</TH><TH>Code of affiliate</TH><TH>Code if insurance</TH> </TR> <TR> <TD>11</TD><TD>2005-09-27</TD><TD><script>document.write(getData[0]);</script></TD><TD><script>document.write(getData2[0]);</script></TD><TD>2010</TD><TD>4031</TD> </TR> <TR> <TD>13</TD><TD>2005-09-27</TD><TD><script>document.write(getData[1]);</script></TD><TD><script>document.write(getData2[1]);</script></TD><TD>2014</TD><TD>4039</TD> </TR> <TR> <TD>24</TD><TD>2010-03-19</TD><TD><script>document.write(getData[2]);</script></TD><TD><script>document.write(getData2[2]);</script></TD><TD>2016</TD><TD>4022</TD> </TR> <TR> <TD>27</TD><TD>2011-12-12</TD><TD><script>document.write(getData[3]);</script></TD><TD><script>document.write(getData2[3]);</script></TD><TD>2044</TD><TD>4011</TD> </TR> <TR> <TD>77</TD><TD>2012-01-01</TD><TD><script>document.write(getData[4]);</script></TD><TD><script>document.write(getData2[4]);</script></TD><TD>2044</TD><TD>4041</TD> </TR> </TABLE> </body> </html> }Висновок: На даній лабораторній роботі, я розглянув можливості графічного виведення за допомогою ресурсів html5 і java, та розробив ужиток, який графічно показує результати виконання xml .
Антиботан аватар за замовчуванням

12.02.2013 14:02-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!