第一范文网 - 专业文章范例文档资料分享平台

毕业论文-基于JSP的BBS论坛管理系统设计

来源:用户分享 时间:2025/5/17 19:43:43 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

} %> pstmt.setString(2, cont); pstmt.setInt(3, id); pstmt.executeUpdate(); DB.close(pstmt); DB.close(conn); response.sendRedirect(\); return; 删除功能实现的关键代码为

表4.11删除功能代码实现 <%@ page pageEncoding=\%> <%@ page import=\%> <%! private void delete(Connection conn, int id, boolean isLeaf) { //delete all the children //delete(conn, chids's id) if(!isLeaf) { String sql = \ + id; Statement stmt = DB.createStmt(conn); ResultSet rs = DB.executeQuery(stmt, sql); try { while(rs.next()) { delete(conn, rs.getInt(\), rs.getInt(\) == 0); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(stmt); } } //delete self DB.executeUpdate(conn, \ + id); } %> <% int id = Integer.parseInt(request.getParameter(\)); int pid = Integer.parseInt(request.getParameter(\)); boolean isLeaf = Boolean.parseBoolean(request.getParameter(\));

28

Connection conn = null; boolean autoCommit = true; Statement stmt = null; ResultSet rs = null; try { conn = DB.getConn(); autoCommit = conn.getAutoCommit(); conn.setAutoCommit(false); delete(conn, id, isLeaf); stmt = DB.createStmt(conn); rs = DB.executeQuery(stmt, \ + pid); rs.next(); int count = rs.getInt(1); if(count <= 0) { DB.executeUpdate(conn, \ + pid); } conn.commit(); } finally { conn.setAutoCommit(autoCommit); DB.close(rs); DB.close(stmt); DB.close(conn); } response.sendRedirect(\); %>

5 系统测试

系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。主要是在查询过程中预计查询结果和实际结果不一致,有时候达不到目的,对数据库的操作表之间的关联考虑得不够周到,因此往往会出现一些小的错误。需要靠一步步的查找解决。各个模块组装完成后,又会出现一些问题。所以很容易造成数据混乱,必须对相应的数据关系理清楚,一些关键查询统

29

计的SQL语句必须反复斟酌才能放在程序中使用。

先注册一个用户名为USER的用户(先前数据库中无此用户名的),注册成功后,再注册一个用户名为USER的用户,预期结果应该是系统提示该用户名已经存在。填写完整的资料后点击注册,此时系统按照预期结果提示该用户名已经被注册了。测试结果,系统正常按照设计模式运行。将用户名改为:几个空格然后其他的不变提交之后我们会发现系统返回成功页面,但问题是用户名什么也没有,空格也被作为合法的用户名,这在实际应用中是不允许的,我们需要对其命名规则进行定义,具体修改请参看前面正则表达式对表单的控制。同样的邮箱也存在规则未定义的问题,需要对其加以定义。

在测试过程中,我经过测试,排除了系统的大部分错误。当然排除所有错误是不太可能的,我想应该还有些不易检测到的错误还没有被发现,需要在使用的过程中进一步的完善,数据库的加密是一个重要的概念,在实际的应用过程中是一个尚待解决的问题,应该做好数据库的完善工作,特别是备份和安全工作;另一方面由于时间仓促难免有错误和不完善的地方,希望老师能够帮我指点和纠正。 总 结

完成这次设计任务总共用了六个星期时间,前三个星期用来收集资料、学习要用到的各项开发技术、进行论坛的系统分析,中间两个星期用来设计系统,后一个星期用来测试及修改。论文的撰写一直贯穿其中。

30

通过这次毕业设计,我从中学到了许多新的知识,而且通过这次毕业设计,培养了我综合多门学科中的知识、迅速规划并开发出目标系统的能力,以及编程能力也有了很大的提高。另外也有许多心得体会,所谓系统开发如人生百味,酸甜苦辣皆有之。

严格按工程的方法来设计系统相当重要,不能认为基于Web的数据库管理的BBS系统很小,可以无需花太多的时间来做系统分析,甚至可以无需经过系统定义而直接进入系统编码阶段。这种想法很天真,最小的系统,你若想保证质量,把系统做得越可靠越有效率功能越强,应该考虑的方方面面就越多越复杂。系统分析过于简单,系统定义过于抽象,则在系统设计与编码阶段遇到的困难就越多,特别是其中不得不做一些功能性甚至系统结构性方面的变动,将面对许多重复性的工作。在系统开发过程中重复工作过多,将会极大地影响系统开发的积极性,从而影响整个系统的质量。在这一点上,我体会尤深,我花了三个星期,即接近系统开发一半的时间用在系统分析与系统定义上,也就是在开始浪费了一周多的时间,即边编码边分析,边分析边编码,后来越来越乱越来越复杂,不得不重新考虑系统开发计划的合理性。总之,在这一点上,我的体会是,系统分析越充分,系统定义越具体,那么后续的系统设计与开发工作就越有效率,且系统的质量也越有保障。

回顾这一个半月的系统开发工作,总结起来那就是,软件的开发是相当辛苦的,但成功以后的喜悦也是非常美妙的,而且我发现,其中你投入的心血越多,成功以后你所获得的快乐与充实感也更多更

31

强。难道人越辛苦就会越幸福快乐吗?对,软件系统开发就是这样!

参考文献

主要参考资料:

[1] 武延军,黄飞跃. 精通JSP编程技术[M]. 北京:人民邮电出版社,

2001:126-178.

[2] 柏亚军. JSP编程基础及应用实例集锦[M].北京:人民邮电出版社,

2001:41-82.

[3] 清宏计算机工作室.JSP编程技巧[M].北京:机械工业出版社,2000 :32-39. [4] 周影 .网络编程语言JSP实例教程[M].北京:电子工业出版社,2003:17-32. [5] 陈海山.深入Java Servlet 网络编程[M].北京:清华大学出版社,

2002 :55-62.

[6] Donny.JSP与网站开发编程实战[M].北京:科学出版社 ,2001:22-53. [7] Steven Holzner.Java技术内幕[M].北京:机械工业出版社,2002 : 22-25. [8] Phil Hanna .JSP技术大全[M].北京:机械工业出版社,2002 : 222-223. [9] Karl Moss. Java Servlet开发人员指南[M].北京:清华大学出版社,

2002:45-67.

[10] 李存珠,李宣东. 软件工程概论[M].南京大学计算机系出版, 2001:30-87.

致 谢

从十二月份接受课题到现在完成毕业设计论文,衷心的感谢我的导师孙发军老师给予了精心的指导和热情的帮助,尤其在课题设计的前期准备阶段和本人的系统设计阶段,导师提出许多宝贵的设计意见,在最后的测试修改阶段老师在百忙之中抽出时间为我们提供了必要的帮助,这样使得我们得以顺利的完成毕业设计工作,在短暂的几

32

毕业论文-基于JSP的BBS论坛管理系统设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1idbc9ttmi3fmdy9ul8q7b8vd5385a00y2d_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top