APP下载

基于Java-Web开发的后台程序与界面分离技术

2020-10-27谭弘岷

科学与财富 2020年23期

谭弘岷

摘  要:随着互联网技术飞速发展,各个领域开始大规模应用基于Itnternet的WWW应用模式,传递信息的同时实现信息共享。Java是常用的计算机编程语言,推动web领域发展,但是随着科技水平提高逐渐暴露出一些新的应用问题,美工设计界面无法直接应用,需要采取一些其他手段统一程序与网页界面,这就涉及到了基于Java-Web开发的后台程序与界面分离技术,可以降低程序代码与Html代码之间的影响,达到协调程序人员和美工人员的目的,提高整体的开发效率。

关键词:Java-Web;后台程序;界面分离技术

Java语言主要分为两种类型,一种为JavaApplication,另一种为JavaApplet,前者属于非嵌入式程序,需要安装解释器,后者属于飞独立软件,内部解释器就可以满足运行需求。在开发过程中,编程和美工人员容易在协调方面出现问题,这时候就要采用JTemplate类表现,分离网页界面和后台程序,在完成分离工作后,美工和编程人员拥有足够的时间完成自身工作,减少协调时间。JTemplate类主要发挥分离功能,可以将Html和Java代码分离开,应用时利用Java语言更新改进Htrd元素及内容。

1 后台程序与界面分离关键技术

后台程序与界面分离的关键是JTemplale类,在开发和实现的过程中,通过对正则表达式的合理运用,才能得到需要的知识,正则表达式主要负责处理文本内容,同时匹配对应的运行模式。正常情况下,正则表达式需要遵循一定的表达规则,将字符科学串联,同时还会针对串联护的字符定义出特定的搜索模式,为了表达出字符匹配的次数,还需要合理运用各类的符号,包括字符串、普通字符、标点字符等,在加入不同类型的符号后,就可以按照实际需求匹配搜索需要的字符,完成JTemplale的开发工作。一些正则表达式相对较为常用,开发时需要科学记忆,才能快速完成开发工作,例如*代表星号前字符经过零次或者多次匹配,+代表星号前字符经过零次或者多次匹配。

在出现JDK1.4版本以后,后续开始利用java、util、regex包,同时提供两个类处理正则表达式,一个为Pattern类,另一个为Matcher类,在处理正则表达式时,Pattern类有着明确的处理规定,如果正则表达式为字符串,则要优先编译Pattern类,接下来可以得到处理模式,这时候就涉及到Matcher类,可以利用前期构建出来的模式创建出Matcher对象,在创建完对象后,遵循正则表达式操作,可以匹配任意字符序列。在执行匹配的过程中,会涉及到大量不同的状态,这时候需要保留所有状态,将其驻留在匹配其内,同时共享同一模式,基于上述工作原理,要遵循一定的调用顺序。

JTemplate类的主要功能是:分离Java代码(如Servlet或Jp)和Hml文件。JTemplate类的主要特点是:以Java语言为基础,通过设置“文件”可以由Java代码解析静态的Hml模板,通过设置“块”可以实现数据的动态循环列表显示,通过设置“块”并根据条件可以实现Html元素的动态隐藏和显示,通过设置“变量”可以实现Hml元素和内容的动态更新。

2 Jtemplate类的基本思想概述

Jtemplate类的基本思想主要体现在Map接口上,主要分为两大类,一个为哈西表类,另一个为链接列表类,由这两个大类相互形成映射效果,主要包括四个映射:第一,fileName映射。在程序运行时,该集合主要体现在模板文件上,而fileName则是文件中出现的映射。第二,values映射。Jtemplate类开发时产生的大量变量数据,采取映射的方式实现。第三keys映射。变量存在大量的关键字词,开发时需要计算分析,这也就是keys映射。第四,error映射。在开发Jtemplate类时,如果出现错误信息时,通过error映射出错误问题。在开发Jtemplate类时,四种映射发挥不同的作用,相互之间存在较强的联系,要注意开发过程中始终借助正则表达式,直到达到开发的最终环节,可以进入到文件分析处理环节,主要流的方式,输入文件后合理设置块及变量,得到处理后的字符流。

3 Jtemplate类的实现研究

通过分析当前主流的基于B/S模式的软件构架视图,我们发现,无论后台的处理逻辑多么复杂,实现细节的部分设计得多么精巧,最终提交给用户使用的前台界面基本上都是由以下三种页面组合而成的:普通的用户浏览界面、需要用户提交参数的界面、通过查询后台数据库显示给用户的信息列表。前两种界面我们又可以综合成一种:既有动态信息的浏览,又需要用户提交参数。

基于以上分析,我们考虑首先在模板文件中设置需要动态显示的内容的映射,然后利用Java中字符流的操作类(BufferedReader)把模板文件读人内存,再利用正则表达式解析在模板文件流中设置的映射,最终以从Servlet中计算得到的动态信息取代那些映射,输出给用户动态的显示效果。在JSP接收到Servlet传送的数据以后,它就要生成Jtemplate类的一个实例,同时设置模板文件的映射,这个过程的实现如下:

//設置模板文件的映射Public-void-setfile(string - handle.string - filename string-tmpfilename=this - getfilename( filename)if (this.haserrwrO){return;}//如果出错,则退出This.filename. put(handle.tmpfilename);// getFileName方法判断给定名称的模板文件是否存在private String getFideName(Sring fleName) {File file = new File( fleName);f(! file. exists() | 1/如果文件未找到,设置setFile的出错信息this. setEror( “setFile”,“File ”+ fleNaume +“does notex-ist.”);reburmfileName;

如果显示页面包含数据库列表,同时无法提前预支数据条数,这时候就要科学设置块变量,将其设置在Html模板上,设置结束后还要从JSP文件上设置变量映射,选择setBlock的设置方法。如果显示页面上需要动态显示一些内容,这时候也需要设置变量,在普通模板文件上设置即可,接下来按照同样的方法设置出变量的映射。在完成上述操作以后,就可以输出结果,这部分操作需要借助多个方法。

4 Jtemplate类运作流程研究

Jtemplate类运作流程如下:首先主要开展两大工作,一个是Sevllet处理内部逻辑,另一个则是在Html字符模板上设置变量,完成上述两项工作后,可以进入到处理环节,通过处理数据读入Html字符模板,接下来要根据实际开发需求设置模板文件映射、块变量以及变量映射,最后可以通过JSP解析处理模板文件,得到最终的输出解析结果,该过程主要体现在用户界面上。

5 Jtemplate类存在的弊端

虽然Jtemplate类解决了美工和程序员之间的工作冲突,提高了工作效率。但是也引入了新的问题,即在服务器端由servlet解析Html页面花费的时间相应增多,主要是由于在解析工作中发生了很多字符串的连接操作,牺牲了效率,解决这个问题的方案是可以使用字符串缓冲区来代替简单的字符串相加。如何在解决冲突和系统开销之间取得平衡,设计更加实用的算法需要进一步研究。

6 结束语

随着互联网逐渐普及,软件应用范围逐渐扩大,为各个领域提供核心技术支持,同时还可以协调编码人员及美工,大幅度提高工作效率。Java语言可以提供大量的应用类库,通过解释器得到特定的编译代码,拥有跨越平台的特点,迅速推动web领域发展。在开展Java-Web开发活动时,要科学协调问题,美工和编码人员要加强沟通协调,才能更顺畅的完成开发工作,而界面分离技术的合理运用,大幅度提高工作效率,从根本上解决一些协调性问题。

参考文献

[1]蔡金华.基于Java的Web开发技術[J].电子技术与软件工程,2019,000(006):P.53-54.

[2]王归航.基于Java的Web开发技术的探讨[J].信息系统工程,2018.

[3]何晶.以SSH框架与jQuery技术为基础的Java-Web开发应用探讨[J].计算机产品与流通,2019,000(011):P.104-105.