资源描述
课程设计/生产实习报告学 校:XX大学 系 别:XXXXXX班 级:XXXXXXXXXXXXXXX 指导老师:XXX小组成员:XXX摘要BBS论坛系统是采用java语言进行设计实现的,采用Tomcat作为后台服务器,以SQL Server作为数据服务器,使用接口、实现类、实体类、JSP进行逻辑控制,表现层用JSP页面显示,用于在网络上为网民提供一个信息发布、获取的场所。实现了查看、发表、删除帖子功能,论坛帖子版块控制,注册用户可以修改自己的个人信息、增加好友与黑名单,管理员可以对用户、帖子,版块、版块权限和用户组权限进行管理。论文从问题的提出、基本设计思想、数据的流向到具体的设计过程都做出了详细论述。1系统总体设计1.1系统框架/结构 1.2设计开发的技术路线过程包括:(1)脚本编写后台管理模块BBS系统功能模块前台显示模块图3-1 BBS系统功能模块图BBS系统分为前台和后台两个模块。系统的功能模块图如图3-1所示。前台模块的使用对象包括了所有用户(管理员、用户、游客),提供的功能包括注册帐号、用户登录、用户注销、浏览文章、发表新主题、回复主题、修改个人信息。如图3-2所示。后台模块的使用对象为管理人员(版主、管理员、超级管理员),提供的功能包括管理用户、管理版块、管理主题、管理用户组、功能权限管理、版块权限管理。后台功能模块如图3-3所示。(2)数据库与程序设计,根据需要利用相关开发技术使用数据库完成模块的功能设计。本系统采用的工具有JDK 1.5、Tomcat 6.0、MyEclipse 8.5、SQL Server2005,使用的技术有Java、JSP、JavaScript、JDBC等。(1) Java语言概述Java编程语言是一种通用、并发、基于类且面向对象的语言。Java编程语言与C和C+相关,但是在组织方式上有差别,Java具有C和C+遗漏的许多优点,同时兼有其他语言包括的一些思想。它旨在成为一种生产语言,而不是一种研究语言,并且正是如此7。(2) JSP技术概述JSP (Java Server Pages)是由Sun 公司倡导,许多公司参与,共同建立人一种动态网页技术标准,JSP技术是在Servlet技术基础上发展起来的。它正在飞速发展中,现在已经成为Java服务器编程的重要组成部分。(3) JavaScript技术概述JavaScript是一种基于对象(Object)和事件驱动(Event Driver)并具有安全性能的脚本语言,它所能提供的功能非常强大。JavaScript是一种简洁的面向对象的描述语言,是专门用来开发Internet客户端和服务器端的应用程序,它可以被轻易的嵌入到HTML文件中,使用JavaScript浏览器可以回应使用者的需求事件而不用通过网络来回传资料,这样,使用者的资料就可以直接被客户端应用程序所处理,它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择9(3)页面(界面)设计与编程。系统采用JDBC架构,数据库采用SQLServer,其连接数据库的关键代码:1statictry Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver); catch (ClassNotFoundException e) e.printStackTrace();.2.public ResultSet query(String sql,String args)try conn = DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;database=bbs,sa,123456);pstmt = conn.prepareStatement(sql);if(null != args)for(int i=0;iargs.length;i+)pstmt.setString(i+1, argsi);return pstmt.executeQuery(); catch (SQLException e) e.printStackTrace();return null;3public void closed(ResultSet rs)if(rs != null)try rs.close(); catch (SQLException e) e.printStackTrace();if(pstmt != null)try pstmt.close(); catch (SQLException e) e.printStackTrace();if(conn != null)try if(!conn.isClosed()conn.close(); catch (SQLException e) e.printStackTrace();(1) 用户注册:新用户在enrol.jsp页面中输入用户名,密码,密码提示问题、提示问题答案,点击提交按钮,数据提交到enrolinfo.jsp中进行处理,在enrolinfo.jsp中,如果用户名已经有人使用则返回注册页面,否则提示用户注册成功,并跳转到登录后的页面index_logined.jsp。enrolinfo.jsp的代码如下:(2) 用户登录:用户在有帐号的前提下,可以在登录页面login.jsp或主页index.jsp中输入用户名和密码点击登录,系统将用户名和密码提交到doLogin.jsp中的处理,将用户提交的用户名和密码再转交给后台的Dao进行查询,如果有这样的一条记录存在则登录成功,将用户的个人信息保存在浏览器端的Session中,否则返回登录失败页面,并提示用户名或密码错误。doLogin.jsp的代码如下:(3) 用户注销:已登录用户在退出网站时注销登录状态,系统将请求交给login_off.jsp处理,在login_off.jsp中修改用户最后离线时间,将修改保存到数据库中,并将浏览器端的Session的user属性移除,系统返回主页。用户同时失去登录用户的权限,以游客身份访问网站,只能浏览主题,不能发表主题,也不能发表回复。login_off.jsp的代码如下:(4) 查看版面:首页显示BBS的版块及主要信息,点击版块名进入版块下会进入toppic.jsp板块页面页面,点击主题名可以进入主题页面。toppic.jsp的部分代码如下:%if (list_topic != null) for (int i = 0; i (5) 查看主题:当用户在主页上点击版块名时,会产生一个动作,向服务器产生一个请求,服务器将程序交给replydf.jsp处理,在replydf.jsp中取出模块下的所有主题及最后发表回复的作者的信息将其显示在主题页面。Set objDBConn=Server.CreateObject(ADODB.Connection)objDBConn.Mode=?objDBConn.OpenDSN-less串session(dbconn)=objDBConnSet rs=Server.CreateObject(ADODB.Recordset)Commandtext = select * from userlistconnstr=session(dbconn)rs.open Commandtext , connstr , 3 , 2strSQL=INSERT INTO userlist(username,password,question,answer, strSQL= strSQL & email,realname,sex,zjname,zjnumber, strSQL= strSQL & lxway,birthday,homepage,quantity)strSQL=strSQL & VALUES(strSQL=strSQL & strUsername & ,strSQL=strSQL & strPassword & ,strSQL=strSQL & strQuestion & ,strSQL=strSQL & strAnswer & ,strSQL=strSQL & strEmail & ,strSQL=strSQL & strRealname & ,strSQL=strSQL & strSex & ,strSQL=strSQL & strZjname & ,strSQL=strSQL & strZjnumber & ,strSQL=strSQL & strLxway & ,strSQL=strSQL & strBirthday & ,strSQL=strSQL & strHomepage & ,strSQL=strSQL & strQuantity & )%3测试报告通过测试后,发现用户注册的功能不能对输入的信息进行校验,JavaScript对输入的数据没有进行校验,通过查找源代码,发现是函数没有写对。另外还发现了其他一些错误,经过使用打印语句输出数据处理结果的方法,也都找出了错误所在。4 附:程序源码%Write Log objRS.close strSQL=INSERT INTO loginfo(userid,userip,intime) strSQL=strSQL & VALUES( & strUserName & , strSQL=strSQL & request.servervariables(remote_host) & , strSQL=strSQL & now() & ) set objRS=objDBConn.execute(strSQL) if err.number0 then response.write 数据库操作失败:&err.description end ifend ifobjRS.closeobjDBConn.CloseSet objRS=NothingSet objDBConn=Nothing%确定了用户的会员身份以后,在每个需要进行身份识别的ASP网页插入身份识别代码,如果此用户具有访问这个ASP网页的权限,则输出其相应的HTML文件,否则,系统转到用户登录网页要求用户重新登录以取得访问此ASP功能网页的合法身份。例如,论坛基本信息设置ASP网页需要访问者具有超级会员身份,在本网页前必须插入以下一段代码:%Check the Super Administrator RightResponse.Expires=0if Session(adminboard) 0 Then Response.redirect userlog.asp?errmsg=您没有超级用户管理权限,请重新登录或退出! End If%
展开阅读全文