this is my simple Java servlet which generate XML code retreiving it from a simple database:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import java.io.*
@WebServlet("/XML")
public class XML extends HttpServlet {
private static final long serialVersionUID = 1L;
public XML() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Connection connection;
Statement statement;
response.setContentType("application/xml");
PrintWriter printwriter = response.getWriter();
printwriter.println("<?xml version=\"1.0\"?>");
printwriter.println("<document>");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/AppDB", "***", "****");
statement = connection.createStatement();
String SQL = "SELECT first_name, last_name FROM contacts";
ResultSet resultset = statement.executeQuery(SQL);
while(resultset.next()) {
printwriter.println("<first> " + resultset.getString("first_name") + " </first>");
printwriter.println("<last> " + resultset.getString("last_name") + " </last>");
}
resultset.close();
statement.close();
connection.close();
}
catch (Exception e) {
}
printwriter.println("</document>");
printwriter.close();
}
}
Now, I want to parse it on client-side for displaying data but I don't know how to do that. I have tried to use a JSP file with the SAX parser but when the server give me a error when I put the following Servlet URL:
Document doc = docBuilder.parse("http://localhost:8080/Example/XML");
Could anyone please help me giving me some advice to solve the problem? And could anyone know a possible alternative way to do the same thing? What about JQuery or Ajax? (Even if I have just read a few thing about it, but I don't know them very well)