基于JAVA开发Web应用中MVC模式分析

2020-02-04 06:32:48廖宾
电子技术与软件工程 2020年21期
关键词:视图页面逻辑

廖宾

(纳爱斯集团 浙江省丽水市 323000)

1 MVC设计模式构成

目前的Web 页面被广泛的使用到互联网系统内,在B/S 架构应用之下,Web 技术成熟度逐步提升,也逐步的完善,特别是通过以MVC 作为基础之下的Web 开发有效的应用。在企业级Web 在实际的使用过程中,要综合分析安全、维护、移植等方面的特性,通过使用MVC 模式达到开发的要求,全面的提高开发效率与水平。MVC 设计模式属于经典程序设计理念,其主要有如下几个部分所构成:模型层(Mode1)、视图层(View)、控制层(contr0ller)。

1.1 模型层(Mode1)

模型层为程序的核心,主要是通过JavaBean 组件得以实现,为某个对象,或者某个业务逻辑形式,主要的作用是表达与访问数据信息,按照某种逻辑进行操作,保证程序处于合理的状态中。在MVC 模式之下,可以有效的控制视图表现的结果,其是利用面向对象的方式,把然后将抽象对象转化成为程序对象。这些抽象对象中包含了属性、逻辑等信息。模型通过接受自视图查询,然后根据系统设定要求做出反应,在模型内数据变化之下,可以利用视图让后者调整访问的状态,视图可以把模型调整与更新,且控制器进行模型访问,最终满足任务的要求。

1.2 视图层(View)

视图层主要是以程序和用户之间交互提供基础条件,这是在模型内获得相应数据且按照某种标准直接展示出来,在模型数据变化之后,视图从模型内获取通知进行视图的变更;其可以是用户输入信息控制装置。在MVC 模式中,该层没有业务逻辑,只是和用户进行交互现实,主要是通过JSP、HTML 界面实现。

1.3 控制层(Controller)

控制层的作用是控制程序,能够达到宏观调控的效果,其可以给容器发送通知,根据自身需要选择何种视图与模型组建,在Web内主要是通过Servlet 实现。

2 基于JSP的MVC设计模式

JSP(Jaw Server Pages)为Sun 创设,由其他很多公司共同的研发之下所形成的动态页面标准。在设计中,HTML 代码中内加入了Java 代码片段(scriptlet)和JSP 标签,从而可以形成JSP 网页。在用户发出请求之后,系统接收到相关信息,就会在系统内产生Java代码片段,并且通过系统处理将结果的HTML页面展示在客户端上,从而可以掌握页面结果。JSP 页面的作用就是处理逻辑、页面控制与显示等功能,这就让Web 设计有着一定的耦合性,维护管理难度较高,开发人员不能确定合理的分工方法,程序复杂性也比较高。为了处理该问题,Sun 公司研发了两种模式可以选择使用,模式一(Mode11)和模式-(Modal2)。Modell 在应用中,具体可以分为两层,也就是视图层与模型层。图1 就是模式一,虽然其页面显示与业务逻辑产生一定的分离性的作用,但是在JSP 页面内没有完成编写的现实,且业务流程控制与调用JavaBean 代码都直接反应在JSP 页面中,如果逻辑相对比较复杂,且数据量比较大,很多内嵌代码会导致页面变得更加的复杂,造成维护难度更高,操作也会更加的繁琐。通过使用Modell 模式进行小项目开发有着很高的便利性,各个页面都可以达到功能性标准,如果根据需要进行功能修改,就要进行多个部分的修改,是无法实现页面扩展的。

图1:MVC 模式1

为了有效的处理上述所提出的问题,降低维护成本、简化修改程序,结合实际情况研发出Model2 模式,其会将JSP 与servlets 联合应用,可以直接展示出动态化的内容,即MVC 模式。能够更好的实现用户与系统的交互,在系统内建设更加完善的程序框架形式。在具体的应用实践中,JSP 作为视图层存在,作用是直接显示出servlet 的控制层,直接给用户发出请求,然后调用业务Bean,将处理后的结果反馈到显示页面中,JavaBean 作为模型层存在,显示出逻辑关系,因此,在设计web 的程序中,发现Model2 模式应用效果更好。

3 改进的MVC模式

通过使用Model2 模式进行程序设计的过程中,对于业务层内实现封装实体Bean 和业务Bean,前者是进行实体封装处置,而后者则是实现数据化操作。此时在业务Bean 中会实现数据库连接与关闭,在应用环节,一旦开闭数据库的频率过高,就会导致资源浪费,产生较高的成本,这样会在业务层内融入数据连接池到系统,就能够消除这一问题,系统运行效果也会得到提升。在某个业务相对复杂的情况下,此时在Servlet 内就不仅实现流程控制代码与业务代码,还会产生非常多的数据处理代码,这样可以减少Servlet 代码数量,仅仅是通过Servlet 完成数据接收使用,可以进行数据传输,其他工作都是在外部系统开展,为了能够达到功能性的标准,还要把Servlet 内数据处理代码会封装到Service 层中,Servlet 收到信息之后,根据请求的要求,跳转到相应的Service 中,在Service 内可以完成数据处理和调用,以保证业务层顺利运行。

4 基于MVC模式登陆模块的实现

下面从登陆模块开发作为基础进行分析,充分了解NVC 在Jaya Web 内实现的主要过程进行分析,深入了解MVC 模式。用户填写相关信息,利用界面显示信息,把返回之后的信息界面当做视图(View);信息填写完成之后保证所有信息利用Form 表单提交后,然后可以依据action 转到规定的控制器(Controller),然后其利用Servlet 完成,根据需要做好配置;有效的利用模型层(Mode1)和数据库连接使用,检验数据库是否与输入信息是相对应的。

数据库的连接主要是通过JDBC 技术来实现,然后进入到数据库内,操作比较简单方便。但是该模式应用到Web 程序开发,依然有如下问题:首先,每一次Web 请求都会有效的实现数据库连接,这样会导致资源闲置,也会有较大的浪费;其次,在实施数据库连接中,使用结束后会断开,否则一旦出现程序运行不正常的情况,没有技术关闭,导致系统泄漏情况发生,就要重新开启数据库。因此,该开发中,进行控制创建系统连接对象分析,系统资源会没有任何限制的基础之下被分配,如果连接比较多,还会导致内部泄漏的问题,服务器不能正常工作。此时可以利用数据库建设的连接池以实现数据库打开与关闭。这种理念就是在设计中创设“缓冲池”,预先在系统内加入规定数量的连接方式,要进行数据库的连接,就要从该“缓冲池”内调出一个数据,使用结束后可以放回。

在具体的MVC 模式设计环节,这其中的Model 是组成核心结构,杂用户登陆之后,利用数据输入或者在数据库内调出数据直接封装成为User 类,然后模块就能够有效的应用JavaBean 对象,在该封装中书写getxxx 和setxxx 就能够达到要求。要想能够有效的实现功能性的扩展和应用,需要在设计完成之后的DAO 模式内首先定义成为UserDAO 接口,并且按照要求接E1 的UserDAOImpl实现类,接口部位中的类中定义进行数据处理,但是并不会进行数据库关闭。

5 MVC在Java开发中的应用方法

5.1 Web系统设计

从实际情况分析可以确定,Web 一般可以分为服务器端与浏览器端。Java 与MVC 进行全部的融合与处理之后,就能够形成Web系统,将其使用到JSP 页面、HTML 页面以及SwingGUI 页面,可以直接显示,然后和View 是相应存在的,系统利用视图能够完成交互处理;通过使用Controller 完成用户管理,保证数据处理更加高效的进行; JaveBean 和模型是相应存在的,完成业务逻辑分析,保证逻辑结构更加清晰。MVC 系统应用中,数据和业务是单独存在的,逻辑结构也更加的清洗。在数据显示产生变化后,仅仅可以通过JSP 视图界面修改就可以达到要求,并不会进行模块调整。相反,数据需求变化后,仅仅是进行数据模块处理就可以达到要求,所以系统内可以进行业务加入与处理,保证需求满足要求。

5.2 应用流程

在Web 程序中,MVC 模式应用流程如下所示:在客户端内的JSP 网页会提交到服务器内,终端按照用户请求实现处理。控制器的工作环节,根据业务之间的差异,可以把反馈后的信息按照标准进行处理,然后把结果直接传输到视图JSP。处理工作结束后,视图JSP 中以HTML 的形式发送到客户端。在该模式应用之下,程序包含下述内容:

(1)Servlet 可以达到控制器的应用效果,直接接收到客户端的请求信息,然后通过最佳的方法处理请求;

(2)根据请求类型,在Servlet 中创建JavaBean 对象,处理完成后把相应信息数据传输给Bean 对象;

(3)Servlet 把信息传输到数据库内,并且完成存储工作,把相应结果与JSP 相互对应,然后通过JSP 显示在用户界面;

(4)在Bean 内进行数据读取,然后实现数据的连接,JSP 并不会直接和数据连接起来,而是能够直接将其传输到用户端内。

在JSP 系统开发之下,其主要是能够实现页面显示,根据实际需要实现页面显示,在流程与逻辑控制方面是应用Servlet 来实现,然后将逻辑相应内容通过分装的方法直接存储到Bean 之中。这种系统形式开发设计中,保证页面和业务逻辑关联性产生很大的限制,但是系统的运转变得更加的灵活,今后的应用也比较方便。当前在程序开发中,对MVC 模式被广泛的应用,也就是说,目前的Web应用到程序开发领域产生极为重要的作用。

5.3 具体应用

现阶段,以MVC 为基础的框架较多,应用最为广泛的是Struts 框架,主要应用的技术为JSP、JavaBean 以及Servlet 等等。在控制层中,主要包括Action、Servlet 与Mapping 等对象,其中Servlet 处于核心地位,可对用户端请求进行接受,并准确找出与之相对的Action 和Mapping,利用Action 对业务模型进行调用,最后通过Servlet 实现响应以及请求转发目标。在模型层中,由Sruts提供From 对象,可记住定义属性对用户端的表单数据进行解释,在Action 处理器中,可对其进行直接读取,由此使View 与Model之间能够相互支持。

6 结束语

通过使用MVC 模式可以真正的实现内容与表达的分离处理,程序开发人员进行Servlet 和JavaBean 的开发使用,每个系统人员负责不同的工作,可以顺利完成大项目的开发和设计,操作也更加的方便,维护难度大幅降低,各类人员可以有序完成自己的工作,展现出非常高的优势。

猜你喜欢
视图页面逻辑
刑事印证证明准确达成的逻辑反思
法律方法(2022年2期)2022-10-20 06:44:24
刷新生活的页面
保健医苑(2022年1期)2022-08-30 08:39:14
逻辑
创新的逻辑
女人买买买的神逻辑
37°女人(2017年11期)2017-11-14 20:27:40
5.3 视图与投影
视图
Y—20重型运输机多视图
现代兵器(2017年4期)2017-06-02 15:59:24
SA2型76毫米车载高炮多视图
现代兵器(2017年4期)2017-06-02 15:58:14
同一Word文档 纵横页面并存