rendered paste bodypackage com.robinson.servlet;import com.robinson.sql.*;import com.robinson.util.ADAuth;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletConfig;import javax.servlet.ServletException;import java.sql.Connection;import java.sql.SQLException;import java.sql.DriverManager;import java.io.IOException;import java.io.PrintWriter;/** * Code copyright Sean Robinson */public class MainServlet extends HttpServlet { private String title; private String dbtype; private String dburl; private String domain; private String server; private String port; private Connection dbcon; private InkSQL inkSQL; private InventorySQL invSQL; private PrinterSQL printSQL; private TeacherSQL teachSQL; private UserSQL userSQL; public void init(ServletConfig config) throws ServletException { title = config.getServletContext().getInitParameter("title"); dbtype = config.getServletContext().getInitParameter("dbtype"); dburl = config.getServletContext().getInitParameter("dburl"); domain = config.getServletContext().getInitParameter("domain"); server = config.getServletContext().getInitParameter("server"); port = config.getServletContext().getInitParameter("port"); try { Class.forName(dbtype).newInstance(); dbcon = DriverManager.getConnection(dburl,"root","root"); inkSQL = new InkSQL(dbcon); invSQL = new InventorySQL(dbcon); printSQL = new PrinterSQL(dbcon); teachSQL = new TeacherSQL(dbcon); userSQL = new UserSQL(dbcon); } catch (Exception e){ throw new ServletException(e); } } public String getPath(HttpServletRequest request, String path) { return request.getContextPath()+request.getServletPath()+"/"+path; } public void checkSession(HttpServletRequest request, HttpServletResponse response) throws IOException { if(request.getSession().getAttribute("user") == null){ response.sendRedirect(getPath(request,"Login")); } } public void printTop(HttpServletRequest request, HttpServletResponse response, boolean print) throws IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"\n" + "\"http://www.w3.org/TR/html4/loose.dtd\">\n" + "<html>\n" + "<head>\n" + "<title>"+title+"</title>\n" + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n" + "</head>\n"); if(print){ out.println("<body onLoad=javascript:window.print();><h1><center>Printing Inventory</center></h1>"); } else { out.println("<body>"); } } public void printBottom(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); out.println("<br><hr><font size=\"2\">Design and Code © Sean Robinson</font>\n" + "</body>\n" + "</html>\n"); } public void printLogin(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); printTop(request,response,false); out.println("<form name=\"form1\" method=\"post\" action=\""+getPath(request,"Verify_Login")+"\">\n" + " <p>Username: <input name=\"user\" type=\"text\" id=\"user\">\n" + " </p>\n" + " <p>Password: \n" + " <input name=\"password\" type=\"password\" id=\"password\">\n" + " </p>\n" + " <p>\n" + " <input name=\"Submit\" type=\"submit\" id=\"Submit\" value=\"Login\"> \n" + " </p>\n" + "</form>"); printBottom(request,response); } public void executeLogin(HttpServletRequest request, HttpServletResponse response) throws IOException, SQLException { String user = request.getParameter("user"); String pass = request.getParameter("password"); if(user == null || pass == null || user.equals("")||pass.equals("")){ response.sendRedirect(getPath(request,"Login?reason=1")); } else { if(userSQL.isUser(user)){ if(ADAuth.authenticate(domain,server,port,user,pass)){ request.getSession().setAttribute("user",user); response.sendRedirect(getPath(request,"Home")); } else { response.sendRedirect(getPath(request,"Login?reason=3")); } } else { response.sendRedirect(getPath(request,"Login?reason=2")); } } } public void printHome(HttpServletRequest request, HttpServletResponse response) throws IOException { PrintWriter out = response.getWriter(); checkSession(request,response); printTop(request,response,false); out.println("<h3>System Panel</h3>"); out.println("Manage Inventory"); out.println("Manage Ink/Toner"); out.println("Manage Printers"); out.println("Manage Teachers"); printBottom(request,response); } public void managePath(HttpServletRequest request,HttpServletResponse response) throws IOException, SQLException { String path = request.getPathInfo(); if(path == null || path.equals("")){ response.sendRedirect(getPath(request,"Home")); } else { if(path.equals("/")){ response.sendRedirect(getPath(request,"Home")); } else if (path.equals("/Home")){ printHome(request,response); } else if (path.equals("/Login")){ printLogin(request,response); } else if (path.equals("/Verify_Login")){ executeLogin(request,response); } else if (path.equals("/View")){ } } } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException { try { managePath(request,response); } catch (Exception e) { throw new ServletException(e); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException { doGet(request, response); }}