diff --git a/book_store.db b/book_store.db
index 4a86d6e6..bdb4bc57 100644
Binary files a/book_store.db and b/book_store.db differ
diff --git a/pom.xml b/pom.xml
index 1a90b05e..35f01a49 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,15 @@
3.1.0
provided
+
+
+ javax.servlet.jsp
+ javax.servlet.jsp-api
+ 2.3.1
+ provided
+
+
+
javax.servlet
@@ -87,6 +96,7 @@
8080
/
+ true
diff --git a/projects-cli.json b/projects-cli.json
new file mode 100644
index 00000000..80d77fa6
--- /dev/null
+++ b/projects-cli.json
@@ -0,0 +1 @@
+{ "tagPattern": "_\\w+" }
diff --git a/src/main/java/com/pluralsight/BookDAO.java b/src/main/java/com/pluralsight/BookDAO.java
index 262e495e..95fbd244 100644
--- a/src/main/java/com/pluralsight/BookDAO.java
+++ b/src/main/java/com/pluralsight/BookDAO.java
@@ -12,114 +12,111 @@
public class BookDAO {
private Connection jdbcConnection;
- public BookDAO(Connection connection)
- {
- jdbcConnection = connection;
+
+ public BookDAO(Connection connection) {
+ jdbcConnection = connection;
}
public Book getBook(int id) {
- Book book = null;
- String sql = "SELECT * FROM book WHERE id = ?";
+ Book book = null;
+ String sql = "SELECT * FROM book WHERE id = ?";
- try {
- PreparedStatement statement = jdbcConnection.prepareStatement(sql);
- statement.setInt(1, id);
+ try {
+ PreparedStatement statement = jdbcConnection.prepareStatement(sql);
+ statement.setInt(1, id);
- ResultSet resultSet = statement.executeQuery();
+ ResultSet resultSet = statement.executeQuery();
- if (resultSet.next()) {
- String title = resultSet.getString("title");
- String author = resultSet.getString("author");
- float price = resultSet.getFloat("price");
+ if (resultSet.next()) {
+ String title = resultSet.getString("title");
+ String author = resultSet.getString("author");
+ float price = resultSet.getFloat("price");
- book = new Book(id, title, author, price);
- }
+ book = new Book(id, title, author, price);
+ }
- resultSet.close();
- statement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
+ resultSet.close();
+ statement.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
- return book;
+ return book;
}
public ArrayList listAllBooks() {
- ArrayList listBook = new ArrayList<>();
+ ArrayList listBook = new ArrayList<>();
- String sql = "SELECT * FROM book";
+ String sql = "SELECT * FROM book";
- try {
- Statement statement = jdbcConnection.createStatement();
+ try {
+ Statement statement = jdbcConnection.createStatement();
- ResultSet resultSet = statement.executeQuery(sql);
+ ResultSet resultSet = statement.executeQuery(sql);
- while (resultSet.next()) {
- int id = resultSet.getInt("id");
- String title = resultSet.getString("title");
- String author = resultSet.getString("author");
- float price = resultSet.getFloat("price");
+ while (resultSet.next()) {
+ int id = resultSet.getInt("id");
+ String title = resultSet.getString("title");
+ String author = resultSet.getString("author");
+ float price = resultSet.getFloat("price");
- Book book = new Book(id, title, author, price);
- listBook.add(book);
- }
+ Book book = new Book(id, title, author, price);
+ listBook.add(book);
+ }
- resultSet.close();
- statement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
+ resultSet.close();
+ statement.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
return listBook;
}
- public boolean insertBook(Book book) {
+ public boolean insertBook(Book book) {
String sql = "INSERT INTO book (title, author, price) VALUES (?, ?, ?)";
try {
- PreparedStatement statement = jdbcConnection.prepareStatement(sql);
- statement.setString(1, book.getTitle());
- statement.setString(2, book.getAuthor());
- statement.setFloat(3, book.getPrice());
-
- boolean rowInserted = statement.executeUpdate() > 0;
- statement.close();
- return rowInserted;
+ PreparedStatement statement = jdbcConnection.prepareStatement(sql);
+ statement.setString(1, book.getTitle());
+ statement.setString(2, book.getAuthor());
+ statement.setFloat(3, book.getPrice());
+
+ boolean rowInserted = statement.executeUpdate() > 0;
+ statement.close();
+ return rowInserted;
} catch (SQLException e) {
- e.printStackTrace();
+ e.printStackTrace();
}
return false;
}
- // public void deleteBook(int id) {
- // String sql = "DELETE FROM book WHERE id = ?";
- //
- // try {
- // PreparedStatement statement = jdbcConnection.prepareStatement(sql);
- // statement.setInt(1, id);
- // statement.executeUpdate();
- //
- // statement.close();
- // } catch (SQLException e) {
- // e.printStackTrace();
- // }
- // }
- //
- // public void updateBook(Book book) {
- // String sql = "UPDATE book SET title = ?, author = ?, price = ?" +
- // " WHERE id = ?";
- //
- // try {
- // PreparedStatement statement = jdbcConnection.prepareStatement(sql);
- // statement.setString(1, book.getTitle());
- // statement.setString(2, book.getAuthor());
- // statement.setFloat(3, book.getPrice());
- // statement.setInt(4, book.getId());
- //
- // statement.executeUpdate();
- // statement.close();
- // } catch(SQLException e) {
- // e.printStackTrace();
- // }
- // }
+ public void deleteBook(int id) {
+ String SQL = "DELETE FROM book WHERE id = ?";
+ try {
+ PreparedStatement statement = jdbcConnection.prepareStatement(SQL);
+ statement.setInt(1, id);
+ statement.executeUpdate();
+ statement.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void updateBook(Book book) {
+ String SQL = "UPDATE book SET title = ?, author = ?, price = ? " + "WHERE id = ?";
+
+ try {
+ PreparedStatement statement = jdbcConnection.prepareStatement(SQL);
+ statement.setString(1, book.getTitle());
+ statement.setString(2, book.getAuthor());
+ statement.setFloat(3, book.getPrice());
+ statement.setInt(4, book.getId());
+
+ statement.executeUpdate();
+ statement.close();
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
}
diff --git a/src/main/java/com/pluralsight/ControllerServlet.java b/src/main/java/com/pluralsight/ControllerServlet.java
index 08ac0cf3..7b77b1f6 100644
--- a/src/main/java/com/pluralsight/ControllerServlet.java
+++ b/src/main/java/com/pluralsight/ControllerServlet.java
@@ -13,64 +13,67 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import javax.swing.text.PlainView;
import javax.inject.Inject;
+
/**
* Servlet implementation class HelloWorld
*/
public class ControllerServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- private DBConnection dbConnection;
-
- @Inject
- private BookDAO bookDAO;
- /**
- * @see HttpServlet#HttpServlet()
- */
-
- public void init() {
- dbConnection = new DBConnection();
- bookDAO = new BookDAO(dbConnection.getConnection());
- }
-
- public void destroy() {
- dbConnection.disconnect();
- }
+ private static final long serialVersionUID = 1L;
+ private DBConnection dbConnection;
- public ControllerServlet() {
- super();
- }
+ @Inject
+ private BookDAO bookDAO;
/**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ * @see HttpServlet#HttpServlet()
*/
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
+
+ public void init() {
+ dbConnection = new DBConnection();
+ bookDAO = new BookDAO(dbConnection.getConnection());
+ }
+
+ public void destroy() {
+ dbConnection.disconnect();
+ }
+
+ public ControllerServlet() {
+ super();
+ }
+
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
+ * response)
+ */
+ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getPathInfo();
try {
- switch(action) {
- case "/admin":
- showBookAdmin(request, response);
- break;
- case "/new":
- showNewForm(request, response);
- break;
- case "/insert":
- insertBook(request, response);
- break;
- // case "/edit":
- // showEditForm(request, response);
- // break;
- // case "/delete":
- // deleteBook(request, response);
- // break;
- // case "/update":
- // updateBook(request, response);
- // break;
- default:
- listBooks(request, response);
- break;
+ switch (action) {
+ case "/admin":
+ showBookAdmin(request, response);
+ break;
+ case "/new":
+ showNewForm(request, response);
+ break;
+ case "/insert":
+ insertBook(request, response);
+ break;
+ case "/delete":
+ deleteBook(request, response);
+ break;
+ case "/edit":
+ showEditForm(request, response);
+ break;
+ case "/update":
+ updateBook(request, response);
+ break;
+ default:
+ listBooks(request, response);
+ break;
}
} catch (Exception e) {
// TODO Auto-generated catch block
@@ -102,22 +105,6 @@ private void showNewForm(HttpServletRequest request, HttpServletResponse respons
dispatcher.forward(request, response);
}
- // private void showEditForm(HttpServletRequest request, HttpServletResponse response)
- // throws ServletException, IOException {
- // int id = Integer.parseInt(request.getParameter("id"));
- // Book existingBook = bookDAO.getBook(id);
- // RequestDispatcher dispatcher = request.getRequestDispatcher("/BookForm.jsp");
- // request.setAttribute("book", existingBook);
- // dispatcher.forward(request, response);
- // }
-
- // private void deleteBook(HttpServletRequest request, HttpServletResponse response)
- // throws ServletException, IOException {
- // int id = Integer.parseInt(request.getParameter("id"));
- // bookDAO.deleteBook(id);
- // response.sendRedirect("list");
- // }
-
private void insertBook(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, ClassNotFoundException, SQLException {
String title = request.getParameter("booktitle");
@@ -130,22 +117,39 @@ private void insertBook(HttpServletRequest request, HttpServletResponse response
response.sendRedirect("list");
}
- // private void updateBook(HttpServletRequest request, HttpServletResponse response)
- // throws ServletException, IOException, ClassNotFoundException, SQLException {
- // String idStr = request.getParameter("id");
- // int id = Integer.parseInt(idStr);
- // String title = request.getParameter("booktitle");
- // String author = request.getParameter("bookauthor");
- // String priceString = request.getParameter("bookprice");
- //
- // Book newBook = new Book(id, title, author, Float.parseFloat(priceString));
- //
- // bookDAO.updateBook(newBook);
- // response.sendRedirect("list");
- // }
+ private void deleteBook(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ int id = Integer.parseInt(request.getParameter("id"));
+ bookDAO.deleteBook(id);
+
+ response.sendRedirect("list");
+ }
+
+ private void showEditForm(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ int id = Integer.parseInt(request.getParameter("id"));
+ Book existingBook = bookDAO.getBook(id);
+ RequestDispatcher dispatcher = request.getRequestDispatcher("/BookForm.jsp");
+ request.setAttribute("book", existingBook);
+ dispatcher.forward(request, response);
+ }
+
+ private void updateBook(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+ int id = Integer.parseInt(request.getParameter("id"));
+ String title = request.getParameter("booktitle");
+ String author = request.getParameter("bookauthor");
+ String price = request.getParameter("bookprice");
+
+ Book newBook = new Book(id, title, author, Float.parseFloat(price));
+
+ bookDAO.updateBook(newBook);
+ response.sendRedirect("list");
+ }
/**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
+ * response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
diff --git a/src/main/java/com/pluralsight/LoginServlet.java b/src/main/java/com/pluralsight/LoginServlet.java
deleted file mode 100644
index ec7ca71d..00000000
--- a/src/main/java/com/pluralsight/LoginServlet.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.pluralsight;
-
-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;
-
-/**
- * Servlet implementation class LoginServlet
- */
-public class LoginServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
-
- /**
- * @see HttpServlet#HttpServlet()
- */
- public LoginServlet() {
- super();
- // TODO Auto-generated constructor stub
- }
-
- /**
- * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // TODO Auto-generated method stub
- response.getWriter().append("Served at: ").append(request.getContextPath());
- }
-
- /**
- * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
- */
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- // Get parameters
- String username = request.getParameter("username");
- String password = request.getParameter("password");
-
- PrintWriter writer = response.getWriter();
- writer.println("username = " + username + ", password = " + password);
- }
-
-}
diff --git a/src/main/java/com/pluralsight/NameHandler.java b/src/main/java/com/pluralsight/NameHandler.java
deleted file mode 100644
index b0f08951..00000000
--- a/src/main/java/com/pluralsight/NameHandler.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.pluralsight;
-
-public class NameHandler {
-
- private String name;
-
- /** Creates a new instance of NameHandler */
- public NameHandler() {
- name = null;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
-
-
-}
diff --git a/src/main/webapp/BookAdmin.jsp b/src/main/webapp/BookAdmin.jsp
index 9e9c25da..5074440f 100644
--- a/src/main/webapp/BookAdmin.jsp
+++ b/src/main/webapp/BookAdmin.jsp
@@ -4,45 +4,44 @@
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
+
- Book Store
-
+ Book Store
+
-
-
-
- List of Books
-
- | Title |
- Author |
- Price |
- In Stock |
- Add Book |
-
+
+
+
+ List of Books
+
+ | Title |
+ Author |
+ Price |
+ Add Book |
+
-
-
- | ${ item.getTitle() } |
- ${ item.getAuthor() } |
- |
- 10 |
- Edit
- Delete |
- <%-- Edit
- Delete | --%>
-
-
-
-
-
+
+
+ | ${ item.getTitle() } |
+ ${ item.getAuthor() } |
+
+
+ |
+ Edit
+ Delete |
+
+
+
+
+
-
+
+