




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要1第一章引言2第二章信息内容类网站系统介绍321系统架构技术简介322系统架构设计423系统架构综述8第三章学院院网站系统分析931任务概述932运行环境933开发步骤9第四章学院院网站系统设计1041数据库设计1042系统概要设计11第五章系统主要功能的实现1351技术难点实现1352测试及性能优化25第六章总结与展望28参考文献29致谢30信息内容类网站系统设计与实现摘要随着互联网的飞速发展,信息内容类网站的出现方便了人们生活。但随着人们审美观的改变和对用户体验要求的增加,目前的信息内容类网站往往不能满足人们的要求,所以对这类网站的修整工作是当务之急。在对新的网站的要求中不仅要有好的网站内容建设,更需要对网站性能进行优化。为了满足以上的需求和使信息内容类网站有更好的稳定性和可扩展性,本文设计实现了信息类网站系统平台的架构方案。其中运用到了服务器技术、SPRINGMVC和HIBERNATE框架技术和MYSQL、REDIS的数据库技术等。本论文还介绍了使用所设计的框架技术实现一套学院院网站,并且论述了学院院网站的具体实现过程和技术难点实现,最后达到了优化网站架构和满足用户体验的要求。关键词WEB系统,JAVA,SPRINGMVC,HIBERNATEDESIGNANDIMPLEMENTATIONFORTHEINFORMATIONCONTENTWEBSITEABSTRACTWITHTHERAPIDDEVELOPMENTOFTHEINTERNET,THEEMERGENCEOFINFORMATIONCONTENTWEBSITESHASFACILITATEDPEOPLESLIVESBUTWITHTHEPEOPLEWITHTHECHANGEOFTHEAESTHETICCONCEPTIONSANDTHEUSEREXPERIENCEREQUIREMENTSINCREASEDPRESENTTHEINFORMATIONCONTENTWEBSITESAREOFTENUNABLETOMEETTHEPEOPLESREQUIREMENTS,SOONTHISKINDOFWEBSITEOFREPAIRWORKISAPRIORITYINTHENEWSITEREQUIREMENTSNOTONLYTOHAVEAGOODSITECONTENTCONSTRUCTION,BUTALSONEEDTOOPTIMIZETHESITEPERFORMANCEINORDERTOMEETTHEABOVENEEDSANDMAKETHEINFORMATIONCONTENTOFTHEWEBSITEHAVEBETTERSTABILITYANDSCALABILITY,THISPAPERDESIGNSANDREALIZESTHEINFORMATIONWEBSITESYSTEMPLATFORMARCHITECTURESCHEMEWHICHUSETHESERVERTECHNOLOGY,SPRINGMVCANDHIBERNATEFRAMEWORKANDMYSQL,REDISDATABASE,ETCTHISPAPERALSOINTRODUCEDTHEDESIGNEDUSINGTHETECHNIQUEINTHEFRAMEWORKOFIMPLEMENTATIONOFASCHOOLSITE,ANDDISCUSSESTHEINSTITUTEWEBSITECONCRETEREALIZATIONPROCESSANDTHETECHNICALDIFFICULTIESOFIMPLEMENTATION,ANDFINALLYACHIEVEOPTIMIZATIONANDMEETTHEREQUIREMENTSOFTHEUSEREXPERIENCEKEYWORDSWEBSYSTEM,JAVA,SPRINGMVC,HIBERNATE第一章引言随着INTERNET技术的迅猛发展,以信息内容为主的网站的出现方便了人们生活。信息内容类网站的特点为网站以新闻等信息的发布作为主要内容。正因如此,这类网站关乎着人们生活的方方面面,比如人们想要了解生活新闻信息,就可能到新闻网站查询相关信息;政府发布公告时也会在相关的网站上发布自己的信息。信息内容类网站在方便人们的同时,人们对这类网站的期许也在逐渐增加。以往的信息内容类网站会遇到如下问题1在互联网高速发展和迅速普及的当今时代,网站在方便人们的同时,会遇到高并发和高访问量的突发情况。而以往的这类网站在设计的时候并没有考虑到后期的可扩展性和面对高并发访问时的情况,所以很难面对这些突发情况的发生。2WEB20时代的到来,随着人们的审美观的变化和对用户体验越来越高的要求,以往的网站设计难以满足人们的需求。并且随着前端技术这几年的迅猛发展,伴随着响应式设计的提出和网站的流量在移动端上的增长,以往的网站在前端上更加难以满足现今的需求,尤其是在网站的兼容性和是适配性上。3近几年来,随着技术的发展,网页的设计技术一直在推陈出新,并且不断地有新的技术推出并被使用,旧的技术框架逐渐被人抛弃,使用成本和维护费用在不断增加。在信息内容类网站的越来越重要的今天,使用新的技术去实现信息内容类网站便成了当务之急。为了改进传统信息内容网站在这些方面的不足,以及给开发人员提供一个更加方便,省时,具有高扩展和易维护的特性的工具,我们研究了一套网站架构设计方案。在设计网站的架构方案时,我们主要从服务器架构,数据库架构和后端架构三个方面考虑,并且以院网站为实例,实现了一套这样的以信息内容为主的网站。在设计这些架构的时候,考虑到以往的网站的不足,提出了相应的解决方案,并且拥有自己的创新特色。在技术的实现上,主要使用的是JAVA语言。JAVA语言以其拥有优秀的面向对象的思想,代码的易读性和不断发布的新特性使其成为一门生命力旺盛的语言。因此,JAVA语言应用于了非常多的场合,围绕着JAVA语言,产生了许多以此为核心的框架技术。SPRING、HIBERNATE等这些框架更是广泛运用于了WEB开发中。框架技术带来的代码规范和可重用性改变了开发人员的开发效率,WEB技术也得到了飞速的发展。综上所述,我们在本文中介绍了一种针对现今信息内容类网站的不足,基于服务器架构,数据库架构和后端架构三个方面考虑的网站设计方案。设计时的创新点在于前后端分离,数据库设计和前端页面设计技术三个方面。在随后基于这个方案实现了基于学校院系网站为模型的一个实例。第二章信息内容类网站系统架构设计21系统架构技术简介在设计整站系统时,考虑到现今信息内容类网站的不足,我们将针对后端架构,服务器架构和数据库架构这三个方面来做设计。NGINX服务器静态文件静态请求TOMCAT服务器动态请求REDIS数据库MYSQL数据库生成静态文件MYSQL数据库请求与访问REDIS数据库访问网站架构总体设计我们所设计的信息内容类网站架构总体展现如上图所示。其中,针对信息内容类网站内容静态内容多的特点。为了保证网站系统的性能和稳定性,后端服务器架构将采用NGINXTOMCAT的解决方案。TOMCAT是一个开放源代码、运行SERVLET和JSPWEB应用软件的基于JAVA的WEB容器。但是,TOMCAT不太适合处理静态文件,和处理高并发的情况。NGNIX是一款高性能的反向代理服务器,并且对HTTP请求和静态文件处理有较高的效率。NGNIX可以选择高效的LINUX底层协议作为I/O模型,所以在高并发,大量链接的情况下有非常好的表现。而因为其出色的静态页面访问能力,将动态页面静态化并作反向代理连接是一个非常好的选择。后端开发将使用现在主流的SPRINGMVCHIBERNATE方案。SPRINGMVC框架具有灵活配置,可扩展性高等特点,非常适合小型网站的搭建与维护。结合HIBERNATE框架技术实现了松耦合轻量级J2EE开发应用平台。HIBERNATE框架提供的ORM机制可以设计和实现良好的应用程序持久化层,有效解决数据访问与业务逻辑混杂、程序复用程度低等问题。SPRINGMVC框架提供一个清晰的划分为控制器、视图和模型的MVC三层架构。SPRINGMVC是扩展与SPRING的,所以非常容易与SPRING的IOC、AOP及其他特性结合在一起。所以可以轻松的构建系统安全、稳定并且具有良好健壮性的WEB应用。集成SPRINGMVC、HIBERNATE的框架技术可以更容易的实现高移植性、强可靠性以及容易扩展的应用系统。在使用SPRINGMVC和HIBERNATE框架后,可以达到提高开发效率,提高代码及系统的复用率,降低系统开发人员的工作量以及提高软件质量的目的。数据库方面使用的是主流的MYSQL数据库,然而考虑到用户访问的体验和后期的可扩展性方面,数据库也使用了REDIS这种NOSQL数据库。22系统架构设计221服务器架构设计在设计服务器架构时,首先要考虑的是信息内容类网站的特点,就当前的这类网站而言,存在以下特点1页面静态内容较多。2页面的更改、刷新频率较慢。总体上考虑网站的这些特点,为了提高用户浏览网页时的速度,并且兼顾可以允许管理员方便编辑这些静态内容等原因,网站在服务器的设计上采用页面静态化的方式。在考虑方便开发过程,这里使用前后端分离的方法。页面静态化从概念上讲,静态网页是相对于动态网页而言,静态页面一般是指不与后台数据库相连接、页面中不含诸如JSP等程序的和不可交互(非JS交互)的页面。就院网站而言,访问者通过浏览器访问到的页面大部分都是静态页面。那么为什么要把动态页面静态化呢把动态页面静态化可以带来很多好处。例如可以增加访问速度,可以更好的帮助搜索引擎收录等。前后端分离在一般的WEB开发程序中,前后端层次的划分边界往往是很模糊的,但是在开发过程中控制层(CONTROL)和视图层(VIEW)因为属于不同的开发人员,所以往往概念上混淆不清,这就是前后端耦合度高的重要原因。因此要实现前后端解耦,就是要将控制层和视图层分开。也就是说将控制层和视图层交给不同的程序去解决,而不是由同一段代码,及负责控制层的逻辑,有负责视图层的页面展示。在实现前后端分离的方式上,这里并不将前端页面的生成放在后端服务器中进行,后端只将根据前端发送的请求放回JSON对象,前端页面根据JSON数据进行解析,并将解析结果填充到页面中。为了实现页面静态化和将静态内容与动态内容分开,这里使用NGINXTOMCAT的设计方案。NGINX服务器请求响应静态资源静态资源请求TOMCAT服务器动态请求NGINX反向代理服务NGINX是一个反向代理服务器,其中反向代理的概念是指以代理服务器的方式来接受连接请求,然后根据浏览器请求的内容不同将请求转发给内部网络上不同的服务器,最后将从服务器上得到的结果返回给请求连接的浏览器客户端,此时在外部看来,请求的只是一个服务器。NGINX就是一款主流的反向代理服务器,通过使用NGINX服务器,可以处理静态资源访问的请求直接访问静态资源,而将动态请求交给TOMCAT服务器。NGINX服务器比TOMCAT的处理静态内容的效率高。222数据库架构设计信息内容类网站系统在数据库架构设计上使用了MYSQLREDIS的设计方案。MYSQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点1,网站系统因为这些优势所以选择了MYSQL作为网站的数据库。REDIS是一个NOSQL数据库,拥有NOSQL高性能,读写速度快的特点。REDIS有以下一些特点1速度快REDIS使用标准C语言编写实现,而且将数据存储在内存里,所以读写速度非常快。而且REDIS采用单线程,避免了不必要的上下文切换和竞争条件。REDIS使用非阻塞IO,内部实现采用了EPOLL和自己实现的简单的事件框架。利用EPOLL多路复用的特性,并将读、写、关闭、连接都转化成了事件,所以在IO处理上的速度非常快。2支持持久化REDIS将数据保存在内存中,并且可以依据规则将数据持久化入硬盘中。3丰富的数据结构相比于其他内存型数据库,REDIS不仅支持STRING(字符串)类型的VALUE,还支持多种数据结构。其中包括STRING(字符串)、HASH(HASH表)、LIST(双向链表)、SET(无序集合)、ORDEREDSET(有序集合)等。4对高可用性的支持REDIS提供了的一些特征,使得REDIS可以对高可用性有很好的支持,其中包括REPLICATION(复制)MASTERSLAVE模式(主从复制模式),其中MASTER可连接多个只读SLAVE。FAILOVER(故障转移)使用SENTINEL节点负责故障转移,SENTINEL监控MASTER节点,并且在MASTER发送故障时将SALVE提升为MASTER。SHARDING(分片)REDISCLUSER(REDIS30的新特性)使用HASH槽算法可以对集群经行分片操作。总的来讲,REDIS非常适合在信息内容类网站系统的场景中,REDIS主要用来保存首页显示的相关信息,在首页使用REDIS可以提高网页的刷新速度。在考虑到后续的研发,REDIS也可以提供更好的可扩展性,并且给用户带来更好的用户体验。223后端架构设计后端开发将使用现在主流的SPRINGMVCHIBERNATE框架的方案经行开发。SPRINGMVC框架具有灵活配置,可扩展性高等特点,非常适合小型网站的搭建与维护。所以结合HIBERNATE框架技术更容易实现松耦合轻量级的J2EE开发应用平台。现在主流的网站开发过程在使用前后端分离法方案,并且很多WEB项目的视图层由STRUTS2迁移到了SPRINGMVC。相较于以往的SERLVET和JSP开发方式,SPRINGMVC框架的使用提供了更多的便利。使用框架的意义在于框架的本质都是建立在一些以某种语言特性为基础的技术上的,框架提供了和这些技术相同的业务功能,但是框架技术的使用比原来的技术实现有着更健壮的同时提供更强大的实现。虽然框架的开发使得框架的内容越来越复杂,但他们在开发中的实际作用只是为了让开发者只关心核心业务的开发,而不用特别的关心原有技术中和业务开发无关的会遇到的其他技术问题。SPRINGMVC的特点有SPRINGMVC是基于MVC理念设计的框架,是目前最主流的MVC框架之一SPRINGMVC在30版本后超越STRUTS2,成为最优秀的MVC框架SPRINGMVC提供了一套特有的注释方式,使得POJO成为请求处理的控制器,而无须实现任何接口。支持REST风格的URL请求采用了松耦合的可插拔组件结构设计,使得比其他MVC框架更具扩展性和灵活性HIBERNATE是一个的持久化ORM框架,对对象的持久化概念的理解分为狭义的理解和广义的理解两种狭义的理解“持久化”仅仅是指将对象永久保存到数据库中。广义的理解“持久化”是指包括和数据库相关的各种操作保存把对象永久保存到数据库中。更新更新数据库中对象记录的状态。删除从数据库中删除一个对象。查询把符合查询条件的一个或多个对象从数据库加载到内存中。加载根据特定的OID,把一个对象从数据库加载到内存中。域模型(对象、属性、关联、继承和多态)业务逻辑层持久层ORMAPIORM实现数据库层关系数据模型(表、字段、索引、主键和外键)对象关系映射文件(XML)参照ORM层次划分使用HIBERNATE框架可以更加方便开发人员开发,HIBERNATE与流行的ORM框架MYBATIS对比也有很多优势HIBERNATE1非常优秀、成熟的ORM框架。2完成对象的持久化操作3允许开发人员采用面向对象的思想来操作关系型数据库。4消除那些针对特定数据库厂商的SQL代码MYBATIS1相比HIBERNATE灵活高,运行速度快2需要开发人员对SQL语句的熟悉,所以开发速度相对而言比较慢,不支持纯粹的面向对象操作。正是因为HIBERNATE有这些特点,并且HIBERNATE和SPRINGMVC有很好的契合,所以在项目后端设计中采用SPRINGMVCHIBERNATE这一解决方案。后端采用的是MVC的设计模式,MVC即模型视图控制器。使用MVC的应用被分成三个层次模型层、视图层和控制层。每个层次有各自处理的任务。MVC层次模型的优点在于开发人员在面对业务逻辑复杂的程序时,可以专注于业务的一个方面在一个时间内。例如,开发人员可以专注于视图的设计在不依赖业务逻辑的状况下,同时也可以使开发人员在编写测试代码时更加便捷。23系统架构综述在设计网站架构的时候,首要考虑的问题是面对高并发和高访量的情况。为了应对这种情况的发生,我们通过使用这些方法1使用NGINX反向代理服务器处理静态请求2使用REDIS数据库存储数据在考虑网站设计的扩展性和可维护性上,我们采用了前后端分离这一方法。这一方法在现在的WEB开发中非常常见,方便、简化了前后端不同开发人员的工作,加快了WEB应用的开发速度。基于上述架构设计的网站拥有可移植性强、重用性好、高性能、简化结构和易于维护的特点。这些优秀的设计思想以及成熟的框架,为信息内容类网站提供了夯实的技术支持。第三章学院院网站系统分析学院院网站是方便信息发布,师生交流和帮助人们更好的了解学院的一个主要平台。随着时代的发展和社会信息化的普及,当前的院网站往往不能符合人们的要求并且还存在一些问题。所以对学院院网站的改进是势在必行的,下面我们将通过设计的信息内容类网站框架,实现一个学院院网站实例。31任务概述本系统旨在搭建一个使用与学院的学院信息网站,使用我们针对当今需求所设计的系统架构。32运行环境操作系统要求LINUX数据库要求MYSQL51及以上,REDIS28及以上服务器需求NGINX,TOMCAT7及以上开发语言JAVA开发工具ECLIPSE预期成果学院信息展示系统33开发步骤1进行网站所需信息材料的搜集、分析、筛选以及处理工作。2利用PS等工具对网站页面做整体设计3数据库的设计与开发4前后端接口的设计,前端与后端开发5网站的综合评价与测试,完善网站6完成服务器的搭建与网站的上传工作第四章学院院网站系统设计在完成了前期的系统结构后,开始对系统进行概要设计。41数据库设计从数据需求看,该学院院网站系统涉及如下信息发布内容相关数据库设计通知表NOTICE字段名称数据类型可空主键外键描述NOTICEIDINT10否是通知IDTITLEVARCHAR255否通知标题CONTENTNVARCHAR4000否通知内容APPENDIXIDINT10附件IDCUSTOMERIDINT10创建用户IDCREATETIMEDATETIME创建时间新闻表NEWS字段名称数据类型可空主键外键描述NEWSIDINT10否是新闻IDTITLEVARCHAR255否新闻标题CONTENTNVARCHAR4000否新闻内容CUSTOMERIDINT10创建用户IDCREATETIMEDATETIME创建时间报告讲座表LECTURE字段名称数据类型可空主键外键描述LECTUREIDINT10否是报告IDTITLEVARCHAR255否报告标题CONTENTNVARCHAR4000否报告内容CUSTOMERIDINT10创建用户IDCREATETIMEDATETIME创建时间附件表APPENDIX字段名称数据类型可空主键外键描述IDINT10否是APPENDIXIDINT10否附件IDAPPENDIXURLVARCHAR255否附件相对地址CUSTOMERIDINT10创建用户IDCREATETIMEDATETIME创建时间静态内容相关数据库设计静态内容表STATICCONTENT通过静态内容表中的数据可以直接生成页面字段名称数据类型可空主键外键描述IDINT10否是IDTITLEVARCHAR255否标题CONTENTNVARCHAR4000否内容URLVARCHAR255生成静态内容发布的地址CREATETIMEDATETIME创建时间MODIFYTIMETIMESTAMP修改时间42系统概要设计421模块划分根据需求分析的结果,对系统进行详细的概要设计,将学院院网站划分为下面几个模块首页、院系一览、重点学科、重点实验室、学位点、本科教学、科学研究、党建工作、工会之家、学生园地、校友信息等几个板块。其中首页包含通知、报告讲座、新闻、招生就业、本科专业、网络服务等信息。每个板块之中还包含一些其他的详细内容。421功能需求院网站系统实现了以下功能1内容发布模块功能描述实现通知、新闻、报告讲座的内容导出。2前端页面生成根据学院院网站页面的实际更新情况的不同,在后端服务器上使用不同的策生成前端页面。更新情况策略页面实际部分不更新将页面内容直接生成前端页面学院简介、学员领导等部分更新频率较慢将页面内容写入数据库,在页面更新的时候刷新生成前端页面学位点、本科教学等部分更新频率一般前端页面编写模板,再通过前后端分离的解决方式,将后端数据通过JSON传送到前端,前端在每次刷新的时候请求数据,最后再填充模板通知、新闻、讲座等部分更新频率快修改MYSQL中的数据,再将这些数据存储到REDIS数据库中,利用REDIS的高度写效率,直接请求REDIS数据库得到数据首页的简略通知、新闻等部分在更新频率较慢的情况下,需要将数据库中数据读取出来,然后将数据填充入前端模板中。所以前端页面生成功能模块的功能就是通过后端程序,监听数据库变化,或者收到内容变更通知后,套用前端模板,生成前端页面。第五章系统主要功能的实现51技术难点实现511NGINX整合TOMCAT在服务器的搭建环节中,NGINX服务器和TOMCAT服务器相结合使用是一个难点。在服务器中NGINX完成的就是这样的工作我们让NGINX监听一个端口80端口,将比如CSS,JS,HTML等的文件静态文件交由NGINX来进行处理,再通过正则匹配将动态请求转发给在其他端口的TOMCAT服务器来处理。当交给TOMCAT服务器的请求处理完成后,由TOMCAT返回数据给NGINX,NGINX最后再将数据返回给浏览器。所以,需要在NGINX的配置文件CONF/NGINXCONF中修改SERVER_NAMELOCALHOST8080LOCATION/PROXY_PASSHTTP/LOCALHOST8080LOCATIONDOPROXY_PASSHTTP/1270018888LOCATIONJS|JPG|PNG|CSSROOTPATH/TO/TOMCAT/DOCUMENT/ROOT/TEST/EXPIRES30D这几个地方,其中PROXY_PASS它表示代理路径,通过修改NGINX配置文件,NGINX将使得TOMCAT服务器处理DO结束的请求。启动NGINX,如果此时NGINX处于运行状态,也可以使用NGINXT检查NGINXCONF配置文件无错误后,使用”KILLHUPNGINX主进程号”来平滑重启NGINX。512SPRINGMVC和HIBERNATE的结合配置SPRINGMVC1加入JAR包2配置WEBXML3配置DISPATCHERSERVLETDISPATCHERSERVLET默认加载/WEBINF/WEBXML的SPRING配置文件,启动WEB层的SPRING容器。4创建SPRINGMVC配置文件5创建请求处理器类配置HIBERNATE1创建HIBERNATE配置文件2创建持久化类3创建对象关系映射文件4使用API编写访问数据库的代码整合SPRINGMVC和HIBERNATE1导入外部的PROPERTIES文件2配置C3P0数据源3配置SESSIONFACTORY4配置SPRING的声明式事务513后端流程实现系统用户通过浏览器可直观访问该系统实现逻辑业务,系统用户可以不受浏览器限制。展现层VIEW在学院院网站的项目中,因为做到前后端分离,已经将VIEW层从后端解耦,后端只根据请求,向浏览器返回JSON格式数据,前端页面通过解析器将JSON数据解析并展示。JSON返回数据上图就是通过访问/MATHWEBSITE/DY/GETNOTICENOTICEID2的地址,服务器返回NOTICEID为2的JSON格式数据。控制层CONTROLLERMVC时序图用户请求以CONTROLLER类,SERVICE类,DAO类,MODEL类的顺序执行。首先,主要由SPRINGMVC的CONTROLLER类控制前端发来请求好拦截AUTOWIREDPRIVATENOTICESERVICENOTICESERVICEREQUESTMAPPING“/DY/GETNOTICE“PUBLICRESPONSEBODYPAGEGETNOTICEINJSONREQUESTPARAMVALUE“NOTICEID“,REQUIREDTRUESTRINGNOTICEIDPAGEPAGENEWPAGEPAGESETPAGESIZE10STRINGSTARTDATE“STRINGENDDATE“INTSIZE10BOOLEANISALLTRUEPAGENOTICESERVICEGETNOTICEPAGE,STARTDATE,ENDDATE,NOTICEID,SIZE,ISALLRETURNPAGECONTROLLER然后将请求发送给SERVICE接口,其中SERVICE注重的是业务逻辑相关的代码/分页通知查询PARAMPAGEPARAMSTARTDATE开始日期PARAMENDDATE结束日期PARAMNOTICEID通知IDPARAMSIZE分页大小PARAMISALLRETURN/PUBLICPAGEGETNOTICEPAGEPAGE,STRINGSTARTDATE,STRINGENDDATE,STRINGNOTICEID,INTSIZE,BOOLEANISALLMAPPARAMSNEWHASHMAPLISTCONDITIONLISTNEWARRAYLISTIFSTRINGUTILSISBLANKSTARTDATECONDITIONLISTADD“MNCREATETIMEBEGINTIME“PARAMSPUT“BEGINTIME“,STARTDATEIFSTRINGUTILSISBLANKENDDATECONDITIONLISTADD“MNCREATETIME0SQLAPPEND“WHERE“APPENDVALUEUTILJOINCONDITIONLIST,“AND“/ORDERBY默认排序IFSTRINGUTILSISBLANKPAGEGETORDERBYPAGESETORDERBY“MNCREATETIME“PAGESETORDERPAGEASCLOGINFOSQLUTILSSQLLOGSQLTOSTRINGLOGINFOSQLUTILSPARAMSLOGPARAMSLONGCOUNTSQLUTILSGETCOUNTBYSQLSQLTOSTRING,PARAMSPAGESETTOTALCOUNTCOUNTQUERYQSQLUTILSCREATEQUERYBYSQLPAGE,SQLTOSTRING,PARAMS,ISALLLISTLISTQLISTLISTRESULTSNEWARRAYLISTFOROBJECTOBJSLISTNOTICENOTICENEWNOTICEINTINDEX0NOTICESETNOTICEIDVALUEUTILCONVERTOBJSINDEX,0LNOTICESETTITLEVALUEUTILCONVERTOBJSINDEX,“NOTICESETCONTENTVALUEUTILCONVERTOBJSINDEX,“NOTICESETAPPENDIXIDVALUEUTILCONVERTOBJSINDEX,0LNOTICESETCUSTOMERIDVALUEUTILCONVERTOBJSINDEX,0LNOTICESETCREATETIMEVALUEUTILCONVERTOBJSINDEX,NEWDATERESULTSADDNOTICEPAGESETRESULTRESULTSRETURNPAGE在这里的代码完成了分页,并直接通过HIBERNATE访问数据库。SERVICE有些请求也会调用DAO层的接口,其中DAO完成的是对MODEL的例如增删改查的基本操作AUTOWIREDPRIVATESESSIONFACTORYSESSIONFACTORYPRIVATESESSIONGETCURRENTSESSIONRETURNSESSIONFACTORYGETCURRENTSESSION/通过NOTICEID得到相应的NOTICEPARAMNOTICEID通知IDRETURN/PUBLICNOTICEGETLONGNOTICEIDRETURNNOTICEGETCURRENTSESSIONGETNOTICECLASS,NOTICEID这里调用了HIBERNATE的SESSIONFACTROY来实现对MODEL的控制。业务层MODELMODEL又叫实体类,其中封装了实体类的基本属性,通过HIBERNATE映射文件与数据库中的表相对应。514前端JSON数据解析前端实用JAVASCRIPT代码进行JSON数据的解析,并且使用JQUERY封装的AJAX请求,并且实现了STRING的方法,通过正则匹配将中的内容用JSON数据替换,具体实现如下DOCUMENTREADYFUNCTIONAJAXURL“INDEX/GETNOTICEDO“,DATA“NOTICEID“2,TYPEPOST,DATATYPE“JSON“,SUCCESSFUNCTIONDATAVARRESULTDATARESULTVARHTMLLISTHTMLTEMPNOTICEHOLDERHTMLFORVARI0ILISTNEWLINKEDLISTLISTADDJEDISSHARDINFO1SHARDPOOLNEWSHARDEDJEDISPOOLCONFIG,LISTPRIVATEREDISMANAGERPUBLICSTATICREDISMANAGERGETINSTANSEIFREDISMANAGERNULLREDISMANAGERNEWREDISMANAGERRETURNREDISMANAGERPUBLICOBJECTGETSTRINGKEY/封装GET方法,使用JEDIS得到KEY/从池中获取一个JEDIS对象SHARDEDJEDISJEDISSHARDPOOLGETRESOURCEOBJECTOJEDISGETKEYIFONULLRETURNOIFLOGISDEBUGENABLEDLOGDEBUG“REDISGETVALUEFAILDEDWITHKEY“KEYRETURNNULLPUBLICSYNCHRONIZEDBOOLEANPUTSTRINGKEY,OBJECTVALUE/封装PUT方法BOOLEANPUTSUCESSTRUESHARDEDJEDISJEDISSHARDPOOLGETRESOURCEPUTSUCESSJEDISSETKEY,STRINGVALUENULLRETURNPUTSUCESSSYNCHRONIZEDBOOLEANPUTSTRINGKEY,OBJECTVALUE,LONGEXPIREBOOLEANPUTSUCESSTRUESHARDEDJEDISJEDISSHARDPOOLGETRESOURCEPUTSUCESSJEDISSETKEY,STRINGVALUENULLJEDISEXPIREKEY,INTEXPIRERETURNPUTSUCESSPUBLICSYNCHRONIZEDBOOLEANREMOVESTRINGKEY/封装REMOVE方法BOOLEANDELETESUCESSTRUESHARDEDJEDISJEDISSHARDPOOLGETRESOURCEDELETESUCESSJEDISDELKEYNULLRETURNDELETESUCESS具体实现上,学院院网站使用如下图所示的方式使用REDISGETREDIS数据库MYSQL数据库存储在REDIS中的数据SAVE将数据存储在MYSQL中将MYSQL中的数据同步到REDIS中后端程序通过响应不同的请求,将访问不同的数据库得到数据,如果访问的是更新频率快的数据,将直接访问REDIS数据库。利用REDIS有较高的读取效率,将加快网页的响应速度。而REDIS数据库中的数据则是直接根据MYSQL中的数据所做的映射,编辑数据内容所做的保存将直接更改MYSQL中的数据,这样做相当于做了读写分离。读写分离的好处在于使系统有了更高的稳定性。516前端页面设计我们这次制作的是学院院网站的首页。在整体风格布局上,我们不仅追求规整、方正、严谨,还必须展现学院的特色和魅力。而当下最流行的审美潮流扁平化趋势正符合我们的设计。这种设计并非拟物化设计,追求的是简单、干净、利落、素雅,在传达的过程中,简单直接地表达信息的核心意义,避免认知障碍。另外考虑网站的整体协调性,初步拟定网站的主体颜色为蓝色,主要用色不超过3种。院网站的HEADER奠定了整体的设计基调,顶部采用一条清爽的深蓝色加上相同颜色的导航条给人一种落落大方,素雅的感觉。网站的底部采取了带状渐变的设计方式,颜色的变化简介,素雅,与页头呼应,突出设计重点。页面的内容同样以深蓝色元素为主色调页设计,围绕着单色色块经行设计。在学院院网站子页面的设计里,子页面的顶部到导航栏与底部保持与首页一致,因为既可以保持院网站设计的统一风格,又可以方便访问者在各个页面之间快速跳转通过导航栏。另外子页面的大图为子页面内容相关的具体展示,是与本子页面内容相关的图片,以加强协调性,注重配色与搭配,增加美感度。52测试及性能优化页面的性能测试的目的在于通过对页面的测试以确定页面是否会影响性能,影响用户体验,并且可以为优化提供依据和建议。最终提升系统的整体性能表现,提高用户体验满意度。所以可见页面的性能测试是系统测试的一个重要部分。在WEB系统面临高并发访问的情况时,WEB页面优化后所带来的系统整体性能提升更能显著体现。为了提高WEB程序的响应速度,这里主要有两种方式1减少请求和响应的往返次数减少客户端服务器和浏览器之间请求往返次数的最好方式是提供HTTP缓存。缓存的作用是提供一种机制使得客户端浏览器能够保存一定的网页内容,如果在以后的访问中请求相同的内容,浏览器所要访问的文件就不必再次通过网络传输,可以直接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 7251.10-2025低压成套开关设备和控制设备第10部分:规定成套设备的指南
- 森林防灭火知识培训材料课件
- 森林防火员知识培训总结
- 森林草园防火知识培训课件
- 森林治安及防火知识培训课件
- Unit 5 Here and Now基础知识复习课件 新人教版七年级英语下册
- 2025年文化机构出版社编辑岗位笔试试题
- 《机械员》考试题库含答案【研优卷】
- 2025年建筑设计师招聘笔试模拟卷及答案详解
- 2025年注册验船师资格考试(A级船舶检验专业案例分析)能力提高训练题及答案二
- 2025年六安市裕安区石婆店镇公开招考村级后备干部8名笔试备考试题及答案解析
- 公司领导财务知识培训课件
- 2025全国农业(水产)行业职业技能大赛(水生物病害防治员)选拔赛试题库(含答案)
- 六年级口算题大全800题
- 印尼劳动法中文版
- 中式烹调师高级技师试题与答案
- GB/T 3622-1999钛及钛合金带、箔材
- GB/T 20160-2006旋转电机绝缘电阻测试
- 组织工程及再生医学基本课件
- 旅游相册:宁夏旅游课件
- 药物化学(全套课件)
评论
0/150
提交评论