import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class servlet3 extends HttpServlet
{
	String muutuja1,muutuja2,lause, sort_id;
	int sort_order=-1;
	public void doGet(HttpServletRequest kysimus, HttpServletResponse vastus) throws IOException, ServletException
	{
		vastus.setContentType("text/plain");
		PrintWriter valja = vastus.getWriter();
		vastus.getWriter();
		valja.println("<html><head><title>.::SERVLET3::.</title></head><body><h1>Andmed baasis:</h1><table border=1 width=400>");
		valja.println("<tr><td><a href='"+kysimus.getRequestURI()+"?sorttulp=esitaja'>Esitaja</a></td><td><a href='"+kysimus.getRequestURI()+"?sorttulp=lugu'>Lugu</a></</td></tr>");
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			Connection cn=DriverManager.getConnection("jdbc:odbc:muusika", "", "");
			Statement st=cn.createStatement();
			muutuja1=filtreeriHTML(kysimus.getParameter("esit"));
			muutuja2=filtreeriHTML(kysimus.getParameter("lug"));
			sort_id=kysimus.getParameter("sorttulp");
			if(muutuja1!=null && muutuja2!=null && muutuja1.length()!=0 && muutuja2.length()!=0){
			//	valja.println("INSERT INTO esitajad (esitaja, lugu) VALUES ('"+muutuja1+"','"+muutuja2+"')");
				lause="INSERT INTO esitajad (esitaja, lugu) VALUES ('"+muutuja1+"','"+muutuja2+"')";
				st.executeUpdate(lause);
			}
			sort_order=sort_order*-1;
			if(sort_order>0){
				lause="SELECT * FROM esitajad ORDER BY "+sort_id+" ASC";
			}else{
				lause="SELECT * FROM esitajad ORDER BY "+sort_id+" DESC";
			}
			//valja.println(lause);
			ResultSet rs=st.executeQuery(lause);
			while (rs.next()!=false){
				valja.println("<tr><td>"+rs.getString("esitaja")+"</td><td>"+rs.getString("lugu")+"</td></tr>");
			}
		valja.println("</table><h1>Andmete lisamine</h1><form><table><tr><td>Esitaja:</td><td><input type='text' name='esit' /></td></tr><tr><td>Lugu:</td><td><input type='text' name='lug' /></td></tr></table><input type='submit' value='Saada'/>");
		valja.println("<br>Sinu IP on: "+kysimus.getRemoteAddr());
		valja.println("</body></html>");
		}catch(Exception viga){valja.println("Probleem andmebaasiga: " +viga);}
	}
	public static String filtreeriHTML(String tekst){
		if(tekst==null){return null;}
     	StringBuffer puhver=new StringBuffer();
     	for(int i=0; i<tekst.length(); i++){
      	char c=tekst.charAt(i);
       	switch(c){
         	case '<': puhver.append("&lt;"); break;
         	case '>': puhver.append("&gt;"); break;
         	case '&': puhver.append("&amp;"); break;
         	case '"': puhver.append("&quot;"); break;
         	default: puhver.append(c);
      	}
     	}
     	return puhver.toString();
  	}
}