基于JSP和Servlet架构的新闻频道系统

2020-07-22 09:55刘小飞李明杰
电脑知识与技术 2020年12期

刘小飞 李明杰

摘要:本着有利于初学者对JavaWeb开发路线理解的原则,本项目没有使用JavaWeb中已有成熟架构体系,而是利用JsP和Servlet组合方案展示了Web页面开发中的三层架构体系,即前端、业务处理层和后台数据库层。学习了本项目的开发后,可以让初学者对Web页面类的开发流程有一个较为全面的认识和掌握。

关键词:Web开发;JSP;Servlet

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2020)12-0082-02

1概述

Web页面系统开发是经典的软件开发项目,也是从事软件开发人员的启蒙项目。Web页面系统开发涉及前端页面、服务器、后端数据库之间数据流与业务流的交互,因此需要学习一套完整成熟的开发架构体系。

Java中的Web架构种类丰富,但基本的开发规则和步骤都是类似的:在前端页面上提供用户交互,使用JSP等技术实现面向对象的请求和响应流程,使用Servlet或者Filter等技术拦截检验请求,确认安全无误后访问后台服务器和数据库。通常所说的第三方框架即是对上述流程进行了集成优化后的一套完整处理方案,保证项目开发的快速高效。本文的新闻频道系统没有使用第三方框架而是选择JsP和Servlet技术结合开发的原因是为了有利于初学者对于JavaWeb开发路线的理解。

2需求分析

新闻频道系统用户的需求是可以进行主页面的新闻浏览,并且能够定期进行更新和推送。不同用户的关注点各不相同,需要实现能够分类别的浏览,比如“体育”类、“军事”类等等,用户还需要能够进行定向的搜索和查找。允许用户发表自己的观点和对新闻反馈自己的情绪,比如“点赞”“反对”等等。通过对上述需求的分析,我们可以确定三类不同权限的用户,按权限级别由低到高分别为游客、普通用户和管理员用户。游客只有浏览和查找新闻的权限,无评论和反馈权限。普通用户使用账号登录后可以进行评价和反馈,但不能对原始新闻进行增删改操作。管理员用户拥有最高权限。

3技术路线

3.1业务逻辑和数据逻辑

简单来说,本项目的主要业务流向和数据流向为:前端页面发送请求一后端服务器接收后对请求进行授权和反馈。这个过程中涉及数据的修改时,服务器可与数据库之间进行交互。最后在前端页面上显示授权和反馈后的结果。

通常使用三层架构进行处理,即Web/UI层,Service层和DAO层。

1)Web/UI层(前端UI和展示层):通常使用html、CSS等脚本语言编写的页面,用于接收用户请求,展示反馈结果。

2)Selvice层(业务层):接收请求后,实现具体业务逻辑的地方,比如:登录校验、日志的打印等等。涉及数据流时,接收到DAO层的反馈数据后再返回给Web/UI层。

3)DAO层(数据层):直接跟数据库关联,专门负责对于数据库的增删改查操作,按照访问请求得到数据后会反馈给Service层。

早期的项目开发时,直接让前端的Web/UI层和DAO层进行交互,缺少中间层Service,这样会造成项目业务流、数据流不分,数据拥塞,另外也加大了数据安全的风险。采用三层架构可以实现高内聚低耦合的特点,让各主要功能模块各司其职、互不干扰。在这三层架构之间控制业务流向和数据流向的技术就是JSP和Servlet技术。

3.2相关技术和工具

1)JSP

JSP(Java Server Page),是一种运行在服务器端的Java页面,最初是由Sun公司倡导,并由多家公司参与建立起来的一种动态网页技术标准。JSP运行在服务端,当用户通过Web页面请求访问JSP资源时,Web服务器会使用JSP引擎对请求的JSP进行编辑和执行,然后将生成的页面返回给客户端浏览器进行显示。当JSP请求提交到服务器时,Web容器会通過以下三个阶段进行处理,即翻译阶段,编译阶段和执行阶段。

2)Servlet

Servlet(Server Applet),全称Java SeIvlet。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。