为了更好地推广热门博客,为读者提供了热门博客推荐功能,会在前台页面向读者显示阅读量最多的属性,以及本系统的所有章节架构,方便读者的阅读,让读者可以更加直观的了解整个博客的知识架构。
2。2 功能需求分析
为了加强对所有普通管理员(博主)发布信息的管理,应当设置一个超级管理员,该超级管理员可以对所有发布的博客信息进行管理。
本系统需要为用户人群提供对于博客强有力的控制权,包括对博客的发布、删除、查询、修改功能,而且操作起来要简洁方便,另外为了更好地管理所有的博客为了使博客更加具有层次性,本系统采用了章节管理系统,用章节架构来管理所有的博客,对章节的管理也会级联到博客操作,当然对于章节模块同时也具有添加、删除、查询、修改功能。
本系统同时参照了其他热门博客系统的博客推荐方式,也会根据各个博客点击量、发布的时间记录下来,根据相应的属性向用户推荐阅读热门博客。
因为在整个系统中最常发生的功能就是查询博客,但是博客的发布、修改、删除操作较少发生,因此每次查询出的数据相同的概率比较大,同时访问量的增加会对数据库造成比较大的影响,因此采用缓存将数据全部保存下来,本系统获取博客的相关信息,只需要从缓存中获取即可,只有修改、删除才会对数据造成影响,将变更的数据同步到数据库中,这样就大大减轻了访问数据的次数。由于存在缓存,将大量的信息存储在内存中,这就需要对JVM进行把控、调优来确保整个项目的运行。
2。3 系统可行性分析
2。3。1 技术可行性分析
(1)JSP
JSP全全称为Java Server Pages,是一种动态网页技术的标准,它主要是由Sun公司发起、其他公司一起参与创建。使用JSP页面可以响应客户端的请求,动态生成HTML、XML或者其他格式文档的Web页面[1]。 JSP的本质就是Servlet,每一个JSP页面就是一个Servlet实例,web容器会将JSP编译成Servlet,当用户向指定的Servlet发送请求时,Servlet会利用输出流动态的生成HTML页面[1] 见下方。论文网
图2-1 JSP运行原理图
由上图可知JSP页面的工作原理,可知:
①JSP页面必须部署在JSP服务器内运行
②JSP文件必须被编译生成Servlet才可以运行
③JSP页面在整个web应用中有且只有一个实例
JSP的编译指令信息是用来通知JSP引擎的信息,它不会直接输出在前台页面中,由于编译指令的属性值都会有默认属性,所有对于某些未指定的属性,JSP引擎会采用其默认值[2]。
常见的编译指令有三个:
① page:该指令表示只针对于当前页面;
② include:该指令用于包含另外一个JSP页面;
③ taglib:用于定义和访问自定义的标签[2]。
除了以上的3个编译指令,JSP页面同时还拥有7个动作指令,编译指令的作用是通知Servlet引擎的进行处理消息,而动作指令仅仅是在web容器中运行时的动作。
JSP的7个动作指令如下:
①jsp:forword:执行页面的跳转功能,将web请求转发至下一个页面。既可以转发至普通的HTML静态页面,也可以转发到指定的动态页面,或者转发到web容器的Servlet。
②jsp:param:用于传递参数,但是他必须要与其他支持参数的标签一起使用。当与include指令使用时,param指令会将参数传入被导入的参数。
③jsp:include:用户动态的引入JSP页面,include是一个动态指令,也用于包含某个JSP页面。
④jsp:plugin:用来下载JavaBean或者Applet到客户端执行。由于程序需要在客户端执行,因此客户端必须安装虚拟机。