/*
* Finalidade:
* Autor: Lincolm Ferreira de Aguiar
* Data: dia de Mês de AAAA
*
*/

package testes;

import java.io.*;
import java.sql.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class ServletSQLServer extends HttpServlet {

   public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

       response.setContentType("text/html");
       PrintWriter out = response.getWriter();

       printAll(out, "SELECT * FROM TABELA");

   }

   public Statement getStatement() throws ServletException {

      String url = "jdbc:microsoft:sqlserver://servidor:1433;DatabaseName=SEUBANCO";
      String usuario = "sa";
      String senha = "senha";

      Connection con = null;
      Statement stmt = null;

      try{

         Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

      }
      catch(ClassNotFoundException e){

        throw new ServletException("Não foi possível carregar o driver do banco. Verifique se o driver está disponível.");

      }

      try{

        con = DriverManager.getConnection(url, usuario, senha);
        stmt = con.createStatement();

      }
      catch(Exception e){

        throw new ServletException("Erro ao conectar:<hr>" + e.getMessage());

      }

      return stmt;

   }

   private void printAll(PrintWriter out, String sql) throws IOException, ServletException{

      Statement stmt = getStatement();
      ResultSet rs = null;

      try{


         rs = stmt.executeQuery(sql);

         //Esse código é só para pegar os nomes dos campos, você não precisa dele.
         //Pode colocar o nome de cada campo na mão mesmo, fiz só para te mostrar como
         //funciona.
         ResultSetMetaData rsma = rs.getMetaData();

         out.println("<table border=\"1\">");

         for(int x=1; x<=rsma.getColumnCount(); x++) {

            String columnName = rsma.getColumnName(x);
            out.println("<td>" + columnName + "&nbsp;</td>");

         }
         out.println("</tr>");

         while(rs.next()){

            out.println("<tr>");
            for(int x=1; x<=rsma.getColumnCount(); x++) {

               String columnName = rsma.getColumnName(x);
               out.println("<td>" + rs.getString(columnName) + "&nbsp;</td>");

            }
            out.println("</tr>");

         }

         out.println("</table>");

      }
      catch(SQLException e){

        throw new ServletException(e.toString());

      }

   }

}
