Aplikacja WWW - projekt - serwlety - Java Server Pages – 12-19.10.2009/17.10.2009


 

Otworzyć projekt Project WebApplication w środowisku NetBeans z ćwiczeń I (z wszystkimi przykładowymi serwletami)

Utworzyć bazę danych Access, utworzyć tabele: Person,.....

Utworzyć plikowy DNS do bazy.

Dodać nowy serwlet bazodanowy.

 KONFIGURACJA - PRZYKŁAD DLA BAZY ACCESS

 

 

 

 

 

 KONFIGURACJA - PRZYKŁAD DLA BAZY MYSQL

 

 

 

POŁĄCZENIE Z BAZĄ ZA POMOCĄ JDBC-ODBC (ODNOSI SIĘ DO DWU PODANYCH PRZYKLADÓW ZE STEROWNIKIEM DNS)


package pss;
 
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
 
 
 
public class Display_Data_Servlet extends HttpServlet {
 
  public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
 
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
 
    out.print("<html><head>");
    out.print("</head><body>");
 
    out.print("<form action=\"");
    out.print( req.getRequestURI() );
    out.print("\" method=\"post\">");
    out.print("<input type=\"submit\" ");
    out.print("value=\" \">  ");
    out.print("Display Records</form>");
 
    out.print("</body></html>");
 
    out.close();
  }
 
  public void doPost(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException {
 
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
 
    out.print("<html><head>");
    out.print("</head><body>");
 
    out.print("<code><pre>");
    out.print("<font color=green>ID\tFirst ");
    out.println("Name\tLast Name\n</font>");
 
    // debugging info
 
    long time1 = System.currentTimeMillis();
 
    // connecting to database
 
    Connection con = null;
    Statement stmt = null;
    ResultSet rs = null;
 
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      con = DriverManager.getConnection("jdbc:odbc:pss_data");
 
      stmt = con.createStatement();
      rs = stmt.executeQuery("SELECT * FROM Data");
 
      // displaying records
 
      while(rs.next()) {
        out.print(rs.getObject(1).toString());
        out.print("\t");
        out.print(rs.getObject(2).toString());
        out.print("\t\t");
        out.print(rs.getObject(3).toString());
        out.print("\n");
      }
 
  
    } catch (SQLException e) {
      throw new 
      ServletException("Servlet Could not display records.", e);
    } catch (ClassNotFoundException e) {
      throw new 
      ServletException("JDBC Driver not found.", e);
    } finally {
      try {
        if(rs != null) {
          rs.close();
          rs = null;
        }
        if(stmt != null) {
          stmt.close();
          stmt = null;
        }
        if(con != null) {
          con.close();
          con = null;
        }
      } catch (SQLException e) {}
    }
 
    // debugging info
 
    long time2 = System.currentTimeMillis();
 
    out.print("</pre></code>");
 
    out.print("<p>Search took : ");
    out.print( (time2 - time1) );
    out.print(" ms.</p>");
 
    out.print("<p\"><a href=\"");
    out.print( req.getRequestURI() );
    out.print("\">Back</a></p>");
 
    out.print("</body></html>");
    out.close();
  }
}
 
 
 
 


 
 

POŁĄCZENIE Z BAZĄ ZA POMOCĄ JDBC (ODNOSI SIĘ DO STEROWNIKA Z LINKU MYSQL-JDBC)

 
 

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

 

public class JdbcExample2 {

 

  public static void main(String args[]) {

    Connection con = null;

 

    try {

      Class.forName("com.mysql.jdbc.Driver").newInstance();

      con = DriverManager.getConnection("jdbc:mysql:///test",

        "root", "secret");

 

      if(!con.isClosed())

        System.out.println("Successfully connected to " +

          "MySQL server using TCP/IP...");

 

    } catch(Exception e) {

      System.err.println("Exception: " + e.getMessage());

    } finally {

      try {

        if(con != null)

          con.close();

      } catch(SQLException e) {}

    }

  }

}
 
Uwaga: w opcjach projektu WebApplication należy dodać odpowiednie odwołanie do sterownika jdbc:
 
 
 
 
Zarządzanie bazami MySQL z wykorzystaniem MySQL gui tools:
 
 
 
Utworzyć odpowiednią tabelę w bazie test:
 
 
 


 
 

MySQL - JDBC

MySQL - ODBC

Aplikacja zarządzania bazą MySQL z interfejsem GUI - MySQL mysql-gui-tools 

 


Zadanie

1) Utworzyć bazę danych Access / MySQL:

2) pss_baza oraz plikowy DNS do tej bazy.

3) Nawiązać połączenie z bazą z wykorzystaniem pss_baza w kodzie serwletu (pierwszy serwlet)

4) Nawiązać połączenie z bazą z wykorzystaniem sterownika JDBC (drugi serwlet)

5) Dodać opcje (dla serwletu z punktu 3 i 4):

a) dodawania tabeli

b) dodawania nowego rekordu

c) usuwania rekordu

d) modyfikacji rekordu

6) Zastosować w serwletach kaskadowe arkusze styli (css), stronę zaprojektować poprzez podział na panele.

Do strony głównej projektu dodać wpis z wywołaniem powyższego serwletu.

W podobny sposób wyświetlić dane z tabel: Person, Customer, Product, Problem.