为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Struts2电影交流BBS论坛设计

2018-04-04 21页 doc 53KB 14阅读

用户头像

is_597436

暂无简介

举报
Struts2电影交流BBS论坛设计Struts2电影交流BBS论坛设计 天 津 理 工 大 学 本科生课程设计 题目:Struts2电影交流BBS论坛 学生姓名 届 2011 学院(系)华信软件学院 专业 软件工程 指导教师职称工程师 下达任务日期 2013-10-15 天津理工大学教务处制 天津理工大学Struts2课程设计开题报告 届: 11届 学院(系):华信软件学院 专业: 软件工程 2013年10月15日 学生姓名学号 HX20114992 指导教师职称 工程师 所选题目 电影交流BBS论坛 题目来源 生活实际 一、选题理由...
Struts2电影交流BBS论坛设计
Struts2电影交流BBS论坛 天 津 理 工 大 学 本科生课程设计 目:Struts2电影交流BBS论坛 学生姓名 届 2011 学院(系)华信软件学院 专业 软件工程 指导教师职称工程师 下达任务日期 2013-10-15 天津理工大学教务处制 天津理工大学Struts2课程设计开题报告 届: 11届 学院(系):华信软件学院 专业: 软件工程 2013年10月15日 学生姓名学号 HX20114992 指导教师职称 工程师 所选题目 电影交流BBS论坛 题目来源 生活实际 一、选题理由 随着网络的迅猛发展,网络用户要求不断提高计算机科学技术的发展水平,特别是新兴的网络论坛,各个网站中都需要用户注册,才能进行该网站的更多娱乐操作,而且在网站中还设有浏览者留言、意见反馈等功能,这些功能都只是为了网络开发部及网络维护员们对该网站进行修改和更新。 在这些现状中我们可以发现这样一个事实,每个用户在浏览网页上的内容时,只是对网站的部分内容感兴趣,而且这种兴趣会持续一段时间。因为在浏览了这个网页之后,用户只是单纯的浏览了网页的内容,这样大大减少了用户再次登录该网站进行浏览的可能性,这是网站的点击率的一个重要缺陷。BBS论坛是各个用户在浏览了网站内容后,可以发表自己对网站的意见,各个用户之间也可以通过发帖的形式进行技术和经验的交流。具有很强的优越性,所以本次我们选择去做一个电影交流的BBS论坛。 二、功能描述 1.论坛管理:论坛需要统一信息的管理,对各类信息情况和论坛信息的数量,种类要及时掌握,这就要求它具有很强的时效性。 2.公告管理:可以添加一些及时的消息,比如近期即将上映的电影、天气状况,出行情况等,让大家持续关注论坛动态。 3.版块管理:是管理员、版主所独有的功能,主要是系统界面中各个板块的摆放,要求简洁、直观且在组织上也达到简练的目的。 4.帖子管理:对于用户发表的帖子,需要进行统一的管理,具体有查找,删除,修改等功能。 我在本次小组设计中主要做的功能是系统后台的管理。论坛都有重要新闻或者主题动态的展示,在论坛的最上边,此功能属于管理员所有,无论是管理员还是版主,都会随时监控帖子的时效性,保证帖子的更换频率,使得每位用户都能够掌握自己所需的信息。 签字: 年 月 日 天津理工大学教务处制表 Struts2电影交流BBS论坛 摘 要 随着时代的推进,网络统领时代潮流,如今已经普及于人类的生产和日常生活之中。互联网是对现实世界的模拟,互联网凭借着高效性,跨区域性,即时性,扩展和改变着我们所生活的现实世界。BBS作为一种简便、松散、充满个性的现代电子远程通讯手段,现在在国内得到广泛的应用。BBS论坛是互联网上很常见的一种实时动态的交流平台。 本次设计的基于J2EE的BBS论坛系统,定位于综合类业余论坛,主要用户群体是普通用户。该论坛在网络环境的支持下,具有支持用户进行发表文章等功能。具体包含3个模块,分别是会员模块,帖子模块和论坛管理模块。会员模块主要是对会员的个人属性管理,帖子模块是针对帖子的管理,而论坛管理模块针对论坛版块、公告和广告的管理。 本论坛将采用B/S体系结构,在Struts框架的基础上,结合当今主流的网站开发技术Java语言以及JSP技术。人们通过浏览器就可以访问本网站的主页,保证服务器的安全。数据库采用免费,易用的MySQL数据库。该论坛功能较齐全,在这里可以自由地发表自己的观点或对论坛的主题发表意见,我们还可以对网友的问题及时地解决,获取对自己有用的知识。本系统严格按照软件项目开发的流程进行开发,系统开发的可行性、需求分析、概要设计、详细设计以及对系统的测试与维护都有详细的论述。 关键字:Java;B/S;Struts;BBS Abstract Along with the advancement of era, network has been spread in human production and daily life. The Internet is a simulation of the real world, with high efficiency, trans-regional, immediacy, and changing the world we live in a reality.BBS as a kind of simple and loose and full of personality in modern electronic communications, now widely used in China. BBS is a very common on the Internet a real-time dynamic communication platform The BBS system based on J2EE is designed, aimed at amateur BBS, and its main user groups is ordinary users. The system with the support of network environment will support users publish articles, etc. The System includes three modules, respectively is member module, the posts module and management module. Member module is the management of personal property. Posts module manage posts and management module manage section, announcements, and advertising. BBS adopts B/S architecture, on the basis of the Struts framework, combined with today's mainstream Java language website development technology and JSP technology. People can access the site via a browser page, and ensure the safety of server. The MySQL database is adopted which free and easy-to-use. The BBS function is relatively complete. Here you can freely published their own views and opinions on the theme of the BBS, and also can solve problems in a timely manner of online friends, to get useful knowledge. The system is developed in strict accordance with the process of software development. The system development accessibility analysis, requirements analysis, outline design, detailed design and system testing and maintenance are discussed in detail. Key words:Java;B/S;Struts;BBS 一.系统简介 1.BBS论坛 (1)用户访问论坛时,用户必须要登录,未注册的用户必须先注册然后再进入登陆页面,网站提供了客户浏览帖子,用户也可以更改个人信息,并能发表和回复帖子。 (2)网站同时实现了后台管理功能,当用户登陆帐号时,可以对帖子中的信息进行添加、更新、删除、查询等功能。 2.struts2主要功能 struts2 这所以称之为框架.就是让所有人都按STRUTS2的来写代码,这样就方便多人同开发同一个项目.并且大家都能很容易看懂别人的代码 实现页面跳转时对数据的验证,操作数据库,防止表单重复提交,提供jsp页面的标签的使用。 3.项目需求论坛又名网络论坛BBS,全称为Bulletin Board System(电子公告板)或者Bulletin Board Service(公告板服务)。是Internet上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。那么什么是BBS呢?BBS的英文全称是Bulletin Board System,翻译为中文就是“电子布告栏系统”。BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过来传播或获得消息而已。一直到开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。目前,通过BBS系统可随时取得各种最新的信息;也可以通过BBS系统来和别人讨论计算 机„„等等各种有趣的话题;还可以利用BBS系统来发布一些“征友”、“廉价转让”、“招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室内高谈阔论„„这个精彩的天地就在你我的身旁,只要您在一台可以访问校园网的计算机旁,就可以进入这个交流平台,来享用它的种种服务。 二.系统设计及功能 系统运用的开发工具是MyEclipse8.5,采用的操作系统是Windows 7,Web服务器采用Tomcat6.0,开发工具包是JDK Version1.6,数据库为mysql,浏览器为IE。另外,本系统采用了Struts2+Jsp的架构模式。MYSQL数据库 用户名root 密码6666 功能 效果 登录、注册 用户的登录、注册、修改信息等功能 信息显示 用户自身,帖子信息、好友的信息显示 发帖子 用户实现发帖功能 删除帖子 用户实现删除帖功能 进行评论 用户能对其他人的帖子发表评论 美工 网站特效,图片添加 application 现不能重复登录和统计 首页显示 普通游客浏览最新帖子(不可评论) 数据库模型设计 图5-1 数据库模型图描述: 编号 库表名称 描述 1 article 论坛交流信息表 2 re_article 发表信息表 3 userinfo 用户信息表 (1)message用来保存用户的用户名、密码等。该表中的用户登录之后才可 以发表帖子等操作。 (2)article 论坛交流信息。 (3)re_article 发表帖子的详细信息,可以让用户进行表的查看。 (4)userinfo保存会员的交流信息,以便会员查询,并进行操作。 类的设计 1.用户类的设计 6-1普通用户类类图描述: 编号 类名 描述 1LoginAction 用户登陆类 2 addRe_ArtocleAction.java 用户交流类 3 UseMangerrAction 用户操作类 6-2 验证类类图 2.类的说明 public class _loginAction extends ActionSupport private String username; private String password; public String getUsername return username; public void setUsernameString username this.username username; public String getPassword return password; public void setPasswordString password this.password password; @SuppressWarnings"unchecked" @Override public String execute throws Exception UserManager usernew UserManager; String nameuser.loginusername, password;ifnull!name SimpleDateFormat tempDatenew SimpleDateFormat"yyyy-MM-dd"+" "+"HH:mm:ss"; String datetimetempDate.formatnew Date; //.Session.put"logintime", datetime; //.Session.put"user_id", username; //.Session.put"name", name; //.Session.put"temp", "temp"; return SUCCESS; else addActionError"用户名或密码错误"; return LOGIN; @Override public void validate //.gth5 || //.gth15 addActionError"用户ID长度应在6到15位之间"; //.gth5 || //.gth15 addActionError"密码应在6到15位之间"; 功能实现 1.注册功能 功能说明: 用户点击首页中的注册链接后,页面中显示注册层供用户填写注册信息,当用户输入新注册的用户名时,调用后台方法判断是否为非汉字,长度是否在5-15之间;输入密码时,判断长度是否在5-15之间;输入昵称长度是否在1-15之间;输入班级时在1-9之间,选择4种头像。 7-1-1注册功能活动图 7-1-2 注册功能顺序图 层次 类型 备注 M //.rDao 进行用户的添加的后台操作 C com.test. actionlogin 登陆用户的action C //.n添加用户的bean V login.jsp 登陆界面 V register.jsp 注册界面 2.登陆功能 功能说明:用户点击完登陆链接后,在页面中显示登陆层用户输入完用户名和密码后点击登陆按钮完成登陆操作。 7-2-1登录功能活动图 7-2-2登录功能流程图 3.发帖功能 功能说明:根据是否登陆以及回复设置判断回复信息的是否可用,根据会员请求的页数从数据库中查询出数据,生成数据集合。 7-3-1 功能流程图 4.评论贴子 功能描述:用户可以对想要评论的帖子进行评论,并且可以让其他用户浏览。 功能实现:点击要评论的帖子,调用后台的程序接收前台信息并判断帖子是否符合要求评 存储帖子的信息。 7-4-1添加评论活动图 删除帖子 功能描述: 用户因某原因想要删除帖子,用户可以进行删除操作,删除后的帖子,帖子评论将会跟随帖子的删除一起删除。新显示的帖子信息将不再包括删除过的这条帖子。 功能实现: 对自己已经发表过的帖子用户可以进行删除操作,删除后的帖子将从数据库删除。后台调用方法将帖子删除。 7-5-1删除帖子活动图 删除帖子流程图 6.个人信息功能 功能说明:根据是否已经登陆判断个人信息的按钮是否可用,根据用户请求的页数从数据库中查询出数据,生成数据集合,根据按钮可用信息及数据集合生成页面信息并回。 7-6-1 功能活动图 7-6-2 功能顺序(流程)图 7.更改信息 功能说明:根据是否已经登陆判断更改信息的按钮是否可用,点击查看并修改个人信息。 7-7-1 功能活动图 7-7-2 功能顺序图 退出功能 功能说明:根据是否已经登陆判断退出的按钮是否可用,点击退出即可,并返 回首页。 13-8-1功能活动图 13-2-8 功能顺序图 9.查询功能 功能说明:根据是否已经登陆判断注销的按钮是否可用,点击 注销按钮,页面显示有查询余额,点击查询即可出现用户信息,点击并返回银行首 页。 15-10-1功能活动图15-10-2 功能顺序图 四、项目主要页面截图 1.首页 登陆 注册 发表帖子 发帖成功 6.浏览帖子(游览进入) 7.回复帖子 五.程序主要部分代码 1.LoginAction.java package //.ion; import //.pleDateFormat; import //.e; import //.rk2.ActionContext; import //.rk2.ActionSupport; import //0>..UserManager; public class _loginAction extends ActionSupport private String username; private String password; public String getUsername return username; public void setUsernameString username this.username username; public String getPassword return password; public void setPasswordString password this.password password; @SuppressWarnings"unchecked" @Override public String execute throws Exception UserManager usernew UserManager; String nameuser.loginusername, password; ifnull!name SimpleDateFormat tempDatenew SimpleDateFormat"yyyy-MM-dd"+" "+"HH:mm:ss"; String datetimetempDate.formatnew Date; //.Session.put"logintime", datetime; //.Session.put"user_id", username; //.Session.put"name", name; //.Session.put"temp", "temp"; return SUCCESS; else addActionError"用户名或密码错误"; return LOGIN; @Override public void validate //.gth5 || //.gth15 addActionError"用户ID长度应在6到15位之间"; //.gth5 || //.gth15 addActionError"密码应在6到15位之间"; 2.addArticleAction.java package //.ion; import //.rk2.ActionContext; import //.rk2.ActionSupport; import //..getArticle; public class addArticleAction extends ActionSupport private String user_id; private String name; private String topic; private String content; public String getUser_id return user_id; public void setUser_idString user_id this.user_id user_id; public String getName return name; public void setNameString name this.name name; public String getTopic return topic; public void setTopicString topic this.topic topic; public String getContent return content; public void setContentString content this.content content; @Override public String execute throws Exception ActionContext acActionContext.getContext; this.user_//."user_id"; //.Session.get"name"; getArticle getarticlenew getArticle; boolean //.r_id, this.name, this.topic, this.content; ifflag return SUCCESS; else addActionError"发送帖子失败"; return ERROR; @Override public void validate //.gth1 || //.gth30 addActionError"请认真填写主题"; //.gth5 addActionError"请认真填写帖子"; 3.addUserAction.java public class addUserAction extends ActionSupport private String user_id; private String password; private String name; private String _class; private String pic; public String getUser_id return user_id; public void setUser_idString user_id this.user_id user_id; public String getPassword return password; public void setPasswordString password this.password password; public String getName return name; public void setNameString name this.name name; public String get_class return _class; public void set_classString _class this._class _class; public String getPic return pic; public void setPicString pic this.pic pic; @Override public String execute throws Exception UserManager usernew UserManager; boolean flag1user.sercheUser_idthis.user_id;//先判断该账号是否存 在 boolean flag2false; ifflag1 flag//.r_id,this.password,this.name,this._class,this.pic; ifflag2 return SUCCESS;elseaddActionError"注册失败";return ERROR; else addActionError"该账号已经存在,请重新输入"; return ERROR; @Override public void validate ifthis.user_id.length5 || this.user_id.length15 addActionError"用户ID不合法"; //.gth5 || this.user_id.length15 addActionError"密码不合法"; //.gth1 || this.user_id.length15 addActionError"用户呢称不合法"; 4.UserManager.java public class UserManager private Connection conn; private PreparedStatement prepare; private ResultSet rs; public String loginString username,String password throws SQLException, NamingException String sql"select name from userinfo where user_id? and password?"; connDBpool.getConnection; prepareconn.prepareStatementsql; prepare.setString1, username.trim;prepare.setString2, password.trim; rsprepare.executeQuery; ifrs.next String namers.getString"name"; return name; else return null; public boolean addUserString user_id,String password,String name,String _class,String pic throws SQLException, NamingException String sql"insert into userinfo values?,?,?,?,?"; connDBpool.getConnection; prepareconn.prepareStatementsql; prepare.setString1, user_id; prepare.setString2, password; prepare.setString3, name; prepare.setString4, _class; prepare.setString5, pic; int iprepare.executeUpdate; ifi1 return true; else return false; public boolean sercheUser_idString user_id throws SQLException, NamingException String sql"select * from userinfo where user_id?"; connDBpool.getConnection; prepareconn.prepareStatementsql; prepare.setString1, user_id; rsprepare.executeQuery; ifrs.next return false; //表示该账号已被注册 else return true; RegistValidate.java package //.idateAction; import //.rInfo; import //.rk2.ActionSupport; @SuppressWarnings"serial" public class RegistValidate extends ActionSupport private UserInfo userInfo; public UserInfo getUserInfo return userInfo; public void setUserInfoUserInfo userInfo this.userInfo userInfo; struts.xml ?xml version"1.0" encoding"UTF-8" ? !DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "////.package name"struts2" extends"struts-default" interceptor name"loginInterceptor" class"//.erceptor.loginInterceptor" global-resultsresult name"login"/_login.jsp/global-resultsaction name"getArticle" class"//.ion.getArticleAction"result name"success"/bbs.jspaction name"getArticle1" class"//.ion.getArticleAction1"/article.jspaction name"_login" class"//.ion._loginAction" result name"success" type"redirect-action"getArticleresult name"login"/_login.jspresult name"input"/_login.jspaction name"addRe_Article" class"//.ion.addRe_ArticleAction"result name"success" type"redirectAction"getArticle1?article_id$article_idresult name"error"/_index.jspinterceptor-ref name"loginInterceptor"/interceptor-refinterceptor-ref name"defaultStack"/interceptor-refaction name"addUser" class"//.ion.addUserAction"result name"success"/_login.jspresult name"error"/addUser.jspaction name"addArticle" class"//.ion.addArticleAction"result name"success" type"redirectAction"getArticleresult name"error"/addArticle.jspinterceptor-ref name"loginInterceptor"/interceptor-refinterceptor-ref name"defaultStack"/interceptor-refaction name"delArticle" class"//.ion.delArticleAction"result name"success" type"redirectAction"getArticleresult name"error" type"redirectAction"getArticleaction name"delre_Article" class"//.ion.delre_ArticleAction"result name"success" type"redirectAction"getArticle1?article_id$article_idresult name"error" type"redirectAction"getArticle1?article_id$article_id index.jsp %@ page language"java" contentType"text/6>html; charsetgb2312" pageEncoding"gb2312"% !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "////.meta http-equiv"Content-Type" content"text/html; charsetGB18030" 论坛首页 script type"text/javascript"function check var usernamedocument.getElementById"001".value; var passworddocument.getElementById"002".value; var reg/^\w5,15$/;ifreg.testusername && reg.testpassword return true; else alert"请填写合法用户和密码"; return false; form action"_login.action" method"post" onsubmit"return check" table style"border-collapse:collapse;position:relative;top:30px" width"55%" border"0" align"center" bordercolor"#000000" cellpadding"10px" tr bgcolor"#E5F0FF" td width"10%"font size"2"用户名 td width"15%"input type"text" name"username" style"height:15px; width:120px;" id"001" length"15" font size"2"密码 input type"password" name"password" style"height:15px; input type"submit" value" 登录 " height"1" style"background:transparent;border-width:0px;color:#ffffff" font size"2" color"#ffffff"a href"addUser.jsp" style"text-decoration:none;"注册 font size"2"a href"getArticle.action" style"text-decoration:none;"游览进入td colspan"7"img src"pic/5.jpg"/td colspan"7" height"5px" bgcolor"#E5F0FF" 致 谢 通过这次毕业设计,我对自己大学几年的学习有了一个总结和检验,我积累的知识有了用武之地,而且我的动手能力也大大提高了。在这段时间里,所有的工作都得靠自己努力尝试才能有所进展,而且对于整个开发过程,需要合理的进度安排和很好的逻辑协调能力,这种解决问题的能力锻炼和思考问题的模式都使我受益匪浅,所有这些都构成了我不能忘怀这一段时间之旅的原因。 这里,我衷心感谢老师的悉心指导,还有同学的帮助,感谢他们对我的支持。 我的设计还有许多漏洞和不足之处,我的也有值得完善之处,恳请各位老师批评指正。
/
本文档为【Struts2电影交流BBS论坛设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索