版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成绩辽宁工程技术大学上机实验报告实验名称项目实战——存储图书信息院系软件学院专业软件工程班级姓名1120980318日期2012-5-5实验目的学习使用JDBC,Servlet和JSP开发存储图书信息程序。实验准备掌握了实验的核心思想。加深对代码的了解和熟悉,充分了解对MyEclipse6.0的一些操作。实验进度本次共有1个练习,完成1个。实验总结日1数据库的截图:2目录的结构:3运行截图:4网页运行结果:网页运行过程中出现错误(没运行出来--)代码复制:工具类“DBCon”代码:packagecom.book;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;publicclassDBCon{ publicstaticConnectiongetConnection(){ Stringurl="jdbc:microsoft:sqlserver://localhost:1433;databaseName=book_shop"; Stringuser="sa"; Stringpsw="sa"; Connectionconn=null; try{ Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); }catch(ClassNotFoundExceptione){ e.printStackTrace(); } try{conn=DriverManager.getConnection(url,user,psw); conn.setAutoCommit(false); returnconn; }catch(SQLExceptione){ e.printStackTrace(); }returnnull;}实体类“Book”代码:publicclassBook{ privateLongid; privateStringname; privatedoubleprice; privateStringauthor; privateStringbookConcern; privateintcounts; publicBook(){} publicLonggetId(){ returnid; } publicvoidsetId(Longid){ this.id=id;}DAO类的代码:packagecom.book;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.List;publicclassBookDao{ privateConnectionconn; publicListfindAllBooks(){ conn=DBCon.getConnection(); StringlistSQL="select*frombooks"; Listlist=newArrayList(); try{ PreparedStatementpsmt=conn.prepareStatement(listSQL); ResultSetrs=psmt.executeQuery(); while(rs.next()){ BookBeanbook=newBookBean(); book.setId(rs.getLong(1)); book.setName(rs.getString(2)); book.setPrice(rs.getDouble(3)); book.setAuthor(rs.getString(4)); book.setBookConcern(rs.getString(5)); book.setCounts(rs.getInt(6)); list.add(book); } mit(); returnlist; }catch(SQLExceptione){ e.printStackTrace(); } finally{ if(conn!=null){ try{ conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } }returnlist; } publicbooleansaveUser(BookBeanbook)throwsException{ conn=DBCon.getConnection(); StringlistSQL="insertintobooksvalues(?,?,?,?,?)"; try{ PreparedStatementpsmt=conn.prepareStatement(listSQL); psmt.setString(1,book.getName()); psmt.setDouble(2,book.getPrice()); psmt.setString(3,book.getAuthor()); psmt.setString(4,book.getBookConcern()); psmt.setInt(5,book.getCounts()); psmt.executeUpdate(); mit();returntrue; }catch(SQLExceptione){conn.rollback(); e.printStackTrace(); }finally{conn.close(); }returnfalse;}控制类“BookController”代码packagecom.book;importjava.io.IOException;importjava.util.List;mportjavax.servlet.RequestDispatcher;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;HttpServletResponseresponse) throwsServletException,IOException{ doPost(request,response); }publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{ intarg=Integer.parseInt(request.getParameter("arg")); switch(arg){ case1: this.findAllBooks(request,response); break; case2: this.saveBooks(request,response); break; } }publicvoidfindAllBooks(HttpServletRequestrequest, HttpServletResponseresponse)throwsServletException,IOException{ BookDaobookDao=newBookDao(); Listlist=bookDao.findAllBooks(); request.setAttribute("booklist",list); RequestDispatcherrdt=request .getRequestDispatcher("showAllBooks.jsp"); rdt.forward(request,response); }Stringname=newString(request.getParameter("name").getBytes( "ISO-8859-1"),"GBK"); doubleprice=Double.parseDouble(request.getParameter("price")); Stringauthor=newString(request.getParameter("author") Integer.parseInt(request.getParameter("counts"));BookBeanbook=newBookBean(); book.setName(name); book.setPrice(price); book.setAuthor(author); book.setBookConcern(bookConcern); book.setCounts(counts); BookDaobookDao=newBookDao();try{ bookDao.saveUser(book); }catch(Exceptione){ e.printStackTrace(); this.findAllBooks(request,response);}页面的实现:<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%><html><head><title>图书信息</title></head><body><formaction="book?arg=2"method="post"><table><tr><td><em> 图书名称:</em></td><td><inputtype="text"name="name"size="25"></td></tr><tr><td><em> bsp; 图书价格:</em></td><td><inputtype="text"name="price"size="25"></td></tr><tr><td><em> 图书作者:</em></td><td><inputtype="text"name="author"size="25"></td></tr><tr><td><em> 出版社:</em></td><td><inputtype="text"name="bookConcern"size="25"></td></tr><tr><td><em>  存放数量:</em></td><td><inputtype="text"name="counts"size="25"></td></tr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宣威市复兴街道办事处公开招聘公益性岗位工作人员(3人)模拟笔试试题及答案解析
- 2026云南昆明市石林彝族自治县兵役登记暨征兵参考考试题库及答案解析
- 2025年甘肃省平凉市中大科技技工学校招聘21人模拟笔试试题及答案解析
- 深度解析(2026)《GBT 25944-2010铝土矿 批中不均匀性的实验测定》(2026年)深度解析
- 2026广东省惠州市龙门县教育局赴高校招聘急需紧缺学科教师招聘60人(江西师范大学场)备考笔试题库及答案解析
- 2025贵州水投水库运营管理黔东南有限公司第二次招聘参考笔试题库附答案解析
- 四川锅炉高级技工学校2025年下半年面向社会公开考核招聘中职教育专业技术人才(16人)参考笔试题库附答案解析
- 2025上海黄浦科创集团招聘7人备考考试试题及答案解析
- 深度解析(2026)《GBT 25702-2010复摆颚式破碎机 颚板磨耗》(2026年)深度解析
- 2025山东济南市平阴丰源炭素有限责任公司招聘29人备考笔试试题及答案解析
- 公司便民雨伞管理制度
- 医院购买电脑管理制度
- 编制竣工图合同范本
- 新22J01 工程做法图集
- 预防高空抛物2
- 广西钦州市2024-2025学年高一上学期期末教学质量监测数学试题(解析版)
- 智慧树知到《艺术与审美(北京大学)》期末考试附答案
- 渠道拓展与渠道管理
- 防腐败和激励反腐败制度
- 2024-2025学年上海市长宁区初三一模语文试卷(含答案)
- 北京市西城区2022-2023学年六年级上学期数学期末试卷(含答案)
评论
0/150
提交评论