import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.sql.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import org.w3c.dom.*; import java.io.File; public class xml extends HttpServlet{ public void doGet(HttpServletRequest kysimus, HttpServletResponse vastus) throws IOException, ServletException{ int x; String pass, user, tabel; PrintWriter valja = vastus.getWriter(); valja.println(".o0|Backup|0o."); valja.println("

Andmebaasi backup


"); //KASUTAJANIME JA PAROOLI KÜSIMINE (KUI NEID VEEL POLE) user=kysimus.getParameter("u"); pass=kysimus.getParameter("p"); if(user!=null && pass!=null && user.length()!=0 && pass.length()!=0){ valja.println("

Vali tabel


"); //PEAB PASSI ja USERIT MEELES// valja.println(""); valja.println(""); //PEAB PASSI ja USERIT MEELES// valja.println(""); valja.println("
"); }else{valja.println("Õigused puuduvad");} //ANDMETE VASTUVÕTT tabel=kysimus.getParameter("tabel"); if (tabel!=null && tabel.length()!=0){ switch (x = Integer.parseInt(tabel)){ case 1: case 2: valja.println(kirjutaXML("Esitajad", pass, user)); if(x!=1){break;} case 3: valja.println(kirjutaXML("Palad", pass, user)); if(x!=1){break;} case 4: valja.println(kirjutaXML("Stiilid", pass, user)); if(x!=1){break;} case 5: valja.println(kirjutaXML("Plaadid", pass, user)); if(x!=1){break;} } } valja.println("
TAGASI"); valja.println(""); } public String kirjutaXML(String tabel, String pass, String user){ Document doc; Element juur, column, obj; Connection cn=null; ResultSet rs; ResultSetMetaData rsmd; Statement st; boolean yhendus=false; int mitmus; if(tabel.compareTo("Esitajad")==0 || tabel.compareTo("Palad")==0){mitmus=1;}else{mitmus=2;} if(user!=null && pass!=null && user.length()!=0 && pass.length()!=0){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); cn=DriverManager.getConnection("jdbc:odbc:plaadikogu", user, pass); if(!cn.isClosed()){yhendus=true;} }catch(Exception e){return "Viga ühendue loomisel: "+e;} if(yhendus==true){ try{ st=cn.createStatement(); rs=st.executeQuery("SELECT * FROM "+tabel); rsmd=rs.getMetaData(); doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); juur=doc.createElement(tabel); doc.appendChild(juur); while(rs.next()!=false){ obj=doc.createElement(tabel.substring(0, tabel.length()-mitmus)); for(int i=1; i<=rsmd.getColumnCount(); i++){ column=doc.createElement(rsmd.getColumnName(i)); column.appendChild(doc.createTextNode(rs.getString(rsmd.getColumnName(i)))); obj.appendChild(column); } juur.appendChild(obj); } }catch(Exception e){return "Tekkis viga: "+e;} }else{return "
Viga ühenduses baasiga!";} try{ Transformer t=TransformerFactory.newInstance().newTransformer(); t.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(tabel+".xml"))); }catch(Exception e){return "
Viga xml faili loomisel!";} } try{cn.close();}catch(Exception e){return "Tekkis viga: "+e;} return "
Loodi edukalt fail: "+tabel+".xml!"; } }