博客网站系统实训报告

上传人:ba****u 文档编号:172480113 上传时间:2022-12-05 格式:DOCX 页数:17 大小:248.81KB
收藏 版权申诉 举报 下载
博客网站系统实训报告_第1页
第1页 / 共17页
博客网站系统实训报告_第2页
第2页 / 共17页
博客网站系统实训报告_第3页
第3页 / 共17页
资源描述:

《博客网站系统实训报告》由会员分享,可在线阅读,更多相关《博客网站系统实训报告(17页珍藏版)》请在装配图网上搜索。

1、苏州市职业大学实习(实训)报告名称博客网站系统设计2013年6月24日至2013年7月4日共2周学院(部)计算机工程学院班级11软件技术(外包)学号姓名学院(部)负责人李金祥系主任周德富指导教师陈静/李璐1. 项目实训的目的与要求12. 1.1项目实训目的1课题说明12.1需求分析13. 2.2开发工具与技术介绍2总体设计23.1系统项目规划23.2系统功能结构图34. 3.3数据库设计4系统实现64.1博客系统登录界面64.2博客网站首页74.3新博客注册界面84.4个性化设置界面94.5写日志页面105. 4.6相册页面11开发技巧与实现方法125.1在Struts中使用拦截器进行用户登录

2、的实现125.2在拦截器中进行配置135.3利用Hibernate技术进行个人博客操作135.4进行个人博客操作后,进行配置修改146. 5.5在Action中进行超链接的调用14项目实训总结15参考文献16项目实训的目的与要求1.1项目实训目的课程设计总的目的在于加深对网页设计与制作的基本知识的理解,网页设计与制作技能综合运用和提高,通过真实工作任务,使我们能设计出有一定水平的网页并解决培养解决实际问题的能力,掌握实际网页设计与制作开发流程和开发方法。具体的课程设计应达到以下目的:1. 提高我们在实际操作中收集信息,对信息进行价值判断,信息整理、加工的能力。2. 在实际的项目任务中培养网页设

3、计方面的素养。3. 在实际的项目任务中使我们网页编程和制作的能力得到提高。4. 培养相关知识和技能的综合应用能力。5. 掌握运用JAVAEE语言及数据库原理知识进行系统分析和设计的方法课程的要求在于:考验我们上课所学知识,我们能否独自完成一个网页系统的开发。我们要熟练应用JAVAEE所学的知识,与数据库相结合,制作一个具有实用和美观双重功能的网页系统。课题说明2.1需求分析博客是Blog的中文译名,随着网络的发展,博客成为网民不可缺少的一部分。目前主流门户网站,例如网易、新浪都开通了自己的博客频道。除此之外,还出现了博客网站,也就是说在博客网站中仅能写博客和看别人的博客,例如IT技术最有名的博

4、客园。在本章中我们就来开发一个类似的网站系统。求贤人才网是一家专业于IT方向招聘的网站,为了更好的招聘到合适的人才,推出博客业务。求贤人才网通过博客用户的技术水平来判断他是否能够胜任相应的工作,公司用户也可以通过看博客用户的文章看到相应的技术水平。求贤人才网将通过这种方式,招揽更多的人才,从而增加自己的招聘业务量。对于求贤人才网来说,最大的需求就是让更多的用户浏览和注册,并且发表自己的博客文章。对于用户而言,首先要能浏览其他用户发表的文章,并且这项操作是应该不需要登录的。用户注册并登录后,要能够发表自己的信息,从而能够提供给别人查看。2.2开发工具与技术介绍硬件平台: CPU:P41.8GHz

5、; 内存:256MB以上。软件平台: 操作系统:Windows7Server; 数据库:MySQL;开发工具包:DreamweaverCS4,PhotoshopCS4,Eclipse; 服务器:IIS5.1;浏览器:IE5.0及以上版本,推荐使用IE6.0;分辨率:最佳效果1024X768。总体设计3.1系统项目规划该博客网站的功能主要是为了博客用户设计开发的,用户进入博客网站后,有三种选择,注册新用户,登录和浏览博客。通过注册和登录用户可以获取自己博客空间,如果不进行这些操作,用户也可以浏览其他用户的博客内容。进入自己博客中,用户要能够完成如下功能对自己的博客进行个性化设计发表日志上传图片和

6、对图片进行浏览在博客首页中,是不区分用户是否登录的,用户用能够完成如下功能:浏览博客网站的所有文章浏览某一博客用户发表的所有文章浏览某一博客用户上传的图片对文章进行评论查看文章的点击率查看文章的评论量3.2系统功能结构图本系统首先需要对用户进行身份验证,验证时判断用户是以注册用户还是普通游客。如果已是注册用户,则跳转到对应的个人博客的页面;如果是游客,则直接进入到博客网站首页。下面是博客网站的功能结构图。图3.1模块结构图3.3数据库设计本系统一共设计出5个实体,分别是用户实体、文章实体、个性化实体、评论实体以及点击量实体。(1)用户表用来存储博客系统中建立自己的博客,并进行博客操作的客户,包

7、括用户名、密码、昵称、密码保护问题和密码保护回答字段。表3.1用户表字段名数据类型是否主键描述username文本(varchar)是用户名password文本(varchar)否登录密码nickname文本(varchar)否昵称question文本(varchar)否密码保护问题answer文本(varchar)否密码保护回答(2)个性设置表用来储存用户对个人博客进行个性化设置的基本信息,包括用户名、博客标题和个性签名。表3.1个性设置表字段名数据类型是否主键描述username文本(varchar)是用户名blogtitle文本(varchar)否博客标题idiograph文本(varc

8、har)否个性签名(3)文章表用来存储博客系统中博客文章的基本信息,包括文章的Id、文章标题、文章内容、发表用户名、发表时间和评论数。表3.1文章表字段名数据类型是否主键描述Id整数(int)是文章Idtitle文本(varchar)否文章标题content文本(text)否文章内容username文本(varchar)否发表用户名date日期否发表时间hasread整数(int)否评论数(4)评论表用来存储博客系统中所有评论的基本信息,包括评论Id、评论文章、评论内容和评论用户。表3.1评论表字段名数据类型是否主键描述Id整数(int)是评论IdAid整数(int)否所属文章IDconten

9、t文本(text)否评论内容username文本(varchar)否评论用户(5)点击量表用来存储博客系统中点击文章的基本信息,包括ID,文章ID,点击者IP和点击时间。表3.1点击量表字段名数据类型是否主键描述Id整数(int)是点击IDAid整数(int)否所属文章IDip文本(varchar)否点击者IPtime日期否点击时间系统实现4.1博客系统登录界面如下图所示图4.1博客系统登录界面登录界面关键代码如下:publicStringexecute()throwsException(Useruser=newUser();user.setUsername(username);user.se

10、tPassword(password);/获得requestHttpServletRequestrequest=ServletActionContext.getRequest();if(userService.loginUser(user)(request.setAttribute(url,user/getBlogInfo.action);request.setAttribute(info,登陆成功);/Musername保存至Usession范围中/HttpSessionsession=request.getSession();Mapsession=ActionContext.getCont

11、ext().getSession();/session.setAttribute(username,username);session.put(username,username);returnSUCCESS;else(request.setAttribute(url,login.jsp);request.setAttribute(info,登陆失败);returnERROR;4.2博客网站首页进入登录界面后,可以选择不登录,而是直接单击“博客首页”,从而进入博客系统首页,在博客系统首页中可以查看到该博客的网站中已经发表的博客文章,在博客网站的右半部分还可以看到文章的发表时间、点击量、评论和发

12、表用户。图4.2博客网站首页卜面是博客网站页面的关键代码:publicStringexecute()throwsException(Pagepage=newPage();/分页信息page.setCurrentPage(0);/设置当前页为第一页page.setEveryPage(10);/每页显示10条记录Resultresult=articleService.showArticleByPage(page);/通过调用业务逻辑组件来完成查询page=result.getPage();Listall=result.getList();/获得文章结果集StringfilePath=Servlet

13、ActionContext.getServletContext().getRealPath(/rss.xml);/设置订阅文件地址CreateRss.publishss(all,filePath);/写入订阅文件returnthis.SUCCESS;4.3新博客注册界面游客可以点击新用户注册来注册属于自己的用户。点击新用户注册就可以进行新用户注rmflffo图4.3新博客注册界面下面是新博客注册页面的关键代码:publicStringexecute()throwsException(/封装一个user对象Useruser=newUser();user.setUsername(username)

14、;user.setPassword(password);user.setNickname(nickname);user.setQuestion(question);user.setAnswer(answer);/获得requestHttpServletRequestrequest=ServletActionContext.getRequest();if(userService.registerUser(user)(request.setAttribute(url,login.jsp);request.setAttribute(info,注册成功);returnSUCCESS;else(requ

15、est.setAttribute(url,register.jsp);request.setAttribute(info,注册失败);returnERROR;4.4个性化设置界面登陆博客成功后,这是将进入到自己的博客页面,首先是让用户进行个性化设置。图4.4个性化设置界面下面是个性化设计界面的关键代码:publicStringexecute()throwsException(/获得request/HttpServletRequestrequest=ServletActionContext.getRequest();/获得session/HttpSessionsession=request.ge

16、tSession();/获得username/Stringusername=(String)session.getAttribute(username);Mapsession=ActionContext.getContext().getSession();Stringusername=(String)session.get(username);BlogInfoblogInfo=newBlogInfo();/设置用户名blogInfo.setUsername(username);/设置博客标题blogInfo.setBlogtitle(blogtitle);/设置个性签名blogInfo.set

17、Idiograph(idiograph);/调用业务逻辑组件来完成设置blogInfoService.setBlogInfo(blogInfo);returnthis.SUCCESS;单击“用户首页”超链接,可以查看自己已写完的所有博客文章,这是和游客相同的操作,单击“写日记”超链接,就会进入写日记页面。页面导理.&前户苛?!顼布与图4.5写日志页面下面是写日记界面的关键代码:publicStringexecute()throwsException(Mapsession=ActionContext.getContext().getSession();Stringusername=(String

18、)session.get(username);封装一个PO类的对象Articlearticle=newArticle();article.setTitle(title);article.setContent(content);article.setUsername(username);article.setDate(newDate();article.setHasread(0);articleService.addArticle(article);returnthis.SUCCESS;在个人博客中,单击“相册”超链接,就会进入到相册页面。图4.6相册页面卜面是相册页面的关键代码:publicS

19、tringexecute()throwsException(/获得usernameMapsession=ServletActionContext.getContext().getSession();Stringusername=(String)session.get(username);/创建一个输入流InputStreamis=newFileInputStream(myFile);/设置文件保存目录Filetofile=newFile(photoPath,filename);/使用输出流来包装目标文件OutputStreamos=newFileOutputStream(tofile);byt

20、ebuffer=newbyte1024;intlength=0;while(length=is.read(buffer)0)(os.write(buffer,0,length);/关闭输入流is.close();/关闭输出流os.close();returnthis.SUCCESS;1. 开发技巧与实现方法5.1在Struts中使用拦截器进行用户登录的实现在网站中有些功能是需要用户必须登录才能操作的,例如博客网站中的发布文章,因为该操作是不定位置的,所以直接在该功能上加上一个控制层是不合适的。如果要完成该功能,在Struts2中就是采用拦截器的概念,在操作前先经过拦截器,通过拦截器判断用户是否

21、登录。如果已经登录,则可以通过;如果没有登录,则返回让用户进行登录。packagecom.sanqing.interceptor;importjava.util.Map;importcom.opensymphony.xwork2.Action;importcom.opensymphony.xwork2.ActionContext;importcom.opensymphony.xwork2.ActionInvocation;importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;publicclassUserIntercepto

22、rextendsAbstractInterceptor(publicStringintercept(ActionInvocationinvocation)throwsException(ActionContextcontext=invocation.getInvocationContext();Mapsession=context.getContext().getSession();Stringusername=(String)session.get(username);if(username=null|.equals(username)(returnAction.LOGIN;else(ret

23、urninvocation.invoke();5.2在拦截器中进行配置拦截器开发完成后,还是不能起到效果的,还需要在Struts配置文件struts.xml中进行配置。5.3利用Hibernate技术进行个人博客操作当进行个人博客操作时,是要将用户输入的信息保存到数据库中的。在本系统项目中,进行数据库操作是通过Hibernate技术完成的,从而使DAO方法应用也更加简单。importcom.sanqing.po.User;publicclassUserDAOImplextendsHibernateDaoSupportimplementsUserDAO(publicvoidadd(Useruse

24、r)(this.getHibernateTemplate().save(user);publicvoiddelete(Useruser)(publicListqueryAll()(returnnull;publicUserqueryByID(Stringusername)(Listlist=this.getHibernateTemplate().find(selectuserfromUseruserwhereuser.username=+username+);if(list.size()=0)(returnnull;else(return(User)list.get(0);5.4进行个人博客操

25、作后,进行配置修改因为本项目是采用Spring进行处理,所以需要配置文件中对DAO进行配置。5.5在Action中进行超链接的调用在显示所有文章页面中,每一个文章标题都是超链接,单击文章标题就会显示该文章的所有信息,包括内容、评论和点击数。这些都将在查看文章Action中进行调用。packagecom.sanqing.dao;publicclassArticleDAOImplextendsHibernateDaoSupportimplementsArticleDAO(publicArticlequeryById(intid)(Listfind=this.getHibernateTemplate

26、().find(selectartfromArticleartwhereart.id=?”,id);return(Article)find.get(0);2. 项目实训总结通过本次课程设计,我感受颇多,尽管上课时也认真听了老师的讲课,但是已开始面对自己的题目时,还是有些不知所措,都不知道如何下手,后来去图书馆借了几本相关的书籍,心里在感觉有了一些底。经过这差不多四个星期来的学习与编码,总算还是收获不少,对JavaEE的认识也更加的深刻了。JSP是一门新技术,他基于JavaServlet以及整个JavaEE框架体系的Web开发技术。从网上得知JavaEE的中文问题历史悠久,连绵不绝,至今也没有完

27、全解决,但是上有政策下有对策,我们总是有办法搞定它的。跟JavaEE相关的中文问题主要有两类,一类是编程的问题,涉及到I/O,内码转换等。第二类是JavaEE运行环境的配置,涉及字体,属性配置等。觉得很有必要给自己写个备忘录之类的。学习了JavaEE,感触很深,这一技术是需要有一定基础、而且动手能力强的学科。书上也强调一点是:要想真正地掌握JavaEE技术,必须有较好的java语言基础,以及HTML语言方面的知识。想想的确对啊。在这个过程中,我感觉就像人生的一个缩影,充满了酸甜苦辣。当一个问题想了好久也无法解决时,我感到沮丧与无助。当经过努力解决了一个程序上的难题时,我感到无比的喜悦。当经过每天为了编写代码一坐就是四五个小时,晚上还要写到凌晨一两点钟的时候,我感到无比的痛苦。但艰难痛苦已成往事,灿烂的明天向我走来,今天我总算迎接了胜利的果实,以前的辛酸与痛苦化作我坚强的力量,将在我将来的人生历程中,为我的美好明天打下坚实的基础。通过两周的实习JavaEE,这个实习,使我初步掌握和了解7JavaEE的基本运行原理、各个对象的结构和功能、怎样连接数据库、能自己手动写code开发一些小网页。并且,自己能够组建一台JavaEE服务器,而且还了解了安装过程中,所要注意的事项。对于一些简单的小问题,能够自己动手排除。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!