public static final String add_tb_test = "insert into tb_test (test_Name,test_Time,user_name) values(?,?,?)";
public static final String query_tb_video = "select video_Name,video_Time from tb_video order by video_id desc";
public static final String query_tb_test = "select test_Name,test_Time,user_name from tb_test order by test_id desc";
public static final String del_tb_video = "delete from tb_video where video_Name=?";
}
第7章 开发中遇到的难点和对策
a. 数据库的连接问题
问题:数据库的连接:在开发过程中经常出现查找不到数据库,出现这样的错误一般是数据库的连接出现问题。
数据库加载驱动有问题。一开始用的是
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Stirng url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mywork";
要求有三个库文件:msbase.jar,mssqlserver.jar,msutil.jar,该文件需要放在服务器的/WEB-INF/lib文件夹下面.
解决方法:经检查发现1433端口没有打开,于是就换成下面的ODBC-JDBC桥驱动:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:mydb";
Connection con=DriverManager.getConnection("jdbc:odbc:mywork");
换成这个驱动就可以连上数据库了。
b. 从数据库中查询信息时会出错
问题:把查询的结果集rs放在ArrayList的对象list中,可是在jsp页面中调用的时候却没有值。
解决方法:经检查发现,向maf中set相应属性时,顺序必须跟sql查询语句中的查询的顺序一样才可以。
while(rs.next()){
maf = new MessageActionForm();
maf.setMes_id(rs.getInt("mes_id")); //1
maf.setMes_title(rs.getString("mes_title")); //2
maf.setMes_content(rs.getString("mes_content")); //3
maf.setMes_sender(rs.getString("mes_sender")); //4
maf.setMes_sendTime(rs.getString("mes_sendTime")); //5
list.add(maf);
}
第8章 总结及未来展望
8.1 总结
《数据库原理网上授课平台》采用B/S模式, 在研究当前网站的基础上,经过详细调研后,确定了系统设计的领域,包括系统设计、数据库设计、程序设计等;通过采用面向对象设计的思想,用Java程序语言和JSP+STRUTS等相关技术进行开发设计;本系统主要完成了用户登录模块,用户注册模块,留言模块,视频管理模块,电子教案管理模块,在线答疑模块。该系统完成了用户可以下载电子教案,视频,在线向管理员提问。 利用SQL Server 2000+JSP+Struts框架开发的,便于维护。同时为网站的用户提供友好的操作界面以及操作的灵活性,使用户能轻松地完成相应操作。
在系统的开发过程中也遇到了许多困难和问题,数据库的连接、数据写入数据库时出错、在调度中出现字符不匹配、页面的设计等。处理数据库的连接是通过建立数据源和JSP中的连接语句实现的,数据的处理是通过SQL语言完成的,而页面的设计通过HTML和Dreamweaver对其进行设计。
在本次开发过程中涉及到了许多新东西,也遇到了许多问题,经过和老师与同学的交流以及自己的努力解决了这些问题。在本次开发过程中使我很好的掌握了JSP+STRUTS等相关技术和SQL Server 2000,给我以后的学习带来了极大的帮助。
8.2 展望
由于这次毕业设计时间紧迫,加之自己的水平有限,系统设计得比较简单,有些方面都没有来得及实现,在以后的学习和实践中我会加以丰富。
(1)为了数据安全,在本系统中只有对该系统所用到的数据库进行备份,而没有对应的数据恢复和数据清理机制,为了能够使得系统数据不至于在遇到误操作时无法恢复,应设计数据恢复功能模块,并及时对数据进行定时的清理。并且此次设计也没有数据参照完整性问题。今后要注意这个问题,要把数据库部分做的更加安全。
(2)“在线答疑”学生提交问题,存入数据库,教师显示页面每隔一秒自动刷新,调用ChatAction类中的方法从数据库中查询结果的在教师显示页面中显示。后因用了frame把几个页面放在一个页面中出了错,所以基本未实现。今后要将其完成。做的更完美一些。
(3)本系统只用了Struts框架,为了使系统更好,应该使用Struts+Spring+Hibernate三大框架。
(4)在用户模块中,由于用户需求不同,系统应具有更好的扩展功能来完善,如增加密码找回功能等,更好的满足用户的需求。
参考文献[1] 张海藩. 软件工程导论(第四版)[M]. 北京:清华大学出版社,2003.12
[2] Johannes Gehrke(美). 数据库系统概念[M]. 北京:清华大学出版社,2004.10
[3] Paul Dubois(美). 网络数据库指南[M]. 北京:机械工业出版社,2000.1
[4]Marty Hall,Larry Brown(美). Servlet与JSP核心编程(第2版)[M]. 北京:清华大学出版社,2004.6
[5] 汪晓平,俞俊,李功. 精通Java网络