logo

login.html

Các bài toán lập trình liên quan đến web
login.html LOGIN Username Password       New user ? Account.java package myEntities; public class Account { private String username; private String password; public Account(String username, String password) { this.username = username; this.password = password; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } } ConfigDB.java package myEntities; import javax.servlet.ServletContext; public class ConfigDB { private String driverDB, urlDB, userDB, passDB; public ConfigDB(ServletContext context) { this.driverDB = context.getInitParameter("DriverDB").trim(); this.urlDB = context.getInitParameter("UrlDB").trim(); this.userDB = context.getInitParameter("UserDB").trim(); this.passDB = context.getInitParameter("PassDB").trim(); } public String getDriverDB() { return driverDB; } public void setDriverDB(String driverDB) { this.driverDB = driverDB; } public String getPassDB() { return passDB; } public void setPassDB(String passDB) { this.passDB = passDB; } public String getUrlDB() { return urlDB; } public void setUrlDB(String urlDB) { this.urlDB = urlDB; } public String getUserDB() { return userDB; } public void setUserDB(String userDB) { this.userDB = userDB; } } AccountDAO.java package myDAOs; import myEntities.*; import java.sql.*; public class AccountDAO { private ConfigDB cfgDB; public AccountDAO(ConfigDB cfgDB) { this.cfgDB = cfgDB; } private Connection createConnection() throws Exception { Class.forName(cfgDB.getDriverDB()); Connection con = DriverManager.getConnection(cfgDB.getUrlDB(),cfgDB.getUserDB(),cfgDB.getPassDB()); return con; } public boolean isExistAccount(Account account) throws Exception { String strQuery = "SELECT * FROM Account WHERE Username=? AND Password=?"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setString(1, account.getUsername()); pst.setString(2, account.getPassword()); ResultSet rs = pst.executeQuery(); if (rs.next()) return true; else return false; } public boolean insertAccount(Account account) throws Exception { String strQuery = "INSERT INTO Account VALUES(?,?)"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setString(1, account.getUsername()); pst.setString(2, account.getPassword()); int rowsAffect = pst.executeUpdate(); if (rowsAffect > 0) return true; else return false; } } ControllerServlet.java package myServlets; import myEntities.*; import myDAOs.*; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ControllerServlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action = request.getParameter("action"); if (action.equals("loginUser")) { handleLoginUser(request, response); } else if (action.equals("home")) { response.sendRedirect("login.html"); } else if (action.equals("formRegister")) { response.sendRedirect("register.html"); } else if (action.equals("registerUser")) { handleRegisterUser(request, response); } else if (action.equals("pagingPage")) { String pageID = request.getParameter("pageID"); response.sendRedirect("book-list.jsp?pageID=" + pageID); } else if (action.equals("formNewBook")) { response.sendRedirect("book-new.html"); } else if (action.equals("newBook")) { handleNewBook(request, response); } else if (action.equals("deleteBook")) { handleDeleteBook(request, response); } else if (action.equals("formEditBook")) { String strCode = request.getParameter("code"); response.sendRedirect("book-edit.jsp?code=" + strCode); } else if (action.equals("editBook")) { handleEditBook(request, response); } else if (action.equals("logoutUser")) { request.getSession(true).removeAttribute("username"); response.sendRedirect("ControllerServlet?action=home"); } } private void handleLoginUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String strUser = request.getParameter("txtUsername"); String strPass = request.getParameter("txtPassword"); Account acc = new Account(strUser, strPass); ConfigDB cfgDB = new ConfigDB(this.getServletContext()); AccountDAO accDAO = new AccountDAO(cfgDB); boolean result = false; try { if (accDAO.isExistAccount(acc)) { request.getSession(true).setAttribute("username", strUser); result = true; } } catch (Exception ex) { ex.printStackTrace(); } if (result) response.sendRedirect("book-list.jsp"); else response.sendRedirect("login-fail.html"); } private void handleRegisterUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String strUser = request.getParameter("txtUsername"); String strPass = request.getParameter("txtPassword"); Account acc = new Account(strUser, strPass); ConfigDB cfgDB = new ConfigDB(this.getServletContext()); AccountDAO accDAO = new AccountDAO(cfgDB); boolean result = false; try { if (accDAO.insertAccount(acc)) result = true; } catch (Exception ex) { ex.printStackTrace(); } if (result) response.sendRedirect("ControllerServlet?action=home"); else response.sendRedirect("register-fail.html"); } private void handleNewBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("txtBookName"); String author = request.getParameter("txtBookAuthor"); String price = request.getParameter("txtBookPrice"); Book b = new Book(0, name, author, Integer.parseInt(price)); ConfigDB cfgDB = new ConfigDB(this.getServletContext()); BookDAO bDAO = new BookDAO(cfgDB); boolean result = false; try { if (bDAO.insertBook(b)) result = true; } catch (Exception ex) { ex.printStackTrace(); } if (result) response.sendRedirect("book-list.jsp"); else response.sendRedirect("book-fail.html"); } private void handleDeleteBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String strCode = request.getParameter("code"); ConfigDB cfgDB = new ConfigDB(this.getServletContext()); BookDAO bDAO = new BookDAO(cfgDB); boolean result = false; try { if (bDAO.deleteBook(Integer.parseInt(strCode))) result = true; } catch (Exception ex) { ex.printStackTrace(); } if (result) response.sendRedirect("book-list.jsp"); else response.sendRedirect("book-fail.html"); } private void handleEditBook(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String code = request.getParameter("txtBookCode"); String name = request.getParameter("txtBookName"); String author = request.getParameter("txtBookAuthor"); String price = request.getParameter("txtBookPrice"); Book b = new Book(Integer.parseInt(code), name, author, Integer.parseInt(price)); ConfigDB cfgDB = new ConfigDB(this.getServletContext()); BookDAO bDAO = new BookDAO(cfgDB); boolean result = false; try { if (bDAO.updateBook(b)) result = true; } catch (Exception ex) { ex.printStackTrace(); } if (result) response.sendRedirect("book-list.jsp"); else response.sendRedirect("book-fail.html"); } } login-fail.html LOGIN Invalid user ... Please, login again Book.java package myEntities; public class Book { private int code; private String name; private String author; private int price; public Book(int code, String name, String author, int price) { this.code = code; this.name = name; this.author = author; this.price = price; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } } BookDAO.java package myDAOs; import myEntities.*; import java.sql.*; import java.util.*; public class BookDAO { private ConfigDB cfgDB; public BookDAO(ConfigDB cfgDB) { this.cfgDB = cfgDB; } private Connection createConnection() throws Exception { Class.forName(cfgDB.getDriverDB()); Connection con = DriverManager.getConnection(cfgDB.getUrlDB(),cfgDB.getUserDB(),cfgDB.getPassDB()); return con; } public ArrayList getAllBooks() throws Exception { ArrayList result = new ArrayList(); String strQuery = "SELECT * FROM Book"; Statement st = createConnection().createStatement(); ResultSet rs = st.executeQuery(strQuery); while (rs.next()) { Book book = new Book(rs.getInt("BookCode"), rs.getString("BookName"), rs.getString("BookAuthor"), rs.getInt("BookPrice")); result.add(book); } return result; } public ArrayList getBooks(int numOfRowsOnePage, int indexOfPage) throws Exception { ArrayList result = new ArrayList(); int startRow = (indexOfPage - 1) * numOfRowsOnePage; String strQuery = " SELECT TOP " + numOfRowsOnePage + " * FROM Book WHERE BookCode NOT IN"; strQuery += " (SELECT TOP " + startRow + " BookCode FROM Book ORDER BY BookCode)"; strQuery += " ORDER BY BookCode"; Statement st = createConnection().createStatement(); ResultSet rs = st.executeQuery(strQuery); while (rs.next()) { Book book = new Book(rs.getInt("BookCode"), rs.getString("BookName"), rs.getString("BookAuthor"), rs.getInt("BookPrice")); result.add(book); } return result; } public int getRowCount() throws Exception { String strQuery = "SELECT COUNT(*) FROM Book"; Statement st = createConnection().createStatement(); ResultSet rs = st.executeQuery(strQuery); if (rs.next()) return rs.getInt(1); else return 0; } public boolean insertBook(Book book) throws Exception { String strQuery = "INSERT INTO Book VALUES(?,?,?)"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setString(1, book.getName()); pst.setString(2, book.getAuthor()); pst.setInt(3, book.getPrice()); int rowsAffect = pst.executeUpdate(); if (rowsAffect > 0) return true; else return false; } public boolean deleteBook(int code) throws Exception { String strQuery = "DELETE FROM Book WHERE BookCode=?"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setInt(1, code); int rowsAffect = pst.executeUpdate(); if (rowsAffect > 0) return true; else return false; } public Book getBook(int code) throws Exception { Book book = new Book(code, "", "", 0); String strQuery = "SELECT * FROM Book WHERE BookCode=?"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setInt(1, code); ResultSet rs = pst.executeQuery(); if (rs.next()) { book.setName(rs.getString("BookName")); book.setAuthor(rs.getString("BookAuthor")); book.setPrice(rs.getInt("BookPrice")); } return book; } public boolean updateBook(Book book) throws Exception { String strQuery = "UPDATE Book SET BookName=?, BookAuthor=?, BookPrice=? WHERE BookCode=?"; PreparedStatement pst = createConnection().prepareStatement(strQuery); pst.setString(1, book.getName()); pst.setString(2, book.getAuthor()); pst.setInt(3, book.getPrice()); pst.setInt(4, book.getCode()); int rowsAffect = pst.executeUpdate(); if (rowsAffect > 0) return true; else return false; } } book-list.jsp JSP Page LIST BOOK Book Code Book Name Book Author Book Price Management ArrayList arrBooks = bDAO.getBooks(numOfRowsOnePage, pageID); String strRows = ""; for(Book book : arrBooks) { strRows += ""; strRows += "" + book.getCode() + ""; strRows += "" + book.getName() + ""; strRows += "" + book.getAuthor() + ""; strRows += "" + book.getPrice() + ""; strRows += "Edit"; strRows += "Delete"; strRows += ""; } out.print(strRows); %> New Book ? Logout register.html REGISTER Username Password   register-fail.html ACTION USER Insert user fail ... Please, register again book-new.html NEW BOOK Book Name Book Author Book Price   book-fail.html BOOK Action fail ... book-edit.jsp JSP Page BOOK DETAILS Book Code Book Name Book Author Book Price  
DMCA.com Protection Status Copyright by webtailieu.net