`
DesHpoT
  • 浏览: 33560 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

前台和后台的数据传递

阅读更多

    一般来说我们的系统都是采用的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。

分享到:
评论
3 楼 lenka_xiu 2012-08-15  
写的太好了...同感哦...我还是java开发中的小菜鸟..前台与后台传值只是会,但是从来没有深究过...
2 楼 pg_guo 2010-12-07  
看了楼主的帖子之后我深有感触啊,经历差不多哈
1 楼 heyaron 2009-04-10  
写的很好,给我启发。我们现在在做那个,就是在用Struts,前台用JSP的,标签是Struts的。听你说的,我得尝试下jQuery和DWR了、

相关推荐

    前台ajax与后台json传递

    在Web开发中,前后端数据交互是至关重要的一个环节,特别是在动态网页应用中。"前台Ajax与后台Json传递...文件"前台ajax与后台json传递.txt"可能包含了更详细的代码示例和解释,这将帮助你进一步掌握这些概念和技术。

    asp.net前台调用后台方法传参数

    这里`strid`被转换成了字符串并作为参数传递给了`ButtShow`方法。 ##### 2. 第二个代码段 ```html function Show() { var Keys = 0; var a = "()%&gt;"; } public string strid = "000"; public string ButtShow...

    网站前台和后台界面

    总的来说,网站前台和后台界面的开发涉及到多个方面,包括用户认证、文件操作、模板引擎、数据库交互等。理解这些基本概念和技巧是成为熟练的PHP开发者的关键。通过不断学习和实践,我们可以构建出功能强大、用户...

    如何处理后台向前台传递的json数据

    在处理后台向前台传递的JSON数据时,需要涉及到数据的生成、序列化、传输、接收、反序列化和使用等环节。在本文中,我们将详细介绍如何通过Java后台框架Spring MVC来实现这一过程,以及如何配置相关的依赖和组件来...

    新闻管理系统前台和后台

    新闻管理系统是一个常见的Web应用项目,它分为前台展示和后台管理两个部分。这个系统采用MVC(Model-View-Controller)架构模式,这是Java Web开发中常用的一种设计模式,旨在提高代码的可维护性和可扩展性。在这个...

    ASP.Net前台调用后台变量的方法

    在前台调用后台变量时,如果后台传递的数据为String类型,而前台需要其他类型的数据,可以使用DataBinder.Eval方法进行类型转换。例如使用DataBinder.Eval(Container.DataItem,"转换的类型")将Container.DataItem中...

    asp.net中后台c#数组与前台js数组交互

    前台JS数组需要从后台C#数组中获取数据,而后台C#数组则需要从数据库中获取数据。下面我们将详细介绍如何实现这个交互。 定义CS数组 在ASP.NET中,后台程序中需要定义一个公共的数组来存放数据。在这里,我们定义...

    aspx后台传递Json到前台的两种接收方法推荐

    在介绍aspx后台传递Json到前台的两种接收方法之前,我们先了解一些基础知识点。Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,现在已经成为一种广泛...

    python实现网站的前台与后台

    实现前后台数据交互,通常涉及到以下几个步骤: 1. **API设计**:定义后台接口,如GET请求获取数据,POST请求提交数据。 2. **数据处理**:后端接收到请求后,根据需求查询或修改数据库。 3. **响应处理**:将处理...

    springboot后台接收axios传递的json数据为null

    后台接收到的数据一直显示null 原因: 使用@RequestBody标签接收json数据,参数类型不能用Sting 看这两个注解的作用 @RequestParam ...是作用在形参列表上,用于将前台发送过来固定格式的数据【xml 格式或

    Java中前台往后台传递多个id参数的实例

    Java中前台往后台传递多个id参数的实例 在 Java 中,前台往后台传递多个 id 参数是非常常见的场景...这个实例展示了如何在 Java 中前台往后台传递多个 id 参数,包括前台 JS 代码的处理、后台的处理和Ajax请求的处理。

    asp素材前台和后台图像

    "asp素材前台和后台图像"这个主题,主要关注的是在ASP(Active Server Pages)开发中使用的前端和后端图像素材。这些图像通常包括按钮、图标、背景图片、指示符等,为网站增添视觉吸引力和用户体验。 一、前台图像 ...

    easyui-combobox、combotree后台数据数据组装与前台绑定实例

    总结来说,"easyui-combobox、combotree后台数据数据组装与前台绑定实例" 主要涉及两个部分:后端 C# 数据组装成 JSON 格式,以及前端使用 EasyUI 的 Combobox 和 Combotree 组件进行数据绑定。通过这样的方式,我们...

    基于MVC4+Bootstrap3企业门户网站源码(前台+后台).zip

    - 前台设计注重用户体验,提供清晰的信息结构和友好的导航,使用Bootstrap3可以快速创建现代感强且功能丰富的界面。 - 后台管理系统则用于管理员管理网站内容、用户、权限等,通常需要具备角色管理、内容发布、...

    json的基本传值方式(从前台到后台,再从后台到前台)

    总之,JSON是前后端之间进行数据交换的常用格式,通过设置请求头和使用相应的序列化及反序列化方法,可以方便地实现数据的传递。无论是JavaScript的`XMLHttpRequest`、`fetch` API,还是后端的Web框架,都有内置支持...

    ext 前后台数据交互

    下面我们将详细介绍Ext前后台数据交互的原理和实现方式。 一、Ext.data.Connection组件 Ext.data.Connection组件是Ext提供的一种异步调用后台服务的方式,它可以将前台的请求发送到后台,并将后台的响应返回到前台...

    thinkphp前台后台网站源码

    本篇将围绕"thinkphp前台后台网站源码"这一主题,深入剖析ThinkPHP框架在构建前后台网站中的应用,帮助读者掌握其核心概念和技术要点。 一、ThinkPHP框架概述 ThinkPHP是由中国的一群开源爱好者开发的PHP框架,基于...

    ECharts前台后台数据交互Demo

    总结,ECharts与后台数据交互主要依赖于AJAX技术,通过前后端的协作,实现数据的动态加载和实时更新。这种方式极大地提高了用户体验,使数据可视化更加生动和实用。通过实践和不断优化,你可以构建出功能强大且互动...

    ASP.NET中前台javascript与后台代码调用

    当用户触发某个操作时,如按钮点击,该函数会被调用,从而将事件目标和参数发送到服务器端,触发相应的事件处理逻辑。这是ASP.NET中实现服务器端控件PostBack事件的关键所在。 ### 结合使用 结合上述技术,开发者...

    struts2+jsp 环保公司门户网站 前台+后台

    前端通常负责展示信息、接收用户输入和交互,而后台则处理业务逻辑、数据管理以及与数据库的交互。在这个项目中,前台可能包括环保新闻、产品展示、服务介绍等模块,而后台可能涉及用户管理、内容发布、订单处理等...

Global site tag (gtag.js) - Google Analytics