<html> <%@ page import="java.io.*,java.util.*,java.sql.*"%> <%@ page import="javax.servlet.http.*,javax.servlet.*" %> <head> <title>SELECT Operation</title> </head> <body> <center><h1>Using SQL, jspInit, and jspDestroy</h1></center><hr /> <%! //Declarations String JDBC_DRIVER = "org.mariadb.jdbc.Driver"; String DB_URL = "jdbc:mariadb://localhost:3306/cs4010"; String USER = "cs4010"; String PASS = "cs4010"; Connection conn = null; Statement stmt = null; int visits=0; int sessions; int total_visits; ResultSet rs; String error=""; public void jspInit() { try { Class.forName(JDBC_DRIVER).newInstance(); conn = DriverManager.getConnection(DB_URL,USER,PASS); stmt = conn.createStatement(); rs = stmt.executeQuery("select * from sessions_visits where sv_id=1"); while (rs.next()) { total_visits =rs.getInt("visits"); sessions =rs.getInt("sessions"); sessions++; } } catch (Exception e) { e.printStackTrace(); } } public void jspDestroy() { try { conn = DriverManager.getConnection(DB_URL,USER,PASS); stmt = conn.createStatement(); String the_query="update sessions_visits set visits="+(total_visits+visits)+",sessions="+sessions+" where sv_id=1"; int the_result = stmt.executeUpdate(the_query); System.out.println(the_result); } catch (Exception e) { e.printStackTrace(); } } %> <% visits++;%> <h3>There have been <%=visits%> visits this session;</h3> <h3>There have been <%=sessions%> past sessions with <%=total_visits%> total visits</h3> </body> </html>
init_destroysql.jsp The Table (Could be used to track sessions and visits on more than one JSP or Servlet) CREATE TABLE sessions_visits ( sv_id int NOT NULL AUTO_INCREMENT, visits int, sessions int, PRIMARY KEY (sv_id) )