基于Java技术的后台服务程序设计分析
2022-03-29熊勇
熊 勇
(山西应用科技学院 山西 太原 030000)
0 引言
目前,Java技术应用于实际软件开发中,大部分软件都采用C/S模式,进行设计一个后台服务程序,负责对各类数据的读写操作,完成对线程及各类资源的管理。在大型ERP软件内也同样需要对各模块及通信协调管理,与操作系统的“内核”程序一样重要[1]。那么,在基于Java技术的后台服务程序设计中,如何编写“内核”程序来实现设计目标,提升软件服务的设计要求,提高软件设计质量,本文将以某旅游后台服务设计程序运用Java技术设计进行分析。
1 技术原理
(1)Java可以提供高级网络编程固有支持,Java有关网络类和接口在Java.net包内定义,客户端软件一般运用Java.net包内核心类Socket,建立和服务器端口之间的连接,与客户机有所不同,在服务器程序中Socket类包括全部服务器系统编写所需。
(2)服务器端的各端口可以提供大量服务,经端口实现对平台服务对象管理,主要通过监听器映射散列表完成,负责与连接池的管理连接。在ServerSocket类构造器运行中,作为保证服务器能够正常程序运行的关键,完成port参数端口的初始化处理,对客户机的连接请求实时监听。Port能够实现0~65 536范围,0~1 023范围作为INternet标准协议保留接口,与Unix主机连接,仅有root用户可以负责应用。通常情况下自定义端口号为8 000~16 000范围内。如果仅仅对ServerSocket进行初始化处理尚且不足,这主要由于不具备同步交互的socket类,所以就要对accept调用实现呼叫用户。在Accept()方法执行中,直至发出连接请求,才可以返回至accept,创建服务器线程结合实例输入、输出数据流,对socket通信需求实时处理,之后即可调用getInetAddress、getLocaIPort成功获得服务器IP端口与具体IP地址。setSoTimeot与getSoTimeout方法分别设置和服务器超时设置,假若timout时间段内未能得到服务器accept方法所返回套接字,这时会显示IOException异常。
(3)设计后台服务类控制系统,在运行中需要对各类所需服务动态化调用,加载形成新服务。
2 Web服务器的Java技术实现
Web服务器要在HTTP协议工作原理基础上实现,HTTP通信协议是基于TCP/IP协议,作为客户端浏览器与服务器端Web服务器间应用层标准协议。作为面向对象、无状态的通用协议,HTTP协议主要包括以下作用机理:(1)建立Web服务器之间的连接,打开socket虚拟文件即可成功建立连接;(2)经socket实现Web浏览器向服务器提交请求,一般请求采用GET与POST命令;(3)在Web浏览器提交请求后,向服务器传送HTTP协议,服务器成功接收请求服务后处理相关事务,之后向Web浏览器传回处理结果,即可在Web显示具体请求页面;(4)在成功应答后,断开Web浏览器与服务器连接,确保其他Web浏览器和服务器可以建立连接。Java内可以创建套接字连接其他机器,获得InputStream与OutputSteam,将此连接作为I/0流对象对待。根据以上原理设计功能如下:自行设计虚拟目录,HTTP服务器相应端口,默认主文档;以程序不同服务请求处理HTML,响应不同MIME格式,对不同错误服务信息响应差异化信息网页,对HTTP方法及待浏览资源进行处理,在Java中可以通过线程方式处理多人连接,利用accept方法即可建立客户端Socket对象,与自定义HTTPSession类[2]。
3 旅游后台服务程序设计需求及服务模型
3.1 技术可行性
对市场上存在的相似产品及产品异同进行分析,了解技术的可发展空间,需要提前进行技术分析,对于是否存在无法解决的难题以及风险规避的方法进行探究。要对产品易用性充分考虑,Java Web网站为当下主流,在使用中无需下载插件与小程序,极大程度降低了用户使用门槛,让用户获得更好的交互体验[3]。
3.2 需求分析
服务程序系统划分了使用人员包括普通用户、管理员两类角色,用户在登录时可以根据自己身份,选择对应登录界面,根据旅游服务系统的页面划分不同地区的名称,可以让用户在系统应用中更便于查找相关信息。该服务程序以普通用户的服务功能为核心,普通用户可以在系统留言板中利用上传功能,把自己想要了解的感兴趣信息上传服务程序,还能够利用后台留言板功能发表主观意见,可以提高用户在该服务程序的参与感。管理员能够在此后台服务程序,实现对用户所发表内容的删减处理。
3.3 静态模型
运用UML建模理论对静态、动态完成建模设计,运用Rational Rose工具作图描述跟踪UML生成品,构建服务代码框架。
类作为应用领域关键实体,表示所包含结构属性与操作行为两部分的抽象表现,一般情况下,以项目组对涉及领域的具体熟悉度为依据,在初步设计中一般需要简单实体列表,提出类系统内名词罗列后,运用简单筛选规则精简处理。通过分析需求获得实体列表,删除后可以获得以下类,分别是WebServer、WebServerFrame、ListenSocket、HTTPSession、ProcessProxy、LoginFrame、RegistFrame,对上述各候选类确定后,对各个关系加以确定,保证其中一个类能够熟悉另一类的具体属性和操作,服务需求分析可以运用动词短语分析,并在Rational Rose图内列举类关联,建立各类之间的关联、依赖性与一般化关系。
4 Java技术在服务程序设计中实现
4.1 功能设计
本次设计后台服务程序功能主要包括以下几部分。
(1)在用户注册功能模块,设计了用户名添加、输入密码与再次输入密码的文本框,由于系统管理员的数量有限,大部分由企业管理者所担任,通过协商服务程序开发人员后,可以在用户表内为管理员添加区别于普通用户的特殊字段[4]。
(2)在登录界面,用户可以依据自身的系统操作身份,进入用户登录及管理员登录界面,假若在进入界面前所输入的用户名与密码不符,则无法正常登录。管理员可以登录后对普通用户信息进行查找、删除、改动。
(3)在用户留言板功能模块,设计了留言上传与评论功能,用户可以输入留言上传后,涵盖未囊括的经典信息,并利用评论功能可以为其他用户提供可参考建设性意见。
(4)主页面模块设计,涵盖了我国34个省级行政区名称,用户可以通过点击图片即可连接。
4.2 具体设计实现
在普通用户注册时所输入用户名及密码,可以经post表单方式向后台JSP文件提交,调用Java统一编码requst.setCharacterEncoding(),request.getParameter()方法接收表单相关参数[5]。为了确保用户输入用户名及密码准确无误,验证密码输入一致采用equals()方法,练级数据库调用DriverManager.getConnectin(),数据库的操作对象及操作命令分别为PreparedStatement pstmt=null、sql=”insert into User(username,password)valute”,将数据库操作实例信息存入数据库内,注册管理员在普通用户基础上,开发数据库用户表及权限字段,见图1、图2。
以后台服务程序登录功能实现为例,通过设计“普通用户”“管理员”两个登录链接,可以让用户登录相应的服务界面,将各自用户名及密码输入后,系统执行后续操作,注册执行插入操作、登录执行查找操作,因为普通用户的数据库内操作指令为Null条件,管理员数据库的操作指令为Y,那么在输入同样用户名及密码时,就会进入必须经过的服务程序执行JSP文件,获得差异化服务执行结果[6-7]。
在后台服务程序的留言板功能实现中,可以调用图片上传file指令类型,提交景点信息并建立FileUploadTools类对象,调用数据库构造即可发表各图片文件与景点信息,在主页面中显示。用户可以自主点击评论,即可调用表单控件提交具体的评论内容。对于服务程序系统呈现的留言板内容,采用HTML5+CSS+JS前端技术优化加工设计,保证整个布局的简约、美观性[8]。
在后台服务程序的主页面功能模块实现中,划分了34个省级行政区域模块名称,通过地标建筑图片作为点击超链接,即可了解不同区域的情况,之后点击JSP文件,依据各景点的地表数值查询同省份景点,方便呈现为用户查找景点。
5 系统测试
为了验证Java编程语言用于此系统开发的稳定可靠性,对系统功能进行测试判断,应用联想笔记本,i5处理器,64位win7操作系统,6 GB存储空间;MysQl数据库、Myeclipse 6.0、搜狗浏览器、tomacat6服务器。首先建立通用型服务器框架,能够在多端口提供多线程服务,在系统运行中对各服务动态化调用,加载Service类提供服务,根据各端口散射services实现对服务对象的管理,其中addservice可以创建在特定端口提供后台服务;removeservice可以执行服务器某端口后台服务的停止需求,但是并不代表连接终止,仅仅能够通过服务器暂停建立新连接;displaystatus可以用于对指定流中服务器具体状态信息的处理打印,每一个服务器相应服务对象各有不同。
其中一段Java技术示例如下:
Java技术用于旅游后台服务程序设计中,对各功能需求逐一进行验证,用户享受该程序的服务功能,根据大量数据情况与功能使用,证实Java技术在后台服务程序设计中的适用性。
6 结语
综上所述,为提高我国经济的发展,需将互联网技术融入各行业,打造全新的服务体验。本文以旅游服务程序设计为例,应用Java技术为游客提供了全面服务体验,并以各功能接口为用户提供更全面的旅游服务。