




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Struts2 电影论坛文档电影论坛文档1系统系统简介简介.11.1BBS论坛.21.2STRUTS2 主要功能.22系统设计及功能系统设计及功能.32.1数据库模型设计.32.2类的设计.42.2.1用户类的设计.42.2.2类的说明.53功能实现功能实现.73.1注册功能.73.2登录功能.933发帖功能.103.4评帖功能.113.5删帖功能.123.6个人信息功能.1437更改信息功能.163.8退出功能.173.9查询功能.184.项目页面主要截图.205.程序主要部分代码.24 . 一一. .系统简介系统简介 1.BBS 论坛 (1)用户访问论坛时,用户必须要登录,未注册的用户必须
2、先注册然后再进入登陆页面,网站提供了客户浏览帖子,用户也可以更改个人信息,并能发表和回复帖子。 (2)网站同时实现了后台管理功能,当用户登陆帐号时,可以对帖子中的信息进行添加、更新、删除、查询等功能。 2.struts2 主要功能主要功能 struts2 这所以称之为框架.就是让所有人都按 STRUTS2 的标准来写代码,这样就方便多人同开发同一个项目.并且大家都能很容易看懂别人的代码 实现页面跳转时对数据的验证,操作数据库,防止表单重复提交,提供 jsp 页面的标签的使用。 3.项目需求项目需求 论坛又名网络论坛 BBS,全称为 Bulletin Board System(电子公告板)或者B
3、ulletin Board Service(公告板服务) 。是 Internet 上的一种电子信息服务系统。它提供一块公共电子白板,每个用户都可以在上面书写,可发布信息或提出看法。它是一种交互性强,内容丰富而即使的 Internet 电子信息服务系统。用户在 BBS 站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。那么什么是 BBS 呢?BBS 的英文全称是 Bulletin Board System,翻译为中文就是“电子布告栏系统”。BBS 最早是用来公布股市价格等类信息的,当时 BBS 连文件传输的功能都没有,而且只能在苹果机上运行。早期的 BBS 与一般街头和校园内的公告板性质
4、相同,只不过是通过来传播或获得消息而已。一直到开始普及之后,有些人尝试将苹果计算机上的 BBS 转移到个人计算机上,BBS 才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS 的功能得到了很大的扩充。目前,通过 BBS 系统可随时取得各种最新的信息;也可以通过 BBS 系统来和别人讨论计算机等等各种有趣的话题;还可以利用 BBS 系统来发布一些“征友”、 “廉价转让”、 “招聘人才”及“求职应聘”等启事;更可以召集亲朋好友到聊天室内高谈阔论这个精彩的天地就在你我的身旁,只要您在一台可以访问校园网的计算机旁,就可以进入这个交流平台,来享用它的种种服务。二系统设计及功能二系统设计及功能 系统
5、运用的开发工具是 MyEclipse8.5,采用的操作系统是 Windows 7,Web 服务器采用 Tomcat6.0,开发工具包是 JDK Version1.6,数据库为 mysql,浏览器为 IE。另外,本系统采用了 Struts2+Jsp 的架构模式。MYSQL 数据库 用户名 root 密码 6666数据库模型设计数据库模型设计功能功能效果效果登录、注册用户的登录、注册、修改信息等功能信息显示用户自身,帖子信息、好友的信息显示发帖子用户实现发帖功能删除帖子用户实现删除帖功能进行评论用户能对其他人的帖子发表评论美工网站特效,图片添加application现不能重复登录和统计首页显示普通
6、游客浏览最新帖子(不可评论)图 5-1 数据库模型图描述:编号库表名称描述1article论坛交流信息表2re_article发表信息表3userinfo用户信息表 (1)message 用来保存用户的用户名、密码等。该表中的用户登录之后才可以发表帖子等操作。 (2)article 论坛交流信息。 (3)re_article 发表帖子的详细信息,可以让用户进行表的查看。 (4)userinfo 保存会员的交流信息,以便会员查询,并进行操作。类的设计类的设计1.用户类的设计用户类的设计6-1 普通用户类类图描述:编号类名描述1 LoginAction 用户登陆类2 addRe_ArtocleAc
7、tion.java 用户交流类3 UseMangerrAction 用户操作类 6-2 验证类类图2.类的说明类的说明public class _loginAction extends ActionSupport private String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return
8、password;public void setPassword(String password) this.password = password;SuppressWarnings(unchecked)Overridepublic String execute() throws Exception UserManager user=new UserManager();String name=user.login(username, password);if(null!=name)SimpleDateFormat tempDate=new SimpleDateFormat(yyyy-MM-dd
9、+ +HH:mm:ss);String datetime=tempDate.format(new Date();ActionContext.getContext().getSession().put(logintime, datetime);ActionContext.getContext().getSession().put(user_id, username);ActionContext.getContext().getSession().put(name, name);ActionContext.getContext().getSession().put(temp, temp);retu
10、rn SUCCESS;else addActionError(用户名或密码错误);return LOGIN;Overridepublic void validate() if(this.username.length()15)addActionError(用户ID长度应在6到15位之间);if(this.password.length()15)addActionError(密码应在6到15位之间);三功能实现三功能实现1. 注册功能注册功能功能说明: 用户点击首页中的注册链接后,页面中显示注册层供用户填写注册信息,当用户输入新注册的用户名时,调用后台方法判断是否为非汉字,长度是否在 5-15
11、之间;输入密码时,判断长度是否在 5-15 之间;输入昵称长度是否在 1-15 之间;输入班级时在 1-9之间,选择 4 种头像。7-1-1 注册功能活动图7-1-2 注册功能顺序图 层次类型备注Mcom.dao.UserDao进行用户的添加的后台操作Ccom.test. actionlogin登陆用户的 actionC com.test.bean. 添加用户的 beanVlogin.jsp登陆界面Vregister.jsp注册界面2.登陆功能登陆功能功能说明:用户点击完登陆链接后,在页面中显示登陆层用户输入完用户名和密码后点击登陆按钮完成登陆操作。7-2-1 登录功能活动图7-2-2 登录功
12、能流程图3发帖功能发帖功能功能说明:根据是否登陆以及回复设置判断回复信息的是否可用,根据会员请求的页数从数据库中查询出数据,生成数据集合。 7-3-1 功能流程图4评论贴子评论贴子功能描述用户可以对想要评论的帖子进行评论,并且可以让其他用户浏览。功能实现点击要评论的帖子,调用后台的程序接收前台信息并判断帖子是否符合要求评存储帖子的信息 7-4-1 5删除帖子删除帖子功能描述用户因某原因想要删除帖子,用户可以进行删除操作,删除后的帖子,帖子评论将会跟随帖子的删除一起删除。新显示的帖子信息将不再包括删除过的这条帖子。功能实现对自己已经发表过的帖子用户可以进行删除操作,删除后的帖子将从数据库删除。后
13、台调用方法将帖子删除。 7-5-1 添加评论活动图添加评论流程图三.具体程序实现如下:层次类型备注MDeletetopic 方法从数据库将帖子删除,删除的同时删除该帖子的所有评论。CTopicaction.java点击删除后跳转的 action,完成后台对 Topicmaindao中 deletetopic 方法的调用,完成帖子的删除,之后跳转到显示页面Vallqu.jsp显示用户的所有帖子6个人信息功能个人信息功能 功能说明:根据是否已经登陆判断个人信息的按钮是否可用,根据用户请求的页数从数据库中查询出数据,生成数据集合,根据按钮可用信息及数据集合生成页面信息并回。7-6-1 功能活动图 7
14、-6-2 功能顺序(流程)图7更改信息更改信息功能说明:根据是否已经登陆判断更改信息的按钮是否可用,点击查看并修改个人信息。7-7-1 功能活动图 7-7-2 功能顺序图8退出功能退出功能 功能说明:根据是否已经登陆判断退出的按钮是否可用,点击退出即可,并返回首页。 13-8-1 功能活动图 13-2-8 功能顺序图9查询功能查询功能功能说明:根据是否已经登陆判断注销的按钮是否可用,点击注销按钮,页面显示有查询余额,点击查询即可出现用户信息,点击并返回银行首页。 15-10-1 功能活动图 15-10-2 功能顺序图四、项目主要页面截图四、项目主要页面截图 1.首页首页2. 登陆登陆 3. 注
15、册注册4. 写帖写帖5. 浏览帖子浏览帖子7.回复帖回复帖8.返回首页返回首页五程序主要部分代码五程序主要部分代码1LoginAction.javapackage com.test.action;import java.text.SimpleDateFormat;import java.util.Date;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com.test.db.UserManager;public class _loginAction
16、 extends ActionSupport private String username;private String password;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getPassword() return password;public void setPassword(String password) this.password = password;SuppressW
17、arnings(unchecked)Overridepublic String execute() throws Exception UserManager user=new UserManager();String name=user.login(username, password);if(null!=name)SimpleDateFormat tempDate=new SimpleDateFormat(yyyy-MM-dd+ +HH:mm:ss);String datetime=tempDate.format(new Date();ActionContext.getContext().g
18、etSession().put(logintime, datetime);ActionContext.getContext().getSession().put(user_id, username);ActionContext.getContext().getSession().put(name, name);ActionContext.getContext().getSession().put(temp, temp);return SUCCESS;else addActionError(用户名或密码错误用户名或密码错误);return LOGIN;Overridepublic void va
19、lidate() if(this.username.length()15)addActionError(用户用户 ID 长度应在长度应在 6 到到 15 位之间位之间);if(this.password.length()15)addActionError(密码应在密码应在 6 到到 15 位之间位之间);2.addArticleAction.javapackage com.test.action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;import com
20、.test.db.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_id(String user_id) this.user_id = user_id;public String getName() return name;p
21、ublic void setName(String name) = name;public String getTopic() return topic;public void setTopic(String topic) this.topic = topic;public String getContent() return content;public void setContent(String content) this.content = content;Overridepublic String execute() throws Exception Action
22、Context ac=ActionContext.getContext();this.user_id=(String)ac.getSession().get(user_id);=(String)ac.getSession().get(name);getArticle getarticle=new getArticle();boolean flag=getarticle.addArticle(this.user_id, , this.topic, this.content);if(flag)return SUCCESS; elseaddActionError(
23、发送帖子失败发送帖子失败);return ERROR;Overridepublic void validate() if(this.topic.length()30)addActionError(请认真填写主题请认真填写主题);if(this.content.length()5)addActionError(请认真填写帖子请认真填写帖子);3.addUserAction.javapublic class addUserAction extends ActionSupport private String user_id;private String password;private Strin
24、g name;private String _class;private String pic;public String getUser_id() return user_id;public void setUser_id(String user_id) this.user_id = user_id;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getName() return name;pu
25、blic void setName(String name) = name;public String get_class() return _class;public void set_class(String _class) this._class = _class;public String getPic() return pic;public void setPic(String pic) this.pic = pic;Overridepublic String execute() throws Exception UserManager user=new User
26、Manager();boolean flag1=user.sercheUser_id(this.user_id); /先判断该账号是否存在boolean flag2=false;if(flag1) flag2=user.addUser(this.user_id,this.password,,this._class,this.pic); if(flag2) return SUCCESS; else addActionError(注册失败); return ERROR; elseaddActionError(该账号已经存在,请重新输入);return ERROR;Override
27、public void validate() if(this.user_id.length()15)addActionError(用户ID不合法);if(this.password.length()15)addActionError(密码不合法);if(.length()15)addActionError(用户呢称不合法);4.UserManager.javapublic class UserManager private Connection conn;private PreparedStatement prepare;private ResultSet rs;public
28、 String login(String username,String password) throws SQLException, NamingExceptionString sql=select name from userinfo where user_id=? and password=?;conn=DBpool.getConnection();prepare=conn.prepareStatement(sql);prepare.setString(1, username.trim(); prepare.setString(2, password.trim();rs=prepare.
29、executeQuery();if(rs.next()String name=rs.getString(name);return name;elsereturn null;public boolean addUser(String user_id,String password,String name,String _class,String pic) throws SQLException, NamingExceptionString sql=insert into userinfo values(?,?,?,?,?);conn=DBpool.getConnection();prepare=
30、conn.prepareStatement(sql);prepare.setString(1, user_id);prepare.setString(2, password);prepare.setString(3, name);prepare.setString(4, _class);prepare.setString(5, pic);int i=prepare.executeUpdate();if(i=1)return true;elsereturn false;public boolean sercheUser_id(String user_id) throws SQLException, NamingExceptionString sql=select * from userinfo where user_id=?;conn=DBpool.getConnection();prepare=conn.prepareStatement(sql);prepare.setString(1,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国三折钢珠滑轨道行业发展研究报告
- 监理工程师考试问答集试题及答案
- 2025至2030年中国万向掺气冲击器行业发展研究报告
- 2025至2030年中国X光理疗器材行业投资前景及策略咨询报告001
- 2025至2030年中国SB格子三叶杯市场调查研究报告
- 2025至2030年中国PVC套袋行业发展研究报告
- 2025至2030年中国PE冷凝水缸行业发展研究报告
- 2025至2030年中国GPS导航手机行业发展研究报告
- 2025至2030年中国EVA女鞋行业发展研究报告
- 2025年03月江苏常熟市部分市级机关及下属单位公开招聘编外工作人员6人笔试历年参考题库考点剖析附解题思路及答案详解
- 2025年度海鲜餐厅品牌区域合作授权合同
- 班组安全管理标准化手册
- DL-T5024-2020电力工程地基处理技术规程
- 2024年上海市普通高中学业水平等级性考试化学试卷(含答案)
- 驾照体检表完整版本
- 三级医院评审标准(2023年版)实施细则
- 建坐标系解立体几何(含解析)
- 第四期主旨报告学习能力的建立郑荣禄
- 纸箱厂表格——首检记录表(纸板线)
- 南非国标(SABS 226 2004Edition51)
- 文物保护工程安全责任书_3
评论
0/150
提交评论