




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件开发基础(Java)综合性实验报告题 目: MVC实验 图书管理系统班 级: 学生学号: 学生姓名: 指导老师: 提交时间:2016年1月14日数学与信息学院1、 实验目的掌握基于MVC的三层架构。2、 实验题目通过数据源和DAO对象访问数据库。其中JavaBeans实现模型,访问数据库,Servlet实现控制器,JSP页面实现视图。 模型包括2个JavaBean:BookBean用于存放图书信息,BookDAO用于访问数据库。 控制器包括2个Servlet:BookQueryServlet根据请求参数查询图书信息、BookInsertServlet用来向数据库中插入数据。 视图包括4个JSP页面:bookQuery.jsp显示查询页面、bookInsert.jsp显示插入页面、display.jsp显示查询结果页面和errorPage.jsp显示错误页面。3、 具体实现1.设计数据库CREATE TABLE books ( bookid varchar(20) PRIMARY KEY, titlevarchar(50)author varchar(30), publisher varchar(40), price Float);2.程序流程查询图书信息插入图书信息3.代码实现(1)存放图书信息的JavaBeans代码BookBean.javapackage com.beans;import java.io.*;public class BookBean implements Serializable private String bookid = null;/图书编号 private String title = null;/ 图书书名 private String author = null;/ 图书作者 private String publisher = null;/ 图书出版社 private float price = 0.0F;/ 图书价格 public BookBean() public BookBean(String bookId, String author, String title, String publisher, float price) this.bookid = bookId; this.title = title; this.author = author; this.publisher = publisher;this.price = price; public String getBookid() return this.bookid; public String getTitle() return title; public String getAuthor() return this.author; public float getPrice() return price; public String getPublisher () return publisher; public void setBookid(String bookid) this.bookid=bookid; public void setTitle(String title)this.title=title; public void setAuthor(String author) this. author = author; public void setPrice(float price)this.price=price; public void setPublisher (String publisher) this.publisher = publisher;(2)BookDAO是一个简单的JavaBeans,它实现数据库的访问package com.beans;import java.sql.*;import javax.sql.*;import javax.naming.*;import java.util.ArrayList;public class BookDAO private static Context context= null; private DataSource dataSource = null; public BookDAO() try if(context = null) context = new InitialContext(); context = (Context)context.lookup(“java:comp/env”);/ 连接的是在context.xml下面配置的数据库连接池 dataSource = (DataSource)context.lookup(databasePool); catch(NamingException e2) / 根据书号查询图书信息 public BookBean searchBook(String bookid) Connection conn = null; PreparedStatement pstmt = null; ResultSet rst = null; BookBean book = new BookBean(); try conn = dataSource.getConnection(); pstmt = conn.prepareStatement(SELECT * FROM books WHERE bookid=?); pstmt.setString(1,bookid); rst = pstmt.executeQuery(); if(rst.next() book.setBookid(rst.getString(bookid); book.setTitle(rst.getString(title); book.setAuthor(rst.getString(author); book.setPublisher(rst.getString(publisher); book.setPrice(rst.getFloat(price); return book; else return null; catch(SQLException se) return null; finally try conn.close(); catch(SQLException se) / 插入一本图书记录 public boolean insertBook(BookBean book) Connection conn = null; PreparedStatement pstmt = null; try conn = dataSource.getConnection(); pstmt = conn.prepareStatement( INSERT INTO books VALUES(?,?,?,?,?); pstmt.setString(1,book.getBookid(); pstmt.setString(2,book.getTitle(); pstmt.setString(3,book.getAuthor(); pstmt.setString(4,book.getPublisher(); pstmt.setFloat(5,book.getPrice(); pstmt.executeUpdate(); pstmt.close(); return true; catch(SQLException se) return false; finally try conn.close(); catch(SQLException se) (3)JSP页面bookQuery.jsp实现根据书号查询图书信息 Book Query请输入一个书号:(4)JSP页面bookInsert.jsp实现向数据库中插入数据 Book Insert请输入图书信息: 书号 书名 作者 出版社 单价 (5)显示查询结果的JSP页面display.jsp 书号: 书名: 作者: 出版社: 价格:(6)错误页面errorPage.jsp 对不起,您查的图书不存在!(7)从数据库中查找该书,最后根据查询结果将请求转发到显示页面(display.jsp)或错误页面(errorPage.jsp)package com.control;import java.io.*;import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import com.beans.BookBean;import com.beans.BookDAO;public class BookQueryServlet extends HttpServlet public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException String bookid = request.getParameter(bookid); BookDAO bookdao = new BookDAO(); BookBean book = bookdao.searchBook(bookid); if(book!=null) request.getSession().setAttribute(book, book); RequestDispatcher view = request.getRequestDispatcher(/display.jsp); view.forward(request, response); else RequestDispatcher view = request.getRequestDispatcher(/errorPage.jsp); view.forward(request, response); (8) Servlet实现向数据库插入数据,并将控制请求的转发到bookInsert.jsp页面。package com.control;import java.io.*;import java.sql.*;import javax.servlet.*;import javax.servlet.http.*;import com.beans.BookBean;import com.beans.BookDAO;public class BookInsertServlet extends HttpServlet public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException request.setCharacterEncoding(UTF-8); String message = null; BookBean book = new BookBean( request.getParameter(bookid),request.getParameter(title), request.getParameter(author),request.getParameter(publisher), Float.parseFloat(request.getParameter(price) ); BookDAO bookdao = new BookDAO(); boolean success = bookdao.insertBook(book); if(success) message = 成功插入一条记录!; else message = 插入记录错误!; request.setAttribute(result,message); RequestDispatcher view = request.getRequestDispatcher(/bookInsert.jsp); view.forward(request, response); (9)配置context文件(10)在web.xml文件中部署Servlet和context资源 SimpleBookManager index.html index.htm index.jsp default.html default.htm default.jsp databasePooljavax.sql.DataSourceContainer bookQuery control.BookQueryServlet bookQuery /bookquery
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省安庆市岳西部分片区学校联考2024-2025学年八年级下学期5月月考 生物试题
- 工业废水处理与环境监测研究
- 工业大数据与智能决策
- 工业安全技术与职业健康管理
- 工业用水处理与回用技术
- 工业物联网现状与未来发展趋势
- 工业机器人技术发展与应用研究
- 工业生产中的能源消耗与环保措施
- 工业自动化与智能制造探讨
- 工业设计中的用户体验与交互设计
- 传染病人转诊制度
- 超星尔雅学习通《法律基础(西南政法大学)》2025章节测试答案
- Notre-Dame de Paris 巴黎圣母院音乐剧歌词(中法双语全)
- 深静脉血栓预防和护理评估
- 2025中考英语《一轮复习》词汇闯关100题专项练习 (附解析)(基础夯实)
- 活动策划服务投标方案(技术方案)
- 2025慢性阻塞性肺病(GOLD)指南更新要点解读课件
- 2025年果树种植技术培训与咨询服务合同范本
- 制作水果电池及实验报告
- 核心素养导向的初中英语单元作业设计策略探究
- 2025年高压电工作业考试国家总局题库及答案(共280题)
评论
0/150
提交评论