DBMS using connections(Client-application server-Data sever, three tier) Oracle/MySQL (ODBC/JDBC), SQL Joints, prompt.

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


public class A3 extends HttpServlet{
private static final long serialVersionUID = 1L;

//Function dumpData() to print query result in table format
public void dumpData(java.sql.ResultSet rs, java.io.PrintWriter out)
   throws Exception {
int rowCount = 0;
out.println("<P ALIGN='left'><TABLE BORDER=1>");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
// table header
out.println("<TR>");
for (int i = 0; i < columnCount; i++) {
  out.println("<TH>" + rsmd.getColumnLabel(i + 1) + "</TH>");
  }
out.println("</TR>");
// the data
while (rs.next()) {
 rowCount++;
 out.println("<TR>");
 for (int i = 0; i < columnCount; i++) {
   out.println("<TD>" + rs.getString(i + 1) + "</TD>");
   }
 out.println("</TR>");
 }
out.println("</TABLE></P>");
out.println("Rows: "+rowCount+" Columns: "+columnCount);
}

public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
            throws ServletException, IOException
  {
      Connection conn = null;
      Statement stmt = null;
      // Set response content type
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
      out.println("<h2>JOIN OPERATIONS</h2>");
   
      try{
         // Register JDBC driver
         Class.forName("com.mysql.jdbc.Driver");

         // Open a connection
         conn = DriverManager.getConnection("jdbc:mysql://10.5.7.51:3306/te57_db","te57","student");

         // Execute SQL query
         String sql;
         ResultSet rs;
         stmt = conn.createStatement();
       
         out.println("<h3>TABLE INFORMATION</h3>");
         out.println("TABLE 'STUDENTS':<br>");
         sql = "select * from STUDENTS";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
        // out.println("RESULT:<br>");
         dumpData(rs, out);
       
         //out.println("<h3>TABLE INFORMATION</h3>");
         out.println("TABLE 'COURSES':<br>");
         sql = "select * from COURSES";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
        // out.println("RESULT:<br>");
         dumpData(rs, out);
       
         out.println("<h3>NATURAL JOIN</h3>");
         out.println("QUERY:<br>");
         sql = "select StudentID,StudentName,Major from STUDENTS natural join COURSES where
STUDENTS.StudentID = COURSES.StudentID";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
         out.println("RESULT:<br>");
         dumpData(rs, out);
       
         out.println("<h3>INNER JOIN</h3>");
         out.println("QUERY:<br>");
         sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS inner join COURSES on STUDENTS.StudentID = COURSES.StudentID";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
         out.println("RESULT:<br>");
         dumpData(rs, out);
       
         out.println("<h3>LEFT JOIN</h3>");
         out.println("QUERY:<br>");
         sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS left join COURSES on STUDENTS.StudentID = COURSES.StudentID";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
         out.println("RESULT:<br>");
         dumpData(rs, out);

         out.println("<h3>RIGHT JOIN</h3>");
         out.println("QUERY:<br>");
         sql = "select STUDENTS.StudentID,STUDENTS.StudentName,STUDENTS.Major, COURSES.CourseNumber,
COURSES.CourseName from STUDENTS right join COURSES on STUDENTS.StudentID = COURSES.StudentID";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
         out.println("RESULT:<br>");
         dumpData(rs, out);
       
         out.println("<h3>CROSS JOIN</h3>");
         out.println("QUERY:<br>");
         sql = "select * from STUDENTS cross join COURSES";
         rs = stmt.executeQuery(sql);
         out.println(sql+"<br>");
         out.println("RESULT:<br>");
         dumpData(rs, out);
       
         // Clean-up environment
         rs.close();
         stmt.close();
         conn.close();
      }catch(SQLException se){
         //Handle errors for JDBC
         se.printStackTrace();
      }catch(Exception e){
         //Handle errors for Class.forName
         e.printStackTrace();
      }//end try
   }
}



web.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
  <display-name>assignA2</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
        <servlet-name>A3</servlet-name>
        <servlet-class>A3</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>A3</servlet-name>
        <url-pattern>/A3</url-pattern>
    </servlet-mapping>
 
 
</web-app>

Comments