Jsp+Servlet+Mysql實現圖書管理系統

基於某些須要,我嘗試着開發圖書管理系統,除了註冊登陸外,實現的系統增刪改查的基本功能。前端

項目名稱: 圖書信息管理系統java

實現方法: Jsp+Servlet+Mysqlmysql

工具: eclipse, mysql, Navicat for MySQLweb

界面展現:sql

主頁面: 數據庫

添加頁面:

修改頁面:
數據庫:
項目目錄形式:

dao用來存放接口 在這個項目中的BookDAO.java就是用來定義接口,其內容包括增刪改查的方法。
DbHelper用來鏈接數據,包括數據庫鏈接地址、數據庫用戶名、數據庫密碼等。 entity用來存放實體類,抽象方法的實現都要經過實體類。
web包裏我存放servlet文件,servlet文件用來接收前端請求並調用dao接口來實現前端請求,至關於控制器。

實現:數組

查詢全部圖書信息bash

查詢全部圖書信息因爲沒有傳值,因此能夠直接在jsp用Java腳本調用dao中的getAllBook()實現,代碼以下:eclipse

<%
   BookDAO dao = new BookDAO(); 
   List<Book> books = dao.getAllBook();
   for(int i = 0;i<books.size();i++){
   Book book = books.get(i);		
	%>
    
    <tr>
    <td><%=book.getId() %></td>
    <td><%=book.getName()%></td>
    <td><%=book.getAuthor()%></td>
    <td><%=book.getCategory()%></td>
    
    <td><a href="DeleteServlet?id=<%=book.getId() %>">刪除</a>|<a href="update.jsp?id=<%=book.getId() %>">修改</a></td>
    </tr>
    	                 		<%
					}
					%>

複製代碼

增長jsp

jsp使用post將用戶輸入的信息傳入到AddServlet,Addservlet使用getParameter獲取到jsp的值,例如:

String name = req.getParameter("name");
複製代碼

以後Addservlet保存到book並調用dao裏面的addBook()方法,經過dao這個接口實現對數據庫的操做,調用代碼以下:

Book book = new Book();
book.setId(Integer.parseInt(id));
book.setName(name); 
book.setAuthor(author);
book.setCategory(category);
BookDAO dao = new BookDAO();
dao.addBook(book);
複製代碼

當成功完成對數據庫的操做以後,我是重定向到all.jsp顯示全部圖書信息以看到本身添加的信息,代碼以下:

req.getRequestDispatcher("all.jsp").forward(req, resp);
複製代碼

刪除

在Jsp點擊刪除操做時,由 DeleteServlet獲取到id,這裏注意獲取到id是String類型要把它轉爲整型,轉換以下:

String idStr = req.getParameter("id");
int id = Integer.valueOf(idStr);
複製代碼

以後DeleteServlet調用dao執行相應的方法,刪除對應的id。刪除成功以後會重定向到all.jsp以看到刪除以後全部圖書信息,代碼以下:

BookDAO dao=new BookDAO();
dao.deleteBook(id);
req.getRequestDispatcher("AllServlet").forward(req, resp);
複製代碼
req.getRequestDispatcher("all.jsp").forward(req, resp);
複製代碼

修改

在jsp點擊修改操做時,由UpdateServlet獲取用戶輸入的修改信息,以後調用dao中updateBook()方法,完成後重定向到all.jsp,調用代碼以下:

Book book = new Book();
book.setId(Integer.parseInt(id));
book.setName(name);
book.setAuthor(author);
book.setCategory(category);
BookDAO dao = new BookDAO();
dao.updateBook(book);
複製代碼

查詢

這裏的查詢我只寫了按照圖書名稱進行查詢。

查詢時由jsp把要查詢的圖書名稱傳給SelectServlet,SelectServlet獲取到要查詢的圖書名稱name,執行到裏面的selectBook()方法,以後查詢到的信息存入數組list,以後由JSP獲取,代碼以下:

String name = req.getParameter("name");	
BookDAO dao = new BookDAO();
List<Book> list = dao.selectBook(name);		
req.setAttribute("list", list);
req.getRequestDispatcher("queryshow.jsp").forward(req, resp);
複製代碼

jsp獲取list的Java腳本以下:

ArrayList<Book> list = (ArrayList<Book>)request.getAttribute("list");
                       for(Book book:list){
								%>
    
    <tr>
    <td><%=book.getId() %></td>
    <td><%=book.getName()%></td>
    <td><%=book.getAuthor()%></td>
    <td><%=book.getCategory() %></td>
    
    <td><a href="DeleteServlet?id=<%=book.getId() %>">刪除</a>|<a href="update.jsp?id=<%=book.getId() %>">修改</a></td>
    </tr>
    	         		<%
					}
				%>

複製代碼

結束語: 此次實現圖書管理系統是出於某種緣由對我過去所學知識的一次總結和學習,此次作這個小項目花費的時間也比較長,遇到的問題也很多,但總的來講仍是比較順利,此次分享這篇文章但願對你跟我多多少少有點幫助。

相關文章
相關標籤/搜索