Java-Business-Application/C2/Creating-and-viewing-inventories/English
Title of script: Creating and viewing inventories
Author: arya
Keywords: video, tutorial,fetch book details, fetch borrowed book details
|
|
Slide 1 | Welcome to the spoken-tutorial on Creating and viewing inventories. |
Slide 2 | In this tutorial we will learn to:
|
Slide 3
Software Requirements |
Here we are using
You can use any web-browser of your choice. |
Slide 4
Prerequisites |
To follow this tutorial you must have knowledge of
If not, for relevant tutorials please visit our website. |
Switch to NetBeans IDE | Now, let us switch to NetBeans IDE |
Point to the Books table. | I have created the Books table.
You can see the different fields in the table |
I have inserted 10 books into this table. | |
Point to Checkout table. | I have created Checkout table to store borrowed books. |
I have inserted 5 entries into Checkout table. | |
I have also created a model for Book and Checkout. | |
Open Book.java and Checkout.java. | Book.java is a book model.
And Checkout.java is a checkout model. |
Switch to the browser. | Now, come to the browser. |
Let us login as the admin. | |
Type the username as admin and password as admin. | So I will type the username and password as admin. Then click on Sign In. |
Point your mouse on the Admin Section Page.
|
We can see that we come to the Admin Section Page. |
Switch to Netbeans IDE. | We will come back to this page. Now let us switch to Netbeans IDE. |
We will see we how we modified the GreetingServlet to redirect to Admin Page. | |
Open GreetingServlet.java. | Let us see the GreetingServlet.java. |
Highlight if(username.equals("admin") && password.equals("admin")) {
RequestDispatcher view = request.getRequestDispatcher("adminsection.jsp"); view.forward(request, response); return;
}
|
Here we check if username and password equals admin.
If yes, then we redirect to adminsection.jsp.
|
Switch to browser. | Now, switch back to the browser. |
We have two options here. | |
Click on the radio button for List Books. | We will click on the radio button for List Books.
Then click on Submit button. |
Point to the list of all the books. | Here, we can see that we have the list of all the Books.
It has all the details like Book Id, BookName,Author Name, Publisher, ISBN, Total Copies and Available copies. |
Now I will show you how this is done.. | |
Switch back to the IDE. | Switch back to the IDE. |
Open adminsection.jsp. | Now, let us come to the adminsection dot jsp. |
Highlight <input type="radio" name="menuselection" value="listbooks">List Books <br>
<input type="radio" name="menuselection" value="listborrowedbooks">List Borrowed Books <br>
|
Here we have two radio buttons. |
Highlight <input type="radio" name="menuselection" value="listbooks">List Books <br> | The first one is to list all the books. |
Highlight form action=AdminSection.java. | We can see that in adminsection dot jsp we have the form action as equal to AdminSection. |
Open AdminSection dot java. | Open AdminSection dot java. |
Highlight if(menuSelection.equals("listbooks")){ | This checks the option that we click on.
We clicked on List Books. |
Highlight rs = statement.executeQuery("SELECT * FROM Books"); | So this part of code is executed.
We execute query to fetch books from Books table. |
Highlight
List<Book> books = new ArrayList<Book>(); |
Next we create ArrayList to store the details of books |
Highlight while(rs.next()){
Book book = new Book(); book.setBookId(rs.getInt("id")); book.setBookName(rs.getString("bookName")); book.setAuthorName(rs.getString("authorName")); book.setISBN(rs.getString("ISBN")); book.setPublisher(rs.getString("publisher")); book.setTotalCopies(rs.getInt("totalcopies")); book.setAvailCopies(rs.getInt("availablecopies")); books.add(book); }
|
Then we iterate through the result set |
Highlight Book book = new Book(); | We create Book object |
Highlight book.setBookId(rs.getInt("id")); | We set BookId into the Book object |
Highlight book.setBookName(rs.getString("bookName"));
book.setAuthorName(rs.getString("authorName")); book.setISBN(rs.getString("ISBN")); book.setPublisher(rs.getString("publisher")); book.setTotalCopies(rs.getInt("totalcopies")); book.setAvailCopies(rs.getInt("availablecopies")); |
Similarly we set other attributes of book into Book Object |
Highlight books.add(book); | Then we add book object into the books list. |
Highlight req.setAttribute("books", books); | Then we set ArrayList books into the request. |
Highlight RequestDispatcher requestDispatcher = req.getRequestDispatcher("listBooks.jsp");
requestDispatcher.forward(req, resp);
|
We forward the request to listBooks.jsp using RequestDispatcher |
Now we come to listBooks.jsp | |
Highlight <p>
This form allows you to view the list of books. </p>
|
In this page admin can view list of books. |
Highlight
<% List<Book> books = (ArrayList<Book>)request.getAttribute("books"); %>
|
Here, first we obtain books from request. |
Highlight <table width='100%' border='1'>
<thead align='center'> <th>Book Id</th> <th>Book Name</th> <th>Author Name</th> <th>ISBN</th> <th>Publisher</th> <th>Total Copies</th> <th>Available Copies</th> </thead>
|
This HTML table will display details of books.
|
Highlight <%
for(Book book:books){ %> <tr align='center'> <td><%=book.getBookId()%></td> <td><%=book.getBookName()%></td> <td><%=book.getAuthorName()%></td> <td><%=book.getISBN()%></td> <td><%=book.getPublisher()%></td> <td><%=book.getTotalCopies()%></td> <td><%=book.getAvailCopies() %></td>
<% } %>
|
So we will iterate through the book list. |
Highlight <td><%=book.getBookId()%></td> | Here we display BookId of book. |
Highlight <td><%=book.getBookName()%></td>
<td><%=book.getAuthorName()%></td> <td><%=book.getISBN()%></td> <td><%=book.getPublisher()%></td> <td><%=book.getTotalCopies()%></td> <td><%=book.getAvailCopies() %></td> |
Similarly we display other attributes of book. |
This is how we display the list of books. | |
Switch back to the browser. | Now, switch back to the browser. |
click on List of Borrowed Books. | Now, click on List of Borrowed Books.
Click on Submit button. |
Point to the list of the books issued. | We see a list of all the Books issued.
It has details like Transaction Id, Book Id and Username. |
Switch back to the IDE. | Now,I will switch back to the IDE.
And show you the code for same. |
Go to AdminSection.java. | Go to AdminSection.java. |
Highlight if(menuSelection.equals("listborrowedbooks")){ | We had clicked on List Borrowed Books.
So menuSelection is equal to List Borrowed books. |
Highlight rs = statement.executeQuery("SELECT * FROM Checkout order by transaction_Id"); | The steps are similar to what we saw for List Books.
We execute the query to fetch borrowed books details from Checkout table.
|
Highlight List<CheckOut> checkOut = new ArrayList<CheckOut>();
while(rs.next()){ CheckOut checkOutInstance = new CheckOut(); checkOutInstance.setBookId(rs.getInt("book_Id")); checkOutInstance.setTransactionId(rs.getInt("transaction_Id")); checkOutInstance.setUserName(rs.getString("username")); checkOut.add(checkOutInstance); } req.setAttribute("checkout", checkOut);
|
Then we iterate through borrowed books.
And set it into request as checkout attribute. |
Now we come to listBooks.jsp | |
List<CheckOut> checkout = (ArrayList<CheckOut>)request.getAttribute("checkout");
|
Here we obtain checkout from request. |
Highlight
<% for(CheckOut checkoutInstance:checkout){ %> <tr align='center'> <td><%=checkoutInstance.getTransactionId()%></td> <td><%=checkoutInstance.getBookId()%></td> <td><%=checkoutInstance.getUserName()%></td>
<% } %>
|
We iterate through the Checkout list.
Here we display the attributes of Checkout. |
This is how we display Borrowed Books. | |
Switch back to the browser. | Now, switch back to the browser. |
Point to the list. | In the borrowed books page we also have one more list.
The list of books issued where current date is more than the return date. |
Switch back to IDE | Switch back to IDE to see the code. |
This is done in the same way as we did for Borrowed Books.
| |
Highlight rs = statement.executeQuery("SELECT * FROM Checkout where return_date < now() order by transaction_Id "); | The only difference is in the SQL query.
In the query we give the condition, return_date < now() order by transaction_Id. |
Now I will show you the interface for a normal user. | |
Switch back to the browser. | So, switch back to the browser. |
Come back to the login page. | Come back to the login page. |
Type the username as mdhusein. | I will login as mdhusein. |
Type the password as welcome. | Type the password as welcome. |
Click on Sign In. | Click on Sign In. |
Point to Success Greeting Page. | We get a Success Greeting Page. |
Highlight Transaction Id, User Name, Book Id and Return Date. | It has the books currently borrowed by the user.
It has details like Transaction Id, User Name, Book Id and Return Date. |
Let us come back to the IDE. | Now, let us come back to the IDE. |
Go to GreetingServlet.java. | Now we go to GreetingServlet.java |
We display the books issued in same way as we did for admin.
| |
So I get the username from this line. | |
Highlight stmt = con.prepareStatement("select * from Checkout where username = ? order by return_date");
stmt.setString(1, username); rs = stmt.executeQuery(); |
Then we fetch the details of borrowed books.
With the condition username is equal to the logged in user. |
Show successGreeting dot jsp | So, we get the list of books issued for the corresponding user.
Then in successGreeting dot jsp we will display the list.
|
Slide 8
Summary |
In this tutorial we have learnt to:
|
Slide 9
About slide
|
Watch the video available at the following link.
|
Slide 10
About slide |
The Spoken Tutorial Project Team
|
Slide 11
Acknowledgement |
Spoken Tutorial Project is a part of the Talk to a Teacher Project
|
Slide 12
Contributor Slide |
The Library Management System has been contributed by a leading software MNC, through their Corporate Social Responsibility Programme.
|