




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统可行性和需求分析2.1可行性分析(前端框架layui)Java语言目前是使用最广泛的编程语言[4]。本设计使用的框架技术是JAVAEE企业级框架,JAVAEE框架技术也是目前主流的开发技术之一,对中小型项目使用JAVAEE是比较好的,轻量级,速度快,效率高,极大程度的降低了开发难度。其中前后台的交互主要用到Ajax技术,这样可以增强前后台交互性以及减轻客户端负担。SpringMVC框架能够提高JavaWeb应用的稳定性、扩展性和维护性[5]。MySQL座位数据库的使用,相比其他它会更适合用于这样的中小型项目。该数据是基于javaEE开发的[8]。本论论坛所用到的开发工具和技术都是比较常见的,这一系统具备非常多的优势,比如,具备良好的伸缩性、较强的拓展性、界面大方美观、易维护等[6]。并且大多数在网上都是开源的都可以找到,无需付费,并且对运行设备的软硬件系统要求相对较低,开发者只需要一台能满足正常使用的电脑就可以进行开发工作了。本系统主要是满足了用户大部分的需求,打破了传统的论坛内容方式,方便人们随时都可以关注到各个医美品牌动态,让更多的用户知道医美的内部环境,从而达到推广使用的目的。2.2功能需求分析网上医美论坛系统中大体分为两大功能模块,前台端口显示和后台端口管理。前台端口显示功能模块中主要有:游客可以在没有登录的情况下进入首页浏览信息、按关键字搜索信息,无法发布帖子。游客可注册成为会员,就可进行发布帖了。导航栏功能模块:这里讲将它分为几个功能模块,例如登录,注册,个人中心,退出及发布功能。游客访问可以注册为用户,以及在注册时需要接收短信验证码,成功注册后才能进行发布帖子,成功注册后,需要使用正确的帐户密码登录。点击“退出”可退出登录。系统首页功能模块:可按帖子项目类别来分板块显示不同主题。游客和会员都可以点击查看帖子详情。可查看最受欢迎的帖子项目的排行榜您可以单击该项目以查看帖子的详细信息,最受欢迎帖子的排名也可以查。详情页功能模块:可显示帖子项目详细信息,用户或成员可以对帖子项目发表评论。帖子发布功能模块:用户会员可以根据自身需求,发布相关帖子,例如有对某一项目有自己的看法,编辑后可点击“发布”按钮,即可发布帖子。个人中心功能模块:会员的基本信息可以查看,可以进行修改,可以查看发帖子记录,以及删除或修改帖子。后台显示功能模块中主要有:导航栏功能模块:这里分为两个见到那的部分,前台端口首页以及用户退出登录摁键。点击“前台首页”就跳转到系统前台端口首页。点击“退出登录”可以马上退出个人账号。菜单列表功能模块:分为4个部分:全部帖子、举报、待审核帖子、管理员。管理员模块:查看修改管理员个人信息,例如更改登录密码和换绑手机号码等。会员管理功能模块:这里可以查询会员的住址,性别,联系方式,真实姓名等信息,对会员其置顶帖子进行修改发布的功能。评论管理功能模块:用户会员的评论在这里可以查看,不符合主题的评论可以删除。帖子类型管理功能模块:帖子类型可以添加新的,帖子类型可以查询和删除。
前后台功能模块图如3.1所示。图3.1前后台功能模块图Figure3.1Frontandrearfunctionmodulediagram
3系统总体设计3.1系统功能结构网上医美论坛系统中角色分为:游客,会员,系统管理员。游客:游客的权限包括登入该系统通过访问网上医美论坛主页,浏览网上医美论坛中各种帖子,查看相关的论坛帖子的详情信等。会员:游客权限可用,对于兴趣类目,可进行发帖提问及回复,对已发布的帖子内容可进行评论及删除,可修改个人信息,如登录密码、所在地、删除已发布帖子等操作,也可举报其他违规的贴子等操作。系统管理员:主要维护系统的帖子信息,可以阻止或取消阻止非法帖子,并查看帖子是否合规发布等。3.2数据库表设计数据库设计采用的是E-R模型方法。E-R模型设计模型中涉及的元素包括实体,属性和联系的。这是系统开发中对应的类,而类可以说就是事物的体现形式。属性可以说是实体所具有的属性,联系可以说就是实体所具有的行为,这样会以方法的形式在类中体现。3.2.1注册表论坛系统用户表&注册表,用于保存用户的注册登录信息,登录系统时根据用户表的数据进行验证,同时也是管理员表,用于后台登录系统时验证信息,存放数据的储存表。注册表以及用户表的结构如表3.1所示。
表3.1数据库设计(用户表&注册表)Table3.1DatabaseDesign(UserTable)字段名说明数据类型长度是否为空是否主键Id用户编号int11否是user用户名称varchar255否是password密码varchar255否是type类型int11否否name昵称varchar255否是age年龄int11否否sex性别varchar255否否regTime注册时间datetime0否否address地址varchar255否否signature个性签名varchar255否否img头像varchar255否否mail电子邮箱varchar255否否
3.2.2帖子列表帖子列表,发布帖子后,用于在论坛中显示的帖子详细信息进行收录。前/后台端口帖子显示的主要数据是从帖子表中获取的。帖子列表的结构如表3.2所示。表3.2数据库设计(帖子列表)Table3.2DatabaseDesign(ArticleTable)字段名说明数据类型长度是否为空是否主键Id用户编号int11否是title标题varchar255否是content内容mediumtext0否是views意见int11否否goods商品int11否否rubbis垃圾信息int11否否creationDate创作日期datetime0否是introduction介绍varchar255否否coverimage封面图片varchar255否否userName用户名称varchar255否是type类型varchar255否是report举报int255否否3.2.3帖子收藏表帖子收藏表,对论坛发布的帖子进行收集之作用。前台端口收藏帖子显示的主要数据是从帖子收藏表中获得的帖子。收藏表的结构如表3.3所示。
表3.3数据库设计(帖子收藏表)Table3.3DatabaseDesign(CollectTable)字段名说明数据类型长度是否为空是否主键Id用户编号int11否是userName用户名称varchar255否否articleID用户编号int255否否3.2.4回复评论表所有评论回复用该表保存,前台端口帖子回复数据从该表获取。回复评论表的结构如表3.4所示。表3.4数据库设计(回复评论表)Table3.4DatabaseDesign(CommentTable)字段名说明数据类型长度是否为空是否主键Id用户编号int11否是articleId文章编号int11否是user用户名称varchar255否是commentID注释编号int255否是3.2.5点赞评论表论坛系统点赞评论表,用于保存用户在论坛的中喜欢的帖子,方便用户下次想查看相同的帖子时可以直接打开,不需要再去重新寻找该帖子,点赞表的存在是用户体验良好的代表性之一。点赞评论结构如表3.5所示。表3.5数据库设计(点赞评论表)Table3.5DatabaseDesign(CommentlikeTable)字段名说明数据类型长度是否为空是否主键Id用户编号int11否是username用户名称varchar255否是email邮箱varchar255否否http外链网址varchar255否否commentcontent评论内容varchar255否是articleId文章编号int11否是creationdate创作日期datetime0否是responderName响应者名称varchar11否否read阅读int255否否like点赞int255否否3.2.6举报表论坛系统举报表,用于保存用户在论坛中遇到违规帖子或不良信息传播的举报功能。举报表结构如表3.6所示。表3.6数据库设计(举报表)Table3.6DatabaseDesign(ReportTable)字段名说明数据类型长度是否为空是否主键id用户编号int11否是content内容varchar255否否articleId文章编号int255否否user用户名称varchar255否否
4系统的设计与实现4.1前台首页 论坛的首页是任何角色都可以浏览的,首页比较直观地展示了许多热门的帖子,首页主要展示的是热门的帖子和点赞较高的帖子。热门帖子列表按照最新添加帖子的时间排序,而热门帖子则按照点赞来排序,而若用户已登录可以进行发帖评论点赞等功能,如果用户没有登录,则跳转到登录界面。前台首页界面如图4.1所示。图4.1前台首页截图Figure4.1Frontpagescreenshot主要代码:@RequestMapping("/index") publicStringindex(Modelmodel,HttpSessionsession){ throwsServletException,IOException{ Stringhot=req.getParameter("hot"); Stringpage=req.getParameter("page"); if(page==null){ page="1"; }4.2登录注册当游客在浏览论坛看上某个帖子,通过帖子详情页点击进入帖子内容,就会调转到登录界面。要是注册过了,登录的时候按照上面的提示输入信息就可以登录了。如果您之前尚未注册为会员,则可以在登录界面上单击立即注册以跳转到注册界面。注册界面中填写信息后会收到验证码,把这个码填进去。如果注册成功,您将自动跳至登录页面的,然后可以使用新注册的帐户和密码登录论坛。登录和注册都有验证的功能,如果账号已经存在,或者验证码输入错误等,都会有相应的提示。这对用户的体验还是比较良好的,不会出现多人时同一账号的事情发生,同时也设置有验证码,提高了系统的安全性。登陆、注册的界面如图4.2,图4.3所示。图4.2登录页面截图Figure4.2LoginPagescreenshot图4.3注册页面截图Figure4.3RegistrationPagescreenshot
主要代码://登录 @Override protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{// HttpSessionsession=req.getSession(); session.setAttribute("user",null);@Override resp.sendRedirect(req.getContextPath()+"/login"); }protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException }//注册@Override protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ if(userName.getBytes().length!=userName.length()){ obj.put("code",1); obj.put("msg","账号不能包含特殊字符和中文"); }else //昵称是唯一的if(!UserDao.getInstance().verifyName(name)){ obj.put("code",1); obj.put("msg","昵称已存在,请换一个!");}else if(UserDao.getInstance().registUser(user)){ obj.put("code",0); obj.put("msg","注册成功,去登陆吧!"); }else{ obj.put("code",1); obj.put("msg","账号已存在啦,请换一个!"); } 4.3帖子列表用户可以通过头部的分类或搜索框来按照帖子名称或者帖子的品类来搜索用户自己想要寻找的帖子。通过图4.4可以看到帖子表页中除了可以显示所有符合用户通过模糊查询的帖子外,页面上通过访问排行查询到的帖子。帖子列表的界面如图4.4所示。图4.4帖子列表页面截图Figure4.4Postlistpagescreenshot主要代码:@Override protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ Stringhot=req.getParameter("hot"); Stringpage=req.getParameter("page"); if(page==null){ page="1"; }//前台主要代码:<spanclass="fly-filter-rightlayui-hide-xs"><%if(!hot){%><ahref="${pageContext.request.contextPath}/search?<%=type%>"class="layui-this">按最新</a><spanclass="fly-mid"></span><ahref="${pageContext.request.contextPath}/search?<%=param%>&hot=true">按热议</a><%}else{%><ahref="${pageContext.request.contextPath}/search?<%=param%>">按最新</a><spanclass="fly-mid"></span><ahref="${pageContext.request.contextPath}/search?<%=param%>&hot=true"class="layui-this">按热议</a><%}%></span>4.4帖子详情用户可以在帖子详情页可以看到该帖子的详细信息,可以在这里查看一下帖子的实用性,整个帖子详情页面也是比较简单明了的,主要显示了帖子的基本参数信息,比如发布的时间等,方便用户查看信息时效性,还可以看到该帖子的其他用户给出的评论,通过查阅用户给出的评论确定帖子的实用性,还可进行相关评论。帖子的详情界面如图4.5所示。图4.5帖子详情页面截图Figure4.5Postdetailspagescreenshot主要代码:@Override protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{if(user!=null){ ArrayList<Integer>likeList=LikeDao.getInstance().findByUserAndArticle(user.getUser(),article.getId()); req.setAttribute("likeList",likeList); //没通过审核但不是该用户的帖子且不是管理员跳到404 System.out.println("管理员"+user.getType()); if(article.getAudit()==0&&(!user.getUser().equals(article.getUserName())&&user.getType()!=1)){ req.getRequestDispatcher("./static/404.jsp").forward(req,resp); return; 4.5帖子评论用户如果看上某个帖子,进到该帖子的详情页时,想对该帖子进行评论或收藏,如果用户没有登录,则会跳转到登录界面强制让你登录后才可以对该帖子进行评论或收藏操作,评论可选择插入表情、图片链接等。帖子的评论界面如图4.6所示。图4.6帖子评论页面截图Figure4.6Postcommentpagescreenshot主要代码:@Override protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ ArrayList<UserComment>list=CommentDao.getInstance().findMyReply(user.getName(),50); req.setAttribute("list",list); req.getRequestDispatcher("./static/user/message.jsp").forward(req,resp); }StringitemID=req.getParameter("itemid");if(itemID!=null){ Articlearticle=ArticleDao.getInstance().findByID(Integer.parseInt(itemID)); ArrayList<Article>views=ArticleDao.getInstance().viewsArticleDESC(10,0); req.setAttribute("views",views); if(article!=null) { HttpSessionsession=req.getSession(); Useruser=(User)session.getAttribute("user"); ArrayList<Comment>comments=CommentDao.getInstance().findByarticleId(article.getId()); req.setAttribute("comments",comments); req.setAttribute("article",article); if(user!=null){ ArrayList<Integer>likeList=LikeDao.getInstance().findByUserAndArticle(user.getUser(),article.getId()); req.setAttribute("likeList",likeList); //没通过审核但不是该用户的帖子且不是管理员跳到404 System.out.println("管理员"+user.getType()); if(article.getAudit()==0&&(!user.getUser().equals(article.getUserName())&&user.getType()!=1)){ req.getRequestDispatcher("./static/404.jsp").forward(req,resp); return; }4.6前台个人中心论坛会员通过个人中心查看或修改信息、包含发表的帖子、回复的评论、宣言语录、收藏关注的信息以及设置所在住址等操作。前台的个人中心如图4.7所示。图4.7前台个人中心页面截图Figure4.7Personalcenterpagescreenshot主要代码:
else{//查询自己的主页 if(user!=null){ ArrayList<Article>list=ArticleDao.getInstance().findByUser(user.getUser()); req.setAttribute("list",list); req.setAttribute("user",user); ArrayList<UserComment>userComments=CommentDao.getInstance().findUserComments(user.getUser(),10); req.setAttribute("userComments",userComments); //req.setAttribute("user",user.getUser()); req.getRequestDispatcher("./static/user/home.jsp").forward(req,resp); }else{//不是查询别人又没登陆的--去登录 resp.sendRedirect(req.getContextPath()+"/login"); }4.7后台首页后台的首页排版比较简单,主要包括左边的菜单栏和上方的搜索框,以及跳转到前台的链接,中间部分主要是菜单内容展开,中间右上方可以对后台帖子进行筛选,导出,打印等操作。后台首页的界面如图4.8所示。图4.8后台首页页面截图Figure4.8BackgroundHomepagescreenshot主要代码:@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp) throwsServletException,IOException{ HttpSessionsession=req.getSession(); Useruser=(User)session.getAttribute("user"); if(user!=null){//已经登录 if(user.getType()==1){//是管理员 req.getRequestDispatcher("./static/admin/index.jsp").forward(req,resp); }else{//不是管理员 resp.sendRedirect(req.getContextPath()+"/index"); } }else{//没登录 resp.sendRedirect(req.getContextPath()+"/login"); }4.8全部帖子管理登录后台后端口后,可以对“全部帖子”列中的帖子进行相关操作,并且可以查询和删除帖子。论坛的全部帖子的管理界面如图4.9所示。Figure4.9Allpostsmanagementpagescreenshot主要代码:@Override protectedvoiddoPost(HttpServletRequestreq,HttpServletResponseresp) throwsServletException{ //TODOAuto-generatedcatchblock e.printStackTrace(); } }else{ return; } Gsongson2=newGson(); Messagem=newMessage(); m.setCode(0); m.setData(list); m.setMsg(""); m.setCount(list.size()); try{ resp.getWriter().println(gson2.toJson(m)); }catch(IOExceptione){ e.printStackTrace(); } }4.9举报管理举报管理则能查看帖子的详情以及被举报的原因,管理员审核该帖子是否有违反规则,若有则进行删除,举报操作成功,帖子举报管理界面如图4.10所示。图4.10帖子举报管理页面截图Figure4.10Postreportmanagementpagescreenshot主要代码://举报@RequestMapping("/html/goods/list") @ResponseBody publicPager<Goods>shipInfoList( @RequestParam(value="curr",defaultValue="1")Integercurr, @RequestParam(value="limit",defaultValue="10")Integerlimit, Goodsgoods){ NotNullFielsToMapsFielsToMap=newNotNullFielsToMap(); Map<String,Object>map=sFielsToMap.convertObjToMap(goods); Pager<Goods>pager=newPager<>(curr,limit,map); List<Goods>list=goodsService.findListByPager(pager); Integercount=goodsService.findTotalByPager(pager); pager.setData(list); pager.setCount(count); returnpager; }4.10待审核帖子管理待审核处理的帖子,这里能看到帖子的ID、标题以及创作者和发布的类型,能查看帖子的内容决定是否通过发表,若审核通过则该帖子发布成功,若审核未通过,用户则回收到该帖子未通过的信息,可以进行操作的只有管理员。待审核帖子的界面如图4.11所示。图4.11待审核项目页面截图Figure4.11Itemstobeauditedpagescreenshot主要代码://待审核functiontableAudit(url){table.render({elem:'#test',url:url,page:true,toolbar:'#toolbarDemo'//开启头部工具栏,并为其绑定左侧模板,defaultToolbar:['filter','exports','print',{//自定义头部工具栏右侧图标title:'提示',layEvent:'LAYTABLE_TIPS',icon:'layui-icon-tips'}],method:'post',title:'用户数据表',cols:[[//表头{type:'checkbox',fixed:'left'},{field:'id',title:'ID',width:80,sort:true,fixed:'left',totalRowText:'合计:'},{field:'title',title:'标题',width:300},{field:'name',title:'作者',width:200,sort:true,totalRow:true},{field:'type',title:'类型',width:100},{fixed:'right',width:300,align:'center',toolbar:'#auditSc'}]]});}4.11管理员页面管理管理员的相关信息科在管理员页面进行查看修改,里面包含管理员个人主页、查看发布的帖、基本资料、管理员消息接收;查看并且修改当前登录的管理员的个人信息在基本设置模块进行,需要注意的点,用户名是用来登录的,是不允许修改的。管理员页面的界面如图4.12所示。图4.12管理员页面截图Figure4.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国白茶行业发展监测及投资战略规划研究报告
- 推拿治疗学新题库及答案详解【有一套】
- 2025年房屋拆除工程拆除物回收与处置合作协议
- 2025年度金融行业代理记账与风险评估合同范本
- 2025版移动互联网应用(App)开发与推广咨询合同
- 2025版塔吊工高空作业安全防护劳务合同范本
- 2025年度水利工程混凝土泵送施工总承包合同范本
- 2025年人社部六种劳动合同范本应用指南
- 2025版水利工程应急物资储备劳务承包合同范本
- 2025年度桥梁施工进度管理与监理合同
- 大学生职业生涯规划与就业指导(慕课版) 课件 第七章 职场适应与发展
- 《数字化样机技术》课件
- 《酒店案例分析》课件
- 教室里的安全隐患
- 内审首次会议上的讲话
- 全书课件:计算机网络技术
- 梁实秋《雅舍》课件
- 幼儿园厨房食堂人员培训
- 非计划拔管护理不良事件分析
- 机关食堂从业人员培训
- 《应用光伏学》课程教学大纲(新能源材料与器件专业)
评论
0/150
提交评论