一般来说我们的系统都是采用的MVC架构,后台处理数据,前台展示数据并与用户交互,但是学WEB开发这么久,一直都没有在哪个项目里可以把数据和逻辑分离的干净利落。
最早是自学JSP迈出WEB开发的第一步,当时对WEB都几乎没有什么概念,更不要说对系统进行清晰规划了。当然了,一个纯JSP构成的系统也不可能会有什么架构。那时做的几个小系统都是清一色的连JDBC连接字符串都写在JSP中,甚至是一个页面上写一次。几年後,当同学拿我的老系统去当毕业设计时,单是调整数据库连接就耗费了我好几天。。。
后来知道了MVC架构,开始尝试着分离界面和业务逻辑,就注意到,最困难的部分就是前后台数据的传递。一开始我是通过数据bean来传递数值,后台把处理好的数据写入bean,然后把bean扔入web作用域,然后前台取出bean取出数据,但是处理过程中总是免不了进行一些逻辑判断,甚至有时候图省事还直接在前台处理了些业务逻辑。
然后学习了struts1.x框架,当时印象最深刻的指导思想就是不要在页面上出现<% %>,尽量使用纯粹的.html,然后通过struts标签来获取数据,处理逻辑。不过在过了一段时间後,感觉被忽悠了,用struts标签和直接使用jsp本质上就是一样的嘛,然后就开始很讨厌struts,感觉它就是忽悠狂,尽做些形式上的事情,把servlet包装下就搞个action出来,用ActionForm来帮助我们从页面往action传数据,但是似乎在回传数据的时候还是得用request.setAttribute(),只是用了它那套可以得到一些功能支持,比如数据验证,多国语言支持等,但唯一有意义的似乎就是那个前段控制器,不过为了这一个功能引入这么一大堆东西感觉还是很不爽。当然了,这只是我浅尝辄止的感觉。不过如果我下次还要用到mvc辅助框架,我肯定选择spring自带的springmvc了,差不多的作用,但是可以少引入一堆东西,降低复杂度。
然后用了一次DWR,感觉舒服多了。由于是在JS中调用后台方法,取得数据,再直接用JS进行整理填入HTML中,页面显得干净多了。只是觉得DWR做得有些过,我想要的是数据交互,它提供的确是方法直接调用,而且是绑定了后台的类,总是觉得不大对劲。再加上当时不知道是什么原因,DWR调用的方法返回刚从HIBERNATE查出的数据对象时,在JS中得到的都是空的,而在方法中打印确认数据是有的,大概是跟对象生命周期什么的有关系吧,后来不得不手动把那些对象复制一遍再传,才能成功得到返回值。这就是只会使用,不深入理解的郁闷之处了。
现在很喜欢用jQuery,可以很方便的用AJAX得到后台数据,然后配合spring的域作用范围定义,直接定义一些singleton bean 并把作用域设为session,用来存放信息,这样就不用整天去找session对象了。不过这个的主要问题是当数据量比较大的时候,javascript处理返回的数据容易导致浏览器失去响应,即使用settimeout()了,速度还是明显太慢,所以还不是好的方案。之前的折衷方案是少量数据的展示用JS处理,大量数据还是进行一次跳转,在服务器端拼装好HTML。
等有时间研究下DWR和EXTJS的原理,看看能不能找到什么参考,能够高效干净的获得并处理大量数据。估计还是要靠javascript。
分享到:
相关推荐
在Web开发中,前后端数据交互是至关重要的一个环节,特别是在动态网页应用中。"前台Ajax与后台Json传递...文件"前台ajax与后台json传递.txt"可能包含了更详细的代码示例和解释,这将帮助你进一步掌握这些概念和技术。
这里`strid`被转换成了字符串并作为参数传递给了`ButtShow`方法。 ##### 2. 第二个代码段 ```html function Show() { var Keys = 0; var a = "()%>"; } public string strid = "000"; public string ButtShow...
总的来说,网站前台和后台界面的开发涉及到多个方面,包括用户认证、文件操作、模板引擎、数据库交互等。理解这些基本概念和技巧是成为熟练的PHP开发者的关键。通过不断学习和实践,我们可以构建出功能强大、用户...
在处理后台向前台传递的JSON数据时,需要涉及到数据的生成、序列化、传输、接收、反序列化和使用等环节。在本文中,我们将详细介绍如何通过Java后台框架Spring MVC来实现这一过程,以及如何配置相关的依赖和组件来...
新闻管理系统是一个常见的Web应用项目,它分为前台展示和后台管理两个部分。这个系统采用MVC(Model-View-Controller)架构模式,这是Java Web开发中常用的一种设计模式,旨在提高代码的可维护性和可扩展性。在这个...
在前台调用后台变量时,如果后台传递的数据为String类型,而前台需要其他类型的数据,可以使用DataBinder.Eval方法进行类型转换。例如使用DataBinder.Eval(Container.DataItem,"转换的类型")将Container.DataItem中...
前台JS数组需要从后台C#数组中获取数据,而后台C#数组则需要从数据库中获取数据。下面我们将详细介绍如何实现这个交互。 定义CS数组 在ASP.NET中,后台程序中需要定义一个公共的数组来存放数据。在这里,我们定义...
在介绍aspx后台传递Json到前台的两种接收方法之前,我们先了解一些基础知识点。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,现在已经成为一种广泛...
实现前后台数据交互,通常涉及到以下几个步骤: 1. **API设计**:定义后台接口,如GET请求获取数据,POST请求提交数据。 2. **数据处理**:后端接收到请求后,根据需求查询或修改数据库。 3. **响应处理**:将处理...
后台接收到的数据一直显示null 原因: 使用@RequestBody标签接收json数据,参数类型不能用Sting 看这两个注解的作用 @RequestParam ...是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或
Java中前台往后台传递多个id参数的实例 在 Java 中,前台往后台传递多个 id 参数是非常常见的场景...这个实例展示了如何在 Java 中前台往后台传递多个 id 参数,包括前台 JS 代码的处理、后台的处理和Ajax请求的处理。
"asp素材前台和后台图像"这个主题,主要关注的是在ASP(Active Server Pages)开发中使用的前端和后端图像素材。这些图像通常包括按钮、图标、背景图片、指示符等,为网站增添视觉吸引力和用户体验。 一、前台图像 ...
总结来说,"easyui-combobox、combotree后台数据数据组装与前台绑定实例" 主要涉及两个部分:后端 C# 数据组装成 JSON 格式,以及前端使用 EasyUI 的 Combobox 和 Combotree 组件进行数据绑定。通过这样的方式,我们...
- 前台设计注重用户体验,提供清晰的信息结构和友好的导航,使用Bootstrap3可以快速创建现代感强且功能丰富的界面。 - 后台管理系统则用于管理员管理网站内容、用户、权限等,通常需要具备角色管理、内容发布、...
总之,JSON是前后端之间进行数据交换的常用格式,通过设置请求头和使用相应的序列化及反序列化方法,可以方便地实现数据的传递。无论是JavaScript的`XMLHttpRequest`、`fetch` API,还是后端的Web框架,都有内置支持...
下面我们将详细介绍Ext前后台数据交互的原理和实现方式。 一、Ext.data.Connection组件 Ext.data.Connection组件是Ext提供的一种异步调用后台服务的方式,它可以将前台的请求发送到后台,并将后台的响应返回到前台...
本篇将围绕"thinkphp前台后台网站源码"这一主题,深入剖析ThinkPHP框架在构建前后台网站中的应用,帮助读者掌握其核心概念和技术要点。 一、ThinkPHP框架概述 ThinkPHP是由中国的一群开源爱好者开发的PHP框架,基于...
总结,ECharts与后台数据交互主要依赖于AJAX技术,通过前后端的协作,实现数据的动态加载和实时更新。这种方式极大地提高了用户体验,使数据可视化更加生动和实用。通过实践和不断优化,你可以构建出功能强大且互动...
当用户触发某个操作时,如按钮点击,该函数会被调用,从而将事件目标和参数发送到服务器端,触发相应的事件处理逻辑。这是ASP.NET中实现服务器端控件PostBack事件的关键所在。 ### 结合使用 结合上述技术,开发者...
前端通常负责展示信息、接收用户输入和交互,而后台则处理业务逻辑、数据管理以及与数据库的交互。在这个项目中,前台可能包括环保新闻、产品展示、服务介绍等模块,而后台可能涉及用户管理、内容发布、订单处理等...