Робота з базами даних у форматі 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:14

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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