《2022年javaWeb图书管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年javaWeb图书管理系统 .pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验报告模板实验报告课程名称高级 Java程序设计实验项目基于 MVC 模式的 Web 综合应用实验仪器_ 个人计算机_系别_计算机学院 _专业_计算机科学与技术 _班级/ 学号_计科 1204 学生姓名_ 实验日期_ 2014/5/21/ _成绩 _指导教师 _ _名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 25 页 - - - - - - - - - 目录第一章 需求分析 .第二章 总体设计 .2.1 本系统的主要功能 .2.2 Java 源文件及其功能 .2.3
2、 项目构建思路 .第三章 模块功能介绍 .第四章 功能测试及运行效果.参考文献 .工作总结 .名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 25 页 - - - - - - - - - 第一章:需求分析任务 1 开发图书馆管理信息系统项目需求 :1.基于 MVC 模式开发该Java Web 项目;2.本系统有两类用户角色,普通用户和管理员用户;3.普通用户:浏览图书信息,分类浏览,能够分别根据书名、作者、出版社为关键字查询图书;登陆后还可借阅图书;4. 管理员用户管理系
3、统各项信息,包括:信息的添加、修改和删除。5. 建立的图书类包含如下信息:编号、书名、作者、出版社、出版日期。项目设计选择开发模型 MVC第二章:总体设计2.1 本系统的主要功能:1、基于 MVC 模式开发该Java Web 项目;2、本系统有两类用户角色,普通用户和管理员用户;3、普通用户:浏览图书信息,分类浏览,能够分别根据书名、作者、出版社为关键字查询图书;登陆后还可借阅图书;4、管理员用户管理系统各项信息,包括:信息的添加、修改和删除。5、建立的图书类包含如下信息:编号、书名、作者、出版社、出版日期。2.2 Java 源文件及其功能 (功能在下一章讲述 ):Index.jsp层文件名描
4、述list.jsp 浏览所有图书信息,并提供添加、修改和删除图书的超级链接。add.html 添加图书信息页面edit.jsp 编辑图书信息页面,该页面会显示已有的图书信息。success.html 操作成功提示页面,含有浏览图书信息的超级链接。视图层failure.html 操作失败提示页面,含有返回超级链接。控制层BookController.java Servlet,负责根据用户请求的URL 调用不同的模型进行处理,最后选择不同视图响应用户。DBBean.java 连接数据库的JavaBean (同第 7 章的 DBBean)模型层BookInfo.java 完成图书信息读取、添加、修改
5、和删除操作的JavaBean。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 25 页 - - - - - - - - - 欢迎进入图书馆里系统!普通用户 管理员用户 管理员密码 Manager.jsp 添加图书 编号 书名 作者 出版社 出版日期 管理 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 25 页 - - - - - - - - - %
6、request.setCharacterEncoding(utf-8);ArrayList list=(ArrayList)request.getAttribute(list);for(bookinfo bi:list)String id=bi.getId();%a href=/servlets/edit.do?id=修改a href=/servlets/delete.do?id=删除Reader.jsp 现有图书信息点击查询 编号 书名名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第
7、 5 页,共 25 页 - - - - - - - - - 作者 出版社 出版日期 借阅%request.setCharacterEncoding(utf-8);ArrayList list=(ArrayList)request.getAttribute(list);for(bookinfo bi:list)String id=bi.getId();%input type=hidden name=id value=Success.jsp操作成功 浏览图书信息 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
8、- - - - - 第 6 页,共 25 页 - - - - - - - - - Finalcheck.jsp编号 书名 作者 出版社 出版日期 Successreader.jsp名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 25 页 - - - - - - - - - 操作成功 浏览图书信息 Failure.jsp操作失败 点击返回 Edit.jsp名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
9、心整理 - - - - - - - 第 8 页,共 25 页 - - - - - - - - - input type=hidden name=id value= 修改信息 书名 input type=text value= name=name 作者 input type=text value= name=author 出版社 input type=text value= name=press 出版日期 input type=text value= name=date Check.jspinput type=hidden name=id value= 修改信息 书名 input type=te
10、xt value= name=name 作者 input type=text value= name=author 出版社 input type=text value= name=press 出版日期 input type=text value= name=date Add.jsp 图书信息 编号 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 25 页 - - - - - - - - - 书名 作者 出版社 出版日期 Common.jsfunction check()
11、if(form1.id.value=)alert (no id!);form1.id.focus();return false;if(form1.name.value=)alert(no name!);form1.name.focus();return false;if(form1.author.value=)alert(no author!);form1.author.focus();return false;if(form1.press.value=)alert(no press!);form1.press.focus();return false;if(form1.date.value=
12、)alert(no date!)form1.date.focus();return false;Bookinfo.java名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 25 页 - - - - - - - - - package bean;import java.lang.Exception;import java.lang.String;import java.lang.System;import java.sql.*;import java.sql.Connect
13、ion;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.*;import java.util.ArrayList;public class bookinfoprivate String id;private String name;private String author;private String press;private String date;public void setName(String name) this.name = na
14、me;public String getName() return name;public void setAuthor(String author) this.author = author;public String getAuthor() return author;public void setDate(String date) this.date = date;public String getDate() return date;public void setPress(String press) this.press = press;名师资料总结 - - -精品资料欢迎下载 -
15、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 25 页 - - - - - - - - - public String getPress() return press;public void setId(String id) this.id = id;public String getId() return id;public static ArrayList getbooklist()ArrayList list=new ArrayList();String sql=select * from mvc_book
16、;bean.dbbean jdbc=new bean.dbbean();ResultSet rs=jdbc.executeQuery(sql);trywhile(rs.next()bookinfo bi=new bookinfo();bi.setId(rs.getString(id);bi.setName(rs.getString(name);bi.setAuthor(rs.getString(author);bi.setPress(rs.getString(press);bi.setDate(rs.getString(date);list.add(bi);rs.close();catch(S
17、QLException e)e.printStackTrace();jdbc.close();return list;public static bookinfo getbookbyid(String id)String sql=select * from mvc_book where id=+id;dbbean jdbc=new dbbean();ResultSet rs=jdbc.executeQuery(sql);bookinfo bi = new bookinfo();try名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
18、 名师精心整理 - - - - - - - 第 13 页,共 25 页 - - - - - - - - - if(rs.next()bi.setDate(rs.getString(date);bi.setPress(rs.getString(press);bi.setAuthor(rs.getString(author);bi.setName(rs.getString(name);bi.setId(rs.getString(id);rs.close();catch(SQLException e)System.out.println(no find);jdbc.close();return bi
19、;public static int updatebook(String id,String name,String author,String press,String date)int result=0;String sql=update mvc_book set name=+name+,author=+author+,press=+press+,date=+date+ where id=+id;dbbean jdbc=new dbbean();result=jdbc.executeUpdate(sql);return result;public static int deletebook
20、(String id)int result=0;String sql=delete from mvc_book where id=+id;dbbean jdbc=new dbbean();result=jdbc.executeUpdate(sql);return result;public static int addbook(String id,String name,String author,String press,String date)int result=0;String sql=insert into mvc_book(id,name,author,press,date) va
21、lues(id,+name+,+author+,+press+,+date+);dbbean jdbc=new dbbean();result=jdbc.executeUpdate(sql);return result;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 25 页 - - - - - - - - - Dbbean.javapackage bean;import java.lang.Exception;import java.lang.String;impor
22、t java.lang.System;import java.sql.*;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;public class dbbeanprivate String driverStr=com.mysql.jdbc.Driver;private String connStr=jdbc:mysql:/localhost:3306/book?characterEncoding=utf-8;private String name=root;private String
23、 password=xyh201268;private Connection conn=null;private Statement stmt=null;public dbbean()tryClass.forName(driverStr);conn=DriverManager.getConnection(connStr,name,password);stmt=conn.createStatement();catch(Exception ex)System.out.println(no connect);public int executeUpdate(String s)int result=0
24、;tryresult=stmt.executeUpdate(s);catch(Exception ex)System.out.println(update wrong!);return result;public ResultSet executeQuery(String s)ResultSet rs=null;tryrs=stmt.executeQuery(s);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 25 页 - - - - - - - - - catch(
25、Exception ex)System.out.println(check wrong!);return rs;public void close()trystmt.close();conn.close();catch(Exception ex)System.out.println(close!);Servlet.javapackage servlets;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;
26、import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import bean.*;/* Created by Administrator on 14-5-31.*/public class Servlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response
27、) throws ServletException, IOException doPost(request, response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);String action=request.getServletPath();if(action.equals(/servlets/depend.do)String
28、 value=request.getParameter(password);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 25 页 - - - - - - - - - if(value.equals(123)ArrayList list= bean.bookinfo.getbooklist();request.setAttribute(list, list);request.getRequestDispatcher(/manager.jsp).forward(requ
29、est,response);else ArrayList list= bean.bookinfo.getbooklist();request.setAttribute(list, list);request.getRequestDispatcher(/reader.jsp).forward(request,response);else if (action.equals(/servlets/list.do)ArrayList list= bean.bookinfo.getbooklist();request.setAttribute(list, list);request.getRequest
30、Dispatcher(/manager.jsp).forward(request,response);else if(action.equals(/servlets/edit.do)String id =request.getParameter(id);bean.bookinfo bi= bean.bookinfo.getbookbyid(id);request.setAttribute(bi,bi);request.getRequestDispatcher(/edit.jsp).forward(request,response);else if(action.equals(/servlets
31、/update.do)String id=request.getParameter(id);String name=request.getParameter(name);String author=request.getParameter(author);String press=request.getParameter(press);String date=request.getParameter(date);int r= bean.bookinfo.updatebook(id, name, author, press, date);if (r=1)request.getRequestDis
32、patcher(/success.jsp).forward(request,response);elserequest.getRequestDispatcher(/failure.jsp).forward(request,response);else if (action.equals(/servlets/delete.do)String id=request.getParameter(id);int r= bean.bookinfo.deletebook(id);if (r=1)request.getRequestDispatcher(/success.jsp).forward(reques
33、t,response);elserequest.getRequestDispatcher(/failure.jsp).forward(request,response);名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 25 页 - - - - - - - - - else if (action.equals(/servlets/add.do)String id=request.getParameter(id);String name=request.getParamet
34、er(name);String author=request.getParameter(author);String press=request.getParameter(press);String date=request.getParameter(date);int r= bean.bookinfo.addbook(id, name, author, press, date);if (r=1)request.getRequestDispatcher(/success.jsp).forward(request,response);elserequest.getRequestDispatche
35、r(/failure.jsp).forward(request,response);else if (action.equals(/servlets/borrow.do)String borrow=request.getParameter(borrow);if(borrow.equals(123)String id=request.getParameter(id);int r= bean.bookinfo.deletebook(id);if (r=1)request.getRequestDispatcher(/success.jsp).forward(request,response);els
36、erequest.getRequestDispatcher(/failure.jsp).forward(request,response);else if (action.equals(/servlets/check.do)String id=request.getParameter(id);bean.bookinfo bi= bean.bookinfo.getbookbyid(id);request.setAttribute(bi,bi);request.getRequestDispatcher(/finalcheck.jsp).forward(request,response);2.3 项
37、目构建思路 :1、主界面有两条通道,管理员必须要有密码才能进入管理员页面,管理员页面具有修改,删除,添加等功能,而普通用户则具有借阅图书(我这边的借阅图书,相当于删除,没有名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 25 页 - - - - - - - - - 后续的功能),按编号查询图书信息等功能。2、界面有javascript来验证修改或者录取图书时,是否输入为空。3、servlet 用来响应所有的页面请求,然后根据请求做出相应的操作。4、javabean 有两
38、个,一个用来连接数据库,一个用来封装图书类的信息,并有操作。第三章 模块功能介绍Index.jsp: 主页,用来登录管理员或者普通用户。Manager.Jsp :管理员用户的主页,界面具有增加,修改,删除等功能。Add.jsp :用来增加图书。Edit.jsp :用来修改图书。Reader.jsp :普通用户的主页,具有借阅,查找等功能。Success.jsp:管理员用户操作成功后,提示信息,并返回。Successreader.jsp :普通用户操作成功后,提示信息,并返回。Failure.Jsp :操作失败时,返回上一次层。Check.jsp :按编号查询FinalCheck.jsp :用来
39、返回查找的信息。Common.js :输入校验。Bookinfo.java :封装图书类信息,并有相应删除,修改等操作。Dbbean.java :连接数据库Servlet.Java :用来响应所有界面的操作。第四章 功能测试及运行效果根据截图一步步往下走,功能很清晰:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
40、 名师精心整理 - - - - - - - 第 20 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - -
41、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 25 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 25 页 - - - - - - - - - 工作总结1、 MVC 设计理念认为,在一个应用系统中,用户界面发生变动的可能性最大,控制部分变动次之,而业务逻辑是最稳定的。因此,业务逻辑的实现代码不应和反映用户界面的代码混杂在一起,而是尽可能地独立和分离,并由
42、控制器来担当两者交互的“门面( Fa?ade ) ”开发基于MVC 模式的 Web 应用时,视图层可以选择JSP页面实现,控制器可以选择Servlet,负责流程控制,模型的调用和视图的选择;模型层可以用Java 类来实现,完成相应的业务逻辑。开发过程中要注意路径的正确书写以及对于在JSP页面中对get 或 post 方式提交的中文参数的特殊处理。Web 应用开发完成后,可以使用jar 命令对其打包,打包后的应用便于发布和移植。2、 jsp 所有的请求先发给servlet,servlet 根据请求做出相应,或是访问javabean 获取数据,或者传入另一个jsp 页面。总的来说,servlet 是作为控制层面来讲的。3、 只要两个 java 文件在同一目录下,则他们不需要互相导入包,即可使用对方的类,不需要导入包了。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 25 页 - - - - - - - - -