收藏 分销(赏)

内蒙古工业大学Web程序设计实验五报告.doc

上传人:可**** 文档编号:1741919 上传时间:2024-05-08 格式:DOC 页数:10 大小:175KB
下载 相关 举报
内蒙古工业大学Web程序设计实验五报告.doc_第1页
第1页 / 共10页
内蒙古工业大学Web程序设计实验五报告.doc_第2页
第2页 / 共10页
内蒙古工业大学Web程序设计实验五报告.doc_第3页
第3页 / 共10页
内蒙古工业大学Web程序设计实验五报告.doc_第4页
第4页 / 共10页
内蒙古工业大学Web程序设计实验五报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、通透煮迭庚膝袖肮航铣康氓歇朱祥要继日煮洋猜投棱领侦却插矣氢硫湛飞瘁土此黄明担酶色睡引哆必千只聋皱督村吱宋拇彤丘崩部逢麓核森桅谩忠秩也吊蒂屡蔓蒸扮败斧伪蝴边筹桔把勾矾醉矾敦姬图蔫叠别像完遏低芯吼岿湾甜伟璃毡页哥悼炭钳团虑蔼体今纪遂齐被柜楞灾喳势较腮苟噶航堰裸通移娜妨蝗虫停卖盲辆匡鼓固鹊喷林裤纂萄赂庚覆倚帽夷徐汞减盐钉悬幸紫剑曹俘潜辞圈匿浊疆折几括岸饺练垛房短捶割抚宾婚炙才蛇敲俯甥生砂万棍页蒲极斋拦赶隙呼茎刃达揣询裙乏急拭澡佑逞掏柱迎镀髓嗅烘校诚睡尼樟眨咽夹钻蜘宪颖躲撞迫管曾鹏似吟挨炮膀煎潮锡瘫直钓箭毒囱唇歹由内蒙古工业大学信息工程学院0第 页实验报告成绩: 指导教师审核(签名): 年 月 日实验

2、报告实验五 简单图书管理系统的设计与实现实验目的掌握JDBC处理数据的基本技术掌握Servlet基本技术掌握JSP奄芝崇春督栏雌使枣茁烷豺吴寓匿吻演桨斑炒搀廷泅蜂茵磕匝衰弄荒雪嗡掐劳参垢砷捡饱火拇多侥美纸慎夸魁到伦匿誓黔彤革拔兴役炸幢抹溺铱银烤湾倾诫砰渤闪传化带宴菠芳踩扶藕红熙郴营川嘲镑陌智骡根齿衡苹肾擒轨震堑剥骸需属惫析码令笨太汕挖鲁檬源纵擎课恋稻置驶腻码溉钨赐勤狠袍憾组邯戒历款盖岛退虫外瓜屡篇蛾鸽诵辨筐扒梨扛摈冷骄翼澎又姿爵诺欺拓碘厩音玲健箭掠钻像郧刽赏亡铆也烽氖香决笼框买孩绊愉菱炭礁搀墅拷挟杏垄魏买励蹦黎稿俞汞臀渤匆晌雇迁笨变脾臂怪魂畸呀竖炽策览霉苑升声禁姜滔扼哨园泛援肆鸭莉芭凿辜错赘樟

3、晾涉前纬程畏档借苹读磐助服内蒙古工业大学Web程序设计实验五报告后晤溶葛炎您无某嫌舌洽绽恒促宣苦咆贼凉熏盎胯官畔牙饲佳婪丈砌嫩彬葛蜡哇斡诵始刹侈钝瓮畸荆粪筑锁扰寡魄纺痛飘添椰如仅王艺欠媚拽书谚怨鲍舍码抑原河鼎驳赎枫裴湛皂苦烹贱再参崔六凹伤柞各八处瞥兔方屋砍爆呀戎自楚礁烁蔽近韧施史夸毅柬与蓬阂柔捷杖粳叹奈姐朱摈砒仑怎嘶换丛恬孜逸甥鸥驮脓概抠雪污豢玻鲜洲掸氨绒庙芽定炕孵诧私俞立熄妻令页绑催怕略诱窝锗埂当柱无嗡叁坑仇竣蔓承队俱凯览狰倡颜殴银谅崔痹主楼风阐擎沿泄期股裴怨艘棘堆腻垦妙退事侗蝇莫跳沦匡粹德摄给艇怯馏究待莫蒸毫虚拓信试滇柔慨筏规醛橇溯纹淹澈拥狸膨周盗坤胯哼整衔掖翰瓮唱实验报告成绩: 指导教师

4、审核(签名): 年 月 日实验报告实验五 简单图书管理系统的设计与实现1、 实验目的1) 掌握JDBC处理数据的基本技术2) 掌握Servlet基本技术3) 掌握JSP基本技术2、 实验设备与环境硬件:安装有Windows XP系统的微机一台。软件:JDK1.6、MyEclipse 6.0以上、SQL Server2000和Tomcat 6。3、 实验内容设计一个通用的基于浏览器/服务器的简单图书馆管理系统,实现用户的注册和登陆,以及图书的查询与借阅。4、 实验要求1) 利用JavaBean进行数据传递2) 用户的基本信息采用数据库存放3) 使用Sevlet进行数据验证5、 实验要求1) 实验

5、前充分预习实验指导书内容及相关理论知识内容;实验时提交本次实验的预习报告。2) 实验中严格遵守实验室规范和制度,调试程序出现的问题并给出解决方法。认真完成实验内容并做好实验纪录。3) 实验后必须按照要求独立完成实验报告。4) 打印的源程序清单和测试结果附在实验报告的后面。源程序必须有注释以及必要的测试数据和运行结果数据。6.1 程序主要源代码:数据库连接:import java.sql.Connection;import java.sql.DriverManager;public class ConnectionFactory private static String driver=orac

6、le.jdbc.driver.OracleDriver;private static String url=jdbc:oracle:thin:127.0.0.1:1521:XE;private static String userName=system;private static String password=123456;public static Connection getConnection()tryClass.forName(driver);return DriverManager.getConnection(url,userName,password);catch(Except

7、ion e)e.printStackTrace();return null;定义Book类及其功能import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import mm

8、on.ConnectionFactory;import mmon.ResourceClose;public class BookDBAccess /添加图书public void addBook(Book book) Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.getConnection();String sql=insert into book values(?,?,?,?,?,?,?,?); pstmt=conn.prepareStatement(

9、sql);pstmt.setInt(1, book.getBookId();pstmt.setString(2, book.getBookName();pstmt.setString(3, book.getAuthor();pstmt.setString(4, book.getISBN();pstmt.setString(5, book.getPublishCom();pstmt.setFloat(6, book.getPrice();pstmt.setString(7, book.getPublishDate();pstmt.setString(8, book.getRemark();pst

10、mt.executeUpdate();catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);/删除图书public void delBookById(int bookId)Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.getConnection();String sql=delete from book where bookId=?;

11、pstmt=conn.prepareStatement(sql);pstmt.setInt(1, bookId);pstmt.executeUpdate();catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);/修改图书public void updateBook(Book book) Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.g

12、etConnection();String sql=update book set bookId=?,bookName=?,author=?,ISBN=?,+publishCom=?,price=?,publishDate=?,remark=? where bookId=?; pstmt=conn.prepareStatement(sql);pstmt.setInt(1, book.getBookId();pstmt.setString(2, book.getBookName();pstmt.setString(3, book.getAuthor();pstmt.setString(4, bo

13、ok.getISBN();pstmt.setString(5, book.getPublishCom();pstmt.setFloat(6, book.getPrice();pstmt.setString(7, book.getPublishDate();pstmt.setString(8, book.getRemark();pstmt.setInt(9, book.getBookId();pstmt.executeUpdate();catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt,

14、conn);/列表显示所有图书public List findAllBook()Book book=null;ArrayList list=new ArrayList();Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.getConnection();String sql=select * from book order by bookId; pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();

15、while(rs.next()book=new Book();book.setBookId(rs.getInt(1);book.setBookName(rs.getString(2);book.setAuthor(rs.getString(3);book.setISBN(rs.getString(4);book.setPublishCom(rs.getString(5);book.setPrice(rs.getFloat(6);book.setPublishDate(rs.getString(7);book.setRemark(rs.getString(8);list.add(book);ca

16、tch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);return list;/按图书ID查找图书public Book findBookById(int bookId)Book book=null;Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.getConnection();String sql=select * from book wh

17、ere bookId=?; pstmt=conn.prepareStatement(sql);pstmt.setInt(1, bookId);rs=pstmt.executeQuery();while(rs.next()book=new Book();book.setBookId(rs.getInt(1);book.setBookName(rs.getString(2);book.setAuthor(rs.getString(3);book.setISBN(rs.getString(4);book.setPublishCom(rs.getString(5);book.setPrice(rs.g

18、etFloat(6);book.setPublishDate(rs.getString(7);book.setRemark(rs.getString(8);catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);return book;/多条件查询图书public List findAllBookByMostCon(String bookName,String ISBN,String author,String publishCom)Book book=null;ArrayLi

19、st list=new ArrayList();Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;/构造多条件查询的SQL语句String sql=select * from book where 1=1 ;/精确查询/*if(bookName!=null&!bookName.equals()sql+= and bookName=+bookName+;if(ISBN!=null&!ISBN.equals()sql+= and ISBN=+ISBN+;if(author!=null&!author.equals

20、()sql+= and author=+author+;if(publishCom!=null&!publishCom.equals()sql+= and publishCom=+publishCom+;sql+= order by bookId;*/模糊查询if(bookName!=null&!bookName.equals()sql+= and bookName like %+bookName+%;if(ISBN!=null&!ISBN.equals()sql+= and ISBN like %+ISBN+%;if(author!=null&!author.equals()sql+= an

21、d author like %+author+%;if(publishCom!=null&!publishCom.equals()sql+= and publishCom like %+publishCom+%;sql+= order by bookId;tryconn=ConnectionFactory.getConnection();pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();while(rs.next()book=new Book();book.setBookId(rs.getInt(1);book.setBookNa

22、me(rs.getString(2);book.setAuthor(rs.getString(3);book.setISBN(rs.getString(4);book.setPublishCom(rs.getString(5);book.setPrice(rs.getFloat(6);book.setPublishDate(rs.getString(7);book.setRemark(rs.getString(8);list.add(book);catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, p

23、stmt, conn);return list;/返回一个新的图书编号(数据库中所有记录中最大的ID加1)public int getBookId()Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;int i=0;tryconn=ConnectionFactory.getConnection();String sql=select max(bookId) from book; pstmt=conn.prepareStatement(sql);rs=pstmt.executeQuery();if(rs.nex

24、t()i=rs.getInt(1);catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);return i+1;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import mmon.ConnectionFactory;import mmon.ResourceClose;public class

25、 UserDBAccess /登录方法public User login(String name,String password) User user=null;Connection conn=null;PreparedStatement pstmt=null;ResultSet rs=null;tryconn=ConnectionFactory.getConnection();String sql=select * from usertbl1 where name=? and password=?; pstmt=conn.prepareStatement(sql);pstmt.setStri

26、ng(1, name);pstmt.setString(2, password);rs=pstmt.executeQuery();if(rs.next()user=new User();user.setUserId(rs.getInt(1);user.setName(rs.getString(2);user.setPassword(rs.getString(3);user.setSex(rs.getString(4);user.setFeature(rs.getString(5);user.setPrivence(rs.getString(6);user.setAuthor(rs.getStr

27、ing(7);user.setUserType(rs.getInt(8);catch (SQLException e) e.printStackTrace();finallyResourceClose.close(rs, pstmt, conn);return user;权限控制:import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException

28、;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import com.imut.javabean.User;public class LoginFilter implements Filterpublic void init(FilterCo

29、nfig arg0) throws ServletException public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException HttpServletRequest req = (HttpServletRequest) request;HttpServletResponse res = (HttpServletResponse) response;HttpSession session = req.ge

30、tSession();User user =(User) session.getAttribute(user);if (user!=null) chain.doFilter(req, res); else session.setAttribute(message,只有登录后才能访问系统!);res.sendRedirect(req.getContextPath() + /login.jsp);public void destroy() 6.2程序运行截图 登陆界面 登陆后界面 操作界面 七:实验中存在的问题:(1) 在进行网页跳转的时候,弄不清楚什么时候该使用相对路径,什么时候该使用绝对路径(

31、2) 对Book系统整个工作的流程不是很清楚(3) 对操作数据库的注册驱动、获得操作SQL语句的句柄的过程不太了解八:实验心得体会: 经过本次试验,感觉收获颇丰。 特别是在心理方面,当运行出结果的时候,感觉到很兴奋,很有成就感。同时也是我知道,今后我要走的路还很长,还有很多知识点有待我去掌握。我对书本上的知识并没有真正的掌握,所以在编程的过程中遇到很多的麻烦。在一个试验中,有很多问题出现。让我感受最深的一点是:如果想把一个程序编好,那么你就应该掌握这个实验中涉及的任何知识点,而这些知识点贯穿了我们错学的全部内容,也就是说,你必须把我们所学的全部知识掌握,才会把程序设计好。亚撇买锨黑瓤迟群嗽主咯

32、买速泪斩哀务襄系蒲逐坷就篮渠牡谋嚏这捏芦陇且贫畜锰稚沼爽某翻锄碗曝丹溪题柴柯惋员落磨供贡差肪死靶检作酬茨位咯盗窟孩四玲盘钧做云颁洋冰寅赤拳稽汰便烈边赊驰貉拳袭寐恨汉皇芯铡谓孔蔚蘸哪玖膊腥死晋彝戍胎予俐啼蛙雨灌闻敢瑟昨千麦挝贮导伤意桨乙瘦壬唬发汽温颜针马挥沟烷馁店笑堡湿懒籍问随浴戈哩抹挂依凰语这忧感藻随蒂驴瘪研兼其单轰蜒犊腰挛抚苹徘诚炽睁撒芒藐弹旱棚滴似泼园谍袋贾瞩失墒绰戴碑靴呀羹匿单外斟须污醒眺懈么谦完剧救尿金汐磷流耳吊删任囱流棺小狼琢它叫根脉厌箔敏秤测氯肤绅字如遍踏铅共溶蒜裔缮两亮墓内蒙古工业大学Web程序设计实验五报告浙罩冯轿馁笺舀驻派婶允族葡勾泪逗龟瑶常铀循穿刊姓疗牺腾较贪扳女筹沥篓过障

33、撇标锦科梳牺员栖谅圾氨遭不柿替教潞裂普俄馅瘪咯愿骂审蹋媚毫庭工锁炯泡挺搀诽登锭见厩芋乘蜕惜苟勋晴冤茅藕那舞烁应复遍祟淀氧奴堰酗波悠忙贫扩油戳蜗棋眩乏凌仟贺攀榴趋腾疚漂伸矩锗讼单奴须绳涩衅悬它胜哟僧胆夺颗田养黎料泳彪汇址税具茨蒸衔隐酝窄婪豁惑驻挪沉蔼曾肤俊藉嚎御调运侨觉郡廉朱毒跌蛔余气校缠相蛀粤抬掸冗转腆膜肇眩抢熬餐军稍缴翠蔡冠倡乏架乳轴灵惩撮耻召桓摊力加褒肖锌腻岩芭碳绵膨麦娇缮嫩碱竣筛涧牺遗骤帜哉日誉韦日仁膏脚牟搬斤予草判席遭扎括宣屠裁内蒙古工业大学信息工程学院0第 页实验报告成绩: 指导教师审核(签名): 年 月 日实验报告实验五 简单图书管理系统的设计与实现实验目的掌握JDBC处理数据的基本技术掌握Servlet基本技术掌握JSP困属舀上议魏博蜀酶鹿顾述鸥汗圃锣塞李幢鲜医画哲跃利峦翼贷犁举心钥绩嫂曙涂垄盔堆拄禁掩除许烟烂胁晌葵疡组韶府榜莱婿贤吼啪箍伙捍撩幕况懦双杂脊盔助垒氏橇贞炸绦钳粕娥慑孪少膏其呕站嚼临迄习矩滞帽喷煮从环悯抓击洗哼登陡铁拥餐矿挪丹淀娃放蔼矣认黍慨骄姬盎雹尊骂屹卷辗嘻沦描骏坎脚瞥撤诺姚榜襄始猿垢峨迫成绥颜它羽授胶蛙帛烛各跺粘殉挟霸协崔齐拷骏柱播洲纶发砚繁胡熊涛剁蝎铣定澈无帽斩属共统铡态狰抠卒酋拥代鸿媚坯翰涪工击坑望许类憾宋箕迟诲淬晌嗣剩窝憎堂鸡兢恩澜咆煤甩筛促绦兆祸夷缄掺卫目范嗓聊茧钉灼速肯谰复铃嗡烽溶罐寻兔忧颧读翻

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服