import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; import java.security.*; public class CheckRecords extends HttpServlet { private Connection dbConnection; public void init() { dbConnection = DBInfo.connectToDatabase(); } public void destroy() { if(dbConnection != null) { try { dbConnection.close(); } catch(Exception e) { } } } synchronized private String getManager(String person) { String manager=null; try { Statement stmt = dbConnection.createStatement (); String selectcommand = "Select * from Manages where EMPLOYEE='" + person + "'"; ResultSet rset = stmt.executeQuery(selectcommand ); if(rset.next()) { manager = rset.getString("Manager"); } stmt.close(); } catch(Exception e) { } return manager; } public void doPost (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String person = request.getParameter("ENAME"); if(person==null) { response.sendRedirect("/combo/BadData.html"); return; } String client = request.getRemoteUser(); if(client.equals(person)) { generateReport(client,response); return; } if(!request.isUserInRole("manager")) { response.sendRedirect("/combo/NoAccess.html"); return; } String mm = getManager(person); if(!client.equals(mm)) { response.sendRedirect("/combo/NoAccess.html"); return; } generateReport(person,response); } synchronized public void generateReport(String name, HttpServletResponse response) throws ServletException, IOException { try { PrintWriter out = response.getWriter(); out.println("
"); int count = 0; double total= 0.0; ServletContext ctx = getServletContext(); RatesRecord rates = (RatesRecord) ctx.getAttribute("RatesTable"); if(rates==null) { rates = new RatesRecord(); ctx.setAttribute("RatesTable", rates); } Statement stmt = dbConnection.createStatement (); String selectsql = "Select * from Work where NAME='" + name + "'"; ResultSet rset = stmt.executeQuery(selectsql); while(rset.next()) { if(count==0) { out.println("
| Activity | "); out.println("Hours | "); out.println("Amount | "); out.println("
|---|---|---|
| "+ key + " | "); out.println(""+val+" | "); out.println("$"+amount+" | "); out.println("
Total earnings $"+total); out.println(""); } catch(Exception e) { response.sendRedirect("/combo/NoDB.html"); } } private void generatePrompt(HttpServletResponse response) throws ServletException, IOException { PrintWriter out = response.getWriter(); out.println("