美文管理系统班级::指导教师:学号:姓名:一、主要功能这个小项目实现了前台用户插入美文和后台站长浏览并回复或删除美文的功能。在用户插入美文的时候,可以使用本项目提供的在线编辑器来插入自己所想插入的不同格式。此外,用户还可在前台浏览项目中的文章,选择想去的页码或单击下一页、上一页、首页、尾页等底部功能键可以欣赏到数据库中的不同文章。管理员可以在后台简易浏览项目中所存在的各种文章的标题,并可选择想要回复的文章作者给予相应的回复。二、技术描述1、JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩张(以%,%形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。2、MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。3、JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。在1995年时,由Netscape公司的BrendanEich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。4、SSI框架主要是由struts2,spring以及ibatis组成,他们负责各层之间的交互与协作,从而实现整个web端的功能实现与整合。Struts目前主要负责数据传递和控制方面,spring则依靠其强大的依赖注入技术实现了类似bean托管和整合等功能,当然这只是spring功能中的冰山一角,而ibatis作为一种轻量级的ORMapping框架,提供了半自动化对象关系映射的实现,自由度相对于hibernate更高。因此本项目采用了以MVC模式为基础的SSI框架。5、MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。三、数据库信息四、主要代码1、插入文章页面bodyonLoad=createCode()divid=holeformaction=/ssi-article/article/articleaddmethod=postonsubmit=checkForm(this)tablealign=centertrth添加文章/th/trtrtddiv标题/divdivinputtype=textname=article.titleid=titleonblur=checkUser(this)/spanstyle=color:red;*/span/divdivclass=errrorinfoid=userdiv标题错误,请按要求输入/divdiv标题必须是1-6位,由字母或汉字组成(包括空格)/divinputtype=hiddenname=article.authorvalue=${author}/inputtype=hiddenname=article.replyvalue=${reply}/inputtype=hiddenname=article.webSitevalue=${webSite}//td/trtrtddiv内容/divdivtextareaname=article.contentid=contentrows=7cols=60onblur=checkPsw(this)/textareaspanstyle=color:red;*/span/divdivclass=errrorinfoid=pswdiv内容格式错误,请按规范输入/divdiv内容不限,由字母或汉字组成(包括空格)/div/td/trtrtddiv验证码/divdivinputid=statename=repswonblur=checkRepsw(this)/spanstyle=color:red;*/span/divdivclass=errrorinfoid=repswdiv验证码输入错误/divdivinputtype=textreadonly=readonlyid=checkCodestyle=padding-bottom:5px;class=online_bordername=psw/ahref=javascript:voidonClick=createCode()class=span_size1重新获得验证码/a/div/td/trtr%DateFormatdf1=null;//声明一个DateFormatDateFormatdf2=null;//声明一个DateFormatdf1=DateFormat.getDateInstance();//得到日期的DateFormat对象df2=DateFormat.getDateTimeInstance();//得到日期时间的DateFormat对象System.out.println(DATE:+df1.format(newDate()));//按照日期格式化System.out.println(DATETIME:+df2.format(newDate()));//按照日期时间格式化%%=df2.format(newDate())%/trtrthinputtype=submitvalue=提交数据//th/tr/table/formscripttype=text/javascriptCKEDITOR.replace(content);/script/div/body2、前台文章显示bodydivid=holedivh4align=rightahref=article/winsert添加文章/aahref=article/wmanager返回管理主页/a/h4/divdivid=listfontsize=5b文章欣赏/b/font/divtablealign=centerclass=2s:iftest=bnList!=nulls:iteratorvalue=bnListtrth/thtdspan作者:s:propertyvalue=top.author//span/td/trtrthwidth=50px标题/thtdwidth=700pxalign=lefts:propertyvalue=top.title//td/trtrthwidth=50px内容/thtdwidth=700pxalign=left${top.content}/td/trtrthwidth=50px回复/thtdwidth=700pxalign=left${top.reply}/td/trtrtdcolspan=2spanid=repswspan上传时间:s:datename=top.date_timeformat=yyyy-MM-ddHH:mm:ss//spandivid=showAllLine/div/td/tr/s:iterator/s:ifs:elsetrtdalign=centerh1欢迎来到文章的海洋/h1/td/tr/s:else/table%@includefile=/page/fnpaging.jsp%/div/body3、文章后台显示bodydivh4align=rightahref=article/winsert添加文章/aahref=article/wmanager返回管理主页/a/h4/divdivid=listfontsize=5b文章列表/b/font/divtablealign=centerclass=2trtdb作者:/b/tdtdb上传时间/b/tdtdb文章标题/b/tdtd/td/trs:iftest=bnList!=nulls:iteratorvalue=bnListtrtdspans:propertyvalue=top.author//span/tdtds:datename=top.date_timeformat=yyyy-MM-ddHH:mm:ss//tdtds:propertyvalue=top.title//tdtdcolspan=1ahref=article/articleshowbyid?flag=show&id=s:propertyvalue=top.id/阅读/aahref=article/articleshowbyid?flag=reply&id=s:prope