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>
    	         		<%
					}
				%>

复制代码

结束语: 此次实现图书管理系统是出于某种缘由对我过去所学知识的一次总结和学习,此次作这个小项目花费的时间也比较长,遇到的问题也很多,但总的来讲仍是比较顺利,此次分享这篇文章但愿对你跟我多多少少有点帮助。

相关文章
相关标签/搜索