%@page contentType="text/html"%> <%@page import ="java.sql.ResultSet,java.sql.Connection,java.sql.DriverManager,java.sql.Statement" %> <%@page import ="java.util.GregorianCalendar" %> <%@page import ="com.mysql.jdbc.*"%> <%@page import ="java.io.*"%> <%@page import ="java.net.InetAddress"%> <%@page import ="java.net.URLConnection"%> <%@page import ="java.net.HttpURLConnection"%> <%@page import ="java.net.Socket"%> <%@page import ="java.net.SocketImpl"%> <% /** * Class name: CounterStatistic * Discription: View hits and page view statistic. All information will read from the database * Version: V1.00 2003 G * Copyright by: Frank Schultz * Autor: Frank Schultz */ %> <%! // #################### Declare function and methods BEGIN ##################### Connection myConnection; Statement myStatement; ResultSet myResultSet; String sqlStatement = ""; String tmpMessage = ""; int pageViewToday = 0; // page views today with ip lock int pageViews = 0; // all page views with ip lock int hits = 0; // all clicks without ip lock /** * This method get page views from today */ public void getPageViewsTodayCounter() { try { myStatement = myConnection.createStatement(); String sqlStatement = "SELECT ipAdress FROM vtl_online_de_User " + " WHERE " + "status=" + " 'C' "; myResultSet = myStatement.executeQuery(sqlStatement); while (myResultSet.next()) { pageViewToday++; } // while } // try catch (Exception ex) { //System.err.println("" +ex); sendErrorEmail(ex.toString()); } // catch } // getPageViewsTodayCounter /** * This method get all page views */ public void getPageViewsCounter() { try { myStatement = myConnection.createStatement(); String sqlStatement = "SELECT counter FROM vtl_online_de_PageViewCounter " + " WHERE " + "counter!=" + "0"; myResultSet = myStatement.executeQuery(sqlStatement); myResultSet.next(); pageViews = myResultSet.getInt("counter"); } // try catch (Exception ex) { //System.err.println("" +ex); sendErrorEmail("getPageViewsCounter " +ex.toString()); } // catch } // getPageViewsCounter /** * This method get all page hits */ public void getHitCounter() { try { myStatement = myConnection.createStatement(); String sqlStatement = "SELECT counter FROM vtl_online_de_Hitscounter " + " WHERE " + "counter!=" + "0"; myResultSet = myStatement.executeQuery(sqlStatement); myResultSet.next(); hits = myResultSet.getInt("counter"); } // try catch (Exception ex) { //System.err.println("" +ex); sendErrorEmail("getHitCounter " +ex.toString()); } // catch } // getHitCounter // ############################################################################ /** * This method send an error eMail to the Administrator with error string or message */ void sendErrorEmail(String parmMessage) { GregorianCalendar myDate = new GregorianCalendar(); tmpMessage = parmMessage + " " + myDate.getTime(); try { Socket mySocket = new Socket ("www.verschwiegenes-tierleid-online.de",25); // Socket-Verbindung zum smtp-Server, Port 25 PrintWriter out = new PrintWriter(mySocket.getOutputStream()); BufferedReader in = new BufferedReader(new InputStreamReader(mySocket.getInputStream())); String hostname = InetAddress.getLocalHost().getHostName(); System.err.println("HostName.:" + hostname); out.println("HELO "+ hostname); // Anmelden beim smtp-Server out.flush(); in.readLine(); out.println("MAIL FROM: "+ "Questions@verschwiegenes-tierleid-online.de"); // Absender übermitteln out.flush(); in.readLine(); out.println("RCPT TO: Webmaster@SINF.de"); // Empfänger übermitteln out.flush(); in.readLine(); out.println("DATA"); // Server bereitstellen um Nachricht zu übermitteln out.flush(); in.readLine(); out.println("subject:Automatic mail"); // Betreff der Email out.flush(); out.println("Jsp-Message" ); // Emailnachricht out.println("We´ve got a new message." ); // Emailnachricht out.println(tmpMessage); // Emailnachricht out.flush(); out.println(); // Erkennungszeichen für Server, dass Nachrichtenübermittlung beendet ist out.println("."); // Erkennungszeichen für Server, dass Nachrichtenübermittlung beendet ist out.flush(); in.readLine(); out.println("QUIT"); // Erkennungszeichen für Server, dass Nachrichtenübermittlung beendet ist out.flush(); in.readLine(); mySocket.close(); // Socket-Verbindung schliessen } // try catch (IOException e) { System.err.println("Fehler.: Email wurde vieleicht nicht gesendet! " + e); } // catch }// sendErrorEmail // ############################################################################ /** This method get a connection and create a statement * If no error the return true else false */ public void connectDb () { try { myConnection = DriverManager.getConnection("jdbc:mysql://localhost/web101_1?user=web101_1&password=m6YRD50D"); //myConnection = DriverManager.getConnection("jdbc:mysql://localhost/test?user=&password="); //myConnection = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost", "sa", ""); myStatement = myConnection.createStatement(); } // try catch (Exception ex) { sendErrorEmail("connectDb " + ex.toString()); } // catch } // connectDb /** * This method close the Db connection and gives the connection free */ void closeDbConnection() { try { myResultSet.close(); } // try catch (Exception ex) { } // catch try { myStatement.close(); } // try catch (Exception ex) { } // catch try { myConnection.close(); } // try catch (Exception ex) { } // catch } // closeDbConnection // #################### Declare function and methods END ####################### %> <% //######################### Begin program start ########################## try { // Class.forName("org.hsqldb.jdbcDriver"); // load the data base driver HSql Class.forName("com.mysql.jdbc.Driver"); // load the data base driver mySql } // try catch (Exception ex) { sendErrorEmail("BEGIN " + ex.toString()); } // catch connectDb (); getPageViewsTodayCounter(); getPageViewsCounter(); getHitCounter(); closeDbConnection(); %>
|
Sehr geehrte Besucherin, sehr
geehrter Besucher! Diese Website ist seit dem 2.
August 2003 ONLINE verfügbar. Hier finden Sie einen kurzen Überblick über die
aktuellen Besucherzahlen. Aufrufe insgesamt: <%=hits%> Aufrufe (IP-Lock): <%=pageViews%> Aufrufe (IP-Lock) heute: <%=pageViewToday%> Vielen Dank für Ihr Interesse! |