1、此文档收集于网络,如有侵权请联系网站删除博客管理系统一博客管理系统总体设计系统需求:用户可以通过注册登陆进入博客管理系统发表博文,删除博文,查看博文,编辑博文,对博文评论和查看相册等系统功能:浏览博文,编辑博文,删除博文,评论博文,用户登陆,用户注册,查看相册。博客主页面系统模块:博客主页面,用户注册登陆页面,博文浏览最终页面、发布博文模块、修改博文模块、删除博文模块,评论博文模块,个人信息设置,修改密码,浏览相册模块。用户注册登陆页面博文浏览最终页面发布博文模块博客管理系统修改博文模块删除博文模块评论博文模块浏览相册个人信息设置修改密码二系统数据库设计(Mysql)数据库需求分析:用户通过注
2、册、登录博客主页面来发表博文、浏览博文、评论博文以及查询已经发表的博文。确定数据库需要的表以及数据对象:用户数据表:用户主键、用户名、密码用户详细信息表:用户详细信息主键和外键、真实姓名、性别、年龄、邮件、qq号码、用户头像博客文章表:文章主键、文章发布者 、文章标题、文章内容、发布日期、点击次数文章评论表:文章评论主键、外键、评论人、评论内容、评论日期数据表设计:四个表,为用户数据表、用户详细信息表、博客文章表和文章评论表。用户数据表: 列名数据类型是否为空 说明 UseridINT否用户主键loginIdVARCHAR(50)否用户名loginPwdNVARCHAR(50否用户密码用户详细
3、信息表:列名数据类型是否为空说明useridInt否用户详细信息主键和外键trueNameVARCHAR(20)否真实姓名genderVARCHAR(20)否性别ageint否年龄mailVARCHAR(20)否邮箱QqVARCHAR(20)否Qq号码headerimgVARCHAR(50)否用户头像博客文章表:列名数据类型是否为空说明articleIdINT否文章主键authorIdINT否文章发布者title VARCHAR(50)否文章标题contentsTEXT否文章内容pubDateDATETIME否发布日期clicksINT否点击次数文章评论表:列名数据类型是否为空说明commen
4、tIdINT否文章评论主键articleIdINT 否外键useridINT否评论人commentTEXT否评论内容commentPubDateDATETIME否评论日期三系统基本框架:Header.htmlMaintitle.jspAddarticle.jsp Articledetail.jspArticledetail1.jsp Articlelist.jspArticlemanagerlist.jsp Changepwd.jspDelarticle.jsp Doaddarticle.jspDochangepwd.jsp Doeditarticle.jspDoreview.jsp Dose
5、tinfo.jspEditarticle.jsp Message.jspOtheruserdetail.jsp Photo.jspRegister.jsp Setinfo.jsp Doregister.jspIntro.jspDologin.jspLogin.jspLoginout.jspBloguser.jspFooter.jsp四系统主要代码1.层叠样式表css2.用户登录注册系统代码(1).Login.jsp(用户登录)(2).Register.jsp(用户注册)(3).Dologin.jsp(检测登录是否正确)%request.setCharacterEncoding(UTF-8);S
6、tring loginId = request.getParameter(loginId);String loginPwd = request.getParameter(loginPwd);String remember = request.getParameter(rad);if (loginId.trim().equals() out.print(用户名不能为空!); else if (loginPwd.trim().equals() out.print(密码不能为空!); else UserInfoBiz biz = new UserInfoBiz();UserInfoEntity en
7、tity = new UserInfoEntity();entity.setLoginId(loginId);entity.setLoginPwd(loginPwd);UserInfoEntity temp = biz.loginUserInfo(entity);if (temp = null) out.print(用户名不存在!请注册后再登录!);out.print(重新登录);out.print(注册); else if (!loginPwd.equals(temp.getLoginPwd() out.print(密码错误!);out.print(重新登录);else if(loginId
8、.equals(temp.getLoginId()&loginPwd.equals(temp.getLoginPwd() if (remember.equals(yes) Cookie cookie = new Cookie(curr_userinfo, temp.getLoginId();cookie.setMaxAge(60 * 30);response.addCookie(cookie);session.setAttribute(curr_userin, temp);response.sendRedirect(request.getContextPath()+ /index.jsp);%
9、(4)Doregister.jsp(检测注册是否正确)%request.setCharacterEncoding(UTF-8);String loginId=request.getParameter(loginId);String loginPwd=request.getParameter(loginPwd);String confirmloginPwd=request.getParameter(confirmloginPwd);if(loginId.trim().equals()out.print(用户名不能为空!请重试);else if(loginPwd.trim().equals()ou
10、t.print(用户密码不能为空!请重试);else if(!loginPwd.trim().equals(confirmloginPwd.trim()out.print(确认密码和密码输入不一致!请重试);else UserInfoBiz biz=new UserInfoBiz();UserInfoEntity entity=new UserInfoEntity();entity.setLoginId(loginId);entity.setLoginPwd(loginPwd);AddUserInfoResult result=biz.addUserInfo(entity);switch(re
11、sult)case fail:out.print(注册失败!);out.print(重新注册);break;case existsUser:out.print(用户名已被占用!请输入其他用户名注册);break;case success:out.print(注册成功!点击这里进行登录);UserInfoEntity temp1=biz.getMaxUserId();int userid=temp1.getUserId();String trueName=temp1.getLoginId();String gender=男;String age=0;String mail=null;String
12、 qq=null;UserDetailEntity temp=new UserDetailEntity();temp.setUserid(userid);temp.setTrueName(trueName);temp.setGender(gender);temp.setAge(Integer.parseInt(age);temp.setMail(mail);temp.setQq(qq);UserDetailBiz tempbiz=new UserDetailBiz();AddUserDetailResult result1=tempbiz.addUserDetail(temp);switch(
13、result1)case successes:out.print(用户详细信息添加成功!);out.print(返回主页);out.print(重新添加);break;case fails:out.print(用户详细信息添加失败!);out.print(重新添加);break;case noexistsUser:out.print(用户注册未成功!);break;break;%(5).Setinfo.jsp(用户详细信息注册) base href= 用户详细信息注册 !- 注册新用户 %UserDetailDao dao2=new UserDetailDao(); UserInfoEntit
14、y tempEntity=(UserInfoEntity)session.getAttribute(curr_userin); if(tempEntity=null) out.print(您还未登录!或服务器已超时!请先登录);else UserDetailEntity entity2=dao2.getUserDetailByUserId(tempEntity.getUserId(); % 真实姓名: input name=trueName type=text class=inputTextW110H22 value=/td 性别: input type=radio name=gender v
15、alue=男 checked=checked/ 男 input type=radio name=gender value=女 checked=checked/ 女 年龄: input name=age type=text class=inputTextW110H22 value=/ Email: input name=mail type=text class=inputTextW110H22 value=/ QQ: input name=qq type=text class=inputTextW110H22 value=/ (6).Dosetinfo.jsp(检测用户信息修改成功
16、与否)(7).Changepwd.jsp(修改密码)(8).Dochangepwd.jsp(检测修改密码操作是否有效)3.博客用户代码(1)Bloguser.jsp 4. Intro.jsp代码(个人资料) 5.主页图片页面代码(2)Header.html6.导航栏页面Maintitle.jsp7.博文相关页面(1)Addarticle.jsp base href= 发表博文 !-function check()var articleTitle = document.getElementById(articleTitle).value;var articleContent = document
17、.getElementById(articleContent).value;if(articleTitle=)alert(文章标题不能为空);return false;if(articleContent.length=0)alert(文章内容不能为空);return false; 发表博文 博文标题: 博文内容: (2).Articledetail.jsp (博文详细信息) base href= 博文详细信息 !- % request.setCharacterEncoding(UTF-8); String articleId=request.getParameter(articleId); ArticleDao dao=new ArticleDao(); List list=dao.getArticleinfoByArticleid(Integer.parseInt(articleId); if(list!=null) for(int i=0;i 博文标题: 博文内容: 发布日期: %=list.get(i).g