1、随着Internet的发展,网站的作用越来越重要,被称之为继广播、报纸、杂志、电视后的第五种媒体数字媒体,拥有众多优势,所以现在不少企业都有或正在建设自己的网站。而留言板作为网站重要的一个部分,从来都是一个大家交流的平台!留言板是一种最为简单的BBS应用,借助留言板,浏览者可以张贴留言的方式给站长、版主或其他浏览者进行留言和提问。一、 课程设计题目留言板管理系统二、 课程设计目的1、掌握常用JSP服务器控件的使用;2.、掌握验证控件的使用方法,理解验证控件的作用;3、掌握数据库设计的方法;4、掌握利用JSP技术操作数据库的方法;5、掌握利用内置对象传递数据的方法;6、训练分析与解决实际问题的能
2、力;7、训练综合应用JSP技术开发Web应用程序的能力。三、 课程设计要求要求用JSP设计一个留言板管理系统。该系统的功能实现有:(1)数据的添加(留言内容的添加);(2)留言内容按条件删除,修改;(3)可以根据标题进行模糊查找;(4)分页显示所有的留言信息;(5)用MySQL数据库建立表,以及查询表, 四、 课程设计内容 在Mysql中创建一个名称为dbmessage的数据库。该系统包括用户登录模块,添加留言模块,删除留言模块,查询留言模块,分页显示留言模块。数据库设计:添加留言信息表(如图1-1 insertmessage表所示)。图1-1 insertmessage表五、 系统功能模块设
3、计及代码的实现当用户进入留言板界面后都会有如下有如下动作:如图1-2 留言板系统功能模块。(1)登录留言板(2)添加留言信息(3)查看留言信息(4)根据标题删除留言信息(5)以及查看留言信息(6)根据标题查询留言信息。图1-2 留言板系统功能模块(一)模块设计:注意:用户在运行前必须先正确部署项目和正确启动Tomcat,出现Tomcat主页面忽略此处:/localhost:8080/,点击Tomcat Manager选项,选择你的留言管理系统名称/messageboard,此时就正式进入留言板管理系统了。5.1登录模块分析登录界面用于操作用户登录系统,由于此处就设置一个用户因此就不做太多说明:
4、用户名为admin,密码为admin如图1-3登录留言板界面图1-3 登录留言板界面5.2添加留言模块分析:用户必须把下面的字段填写完毕后用户才可以将留言信息添加到数据库中如图1-4 留言板主界面。图1-4 留言板主界面5.3删除留言模块和分页显示留言信息模块分析:该模块可以将留言信息按条件删除如图1-6 删除留言,而且可以通过分页显示留言信息模块进行查询如图1-7 删除记录后。图1-5 分页显示数据库留言记录图1-6 删除留言图1-7 删除记录后5.4 查询留言信息模块分析:用户可以按标题进行模糊查询。图1-8 查询留言信息图1-9 查询结果(二)各模块之间的代码实现:(1)登录留言板(Lo
5、gin.jsp)模块代码: 登 录 界 面 用户名: 密 码: (2)处理登录留言板(Domess.jsp)模块代码: (3)留言板主界面(messagecontent.jsp)模块代码: 童鞋们,多多留言啊,主人感激不尽啊。 留 言 板 用户名: QQ: Email: 标题: 留言内容: |显示全部留言| 删除留言 | 查找包含“标题”的留言| (4)处理添加留言信息(Addmessage.jsp)模块代码(5)删除留言信息(Delete.jsp)模块代码: |显示页| (6)按条件删除留言信息(somedelete.jsp)模块代码: 删 除 留 言 按标题删除: (7)显示留
6、言信息(Display.jsp)模块代码:分页显示数据库留言记录 用户名 QQ E-mail 标题 留言内容 % try String driverName=com.mysql.jdbc.Driver; /驱动程序名String userName=root;/数据库用户名String userPasswd=10086;/密码String dbName=dbmessage;/数据库名String tableName=insertmessage;/表名/连接字符串String url=jdbc:mysql:/localhost:3306/+dbName+?user=+userName+&passw
7、ord=+userPasswd;/+&useUnicode=true&characterEncoding=GB2312;Class.forName(driverName).newInstance();/加载驱动程序Connection conn=DriverManager.getConnection(url);String sql=select * from insertmessage;/创建执行语句Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery(sql);int intPageSize; /一页显示的记
8、录数int intRowCount; /记录的总数int intPageCount; /总页数int intPage; /待显示的页码String strPage;int i;intPageSize=5; /设置一页显示的记录数strPage=request.getParameter(page);/取得待显示的页码if(strPage=null) /判断strPage是否等于null,如果是,显示第一页数据intPage=1;elseintPage=java.lang.Integer.parseInt(strPage); /将字符串转换为整型if(intPageintPageCount) in
9、tPage=intPageCount; /调整待显示的页码if(intPageCount0)rs.absolute(intPage-1)*intPageSize+1); /将记录指针定位到待显示页的第一条记录上/下面用于显示数据i=0;while(i 共个记录,分页显示,当前页是:第页 |留言板主页|%for(int j=1;j=intPageCount;j+)out.print( +j+);%(8)查询留言信息(Select.jsp)模块代码: 查 询
10、留 言 按标题查询: (9)按条件查询留言信息(Doselect.jsp)模块代码:% try String str1=request.getParameter(title); str1=getS(str1.trim(); String driverName=com.mysql.jdbc.Driver; String userName=root; String userPassword=10086; String dbName=dbmessage; String tableName=insertmessage; String url=jdbc:mysql:/localhost:3306/+db
11、Name+?user=+userName+&password=+userPassword;/连接字符串 Class.forName(com.mysql.jdbc.Driver).newInstance(); Connection conn=DriverManager.getConnection(url); Statement stmt1 = conn.createStatement(); String sql=select * from insertmessage where title like %+str1+%; ResultSet rs=stmt1.executeQuery(sql);
12、if(rs.next() out.print(姓名:+rs.getString(name); out.print(QQ:+rs.getString(QQ); out.print(Email:+rs.getString(email); out.print(标题:+rs.getString(title); out.print(内容:+rs.getString(content); else out.print(该关键字的内容不存在); stmt1.close(); conn.close(); catch(Exception e) out.print(e); % |添加留言| 六、 课程设计心得体会这个留言板管理系统让我对前面学的知识有了整个的回顾与总结。在设计中出现了许多问题,例如向数据库中提交数据时,显示错误或者异常(404/400/500,还有插入的数据与数据库表中的字段不符等),不过有了老师和同学的帮助,在加上自己上网查询资料都已经将那些问题给解决了,自己真的非常的高兴,更重要的是让我知道自己在哪方面的不足(如写SQL语句,如何建立多个表的视图等),为自己的今后学习指明了方向,希望以后能有更多的机会。七、 参考文献JSP动态网站开发实践教程(第二版)MySQL数据库