- 浏览: 719777 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (76)
- DB-MySQL-noSQL-K/V (0)
- Tomcat-Jetty-JBoss (0)
- Java (12)
- Python (5)
- SVG (0)
- IDE-Eclipse (1)
- Vi-Vim (1)
- DWR-EXT-GWT-JSF (0)
- HTML-XHTML-XML-JSON-HTML5 (1)
- FLEX-ActionScript-AIR (1)
- 软件过程-软件质量 (2)
- 数学-计算数学 (2)
- 数学-数理统计-R (5)
- 信息论-系统论-控制论 (1)
- Golang (5)
- Erlang (2)
- 生活-心情 (1)
- 领域-生物信息学-基因组学 (6)
- 领域-生物信息-开发 (2)
- 领域-分子进化与系统发育-比较基因组学 (2)
- 数据-存储-交换 (3)
- 数据可视化-dataviz-infographic (4)
- 分布式-并行-云计算-网格-IaaS (3)
- PaaS-GoogleAppEngine-SAE (4)
- REST-RESTful-Restlet (2)
- RIA (0)
- 职业-程序人生 (3)
- 项目管理-PM-PMP (1)
- 分析-设计-架构 (10)
- 数据结构-算法 (6)
- 行业-创业 (3)
- 网虫生活-APP (2)
- Matlab-Scilab (2)
- JavaFX (1)
- Lisp-Lua-Haskell-FP (1)
- IT技术选型-咨询顾问 (3)
- Server-Apache-Nginx-lighttp (1)
- 数据可视化-Circos (0)
- 领域-互联网-移动互联网-IM (8)
- 领域-电子商务-B2C-O2O (1)
- 学术-科学研究 (2)
- IM-XMPP-STUN-TURN (0)
- Lucene-Solr-ElasticSearch (0)
- 分布式-HA-zookeeper (0)
最新评论
-
bluky999:
转:Python 标准库 urllib2 的使用细节http: ...
python发送GET或POST请求以便干一些趣事 -
bluky999:
aber_song 写道兄台,你实践完了吗,最近也在看这个,期 ...
使用web2py开发python web程序,部署到GAE或者apache上 -
aber_song:
兄台,你实践完了吗,最近也在看这个,期待呀。
使用web2py开发python web程序,部署到GAE或者apache上 -
luyuwww:
...
一位Erlang程序员的自白 -
bluky999:
STUN和TURN服务器 restundhttp://www. ...
pystun 和 py2exe 以及 NAT类型检测
在实际的项目开发过程中,经常会有这样的需求: 需要一个小型的web站点,只有几个页面用于一个会议或者一次主题活动等等,或者是配合宣传某产品或服务,甚至是组织内部的某种表单数据收集等!
一 特点
这种小型应用,在实际业务领域中普遍存在,频繁出现;也许你曾想流水线生产,可是至今也没有人做出像样的来。。。
简单分析一下其特点:
1 前台页面:10个左右(经常是10个以内)的页面,需要以xhtml+css的webstandard为实现技术,以能全部通过w3c验证为标准;
2 只有一个或者两个表单数据需要提交,例如会议注册等;后台需要查询和统计这些数据;
3 只有一个或者两个查询数据的case (实际上大多时候都是不需要查询的,直接罗列)。
二 策略
假如model层你可以自由选择,oracle,mysql,....,derby,SQLite....xml.....plain text.... ;总之把该保存的保存下来即可!
那么,我们比较推荐的策略是:
1 Model 层:如上
2 control :还需要control么? 是的,需要;但是就像1+1=2这么简单;
3 view: 就那么几个页面
4 business logic:
(1 把用户通过页面表单提交的数据保存好;
(2 根据用户选择查询相关的数据并显示到页面。
技术策略:
1 我们忽略对数据源的访问吧,假定你知道怎么做;
2 表单提交或者数据查询时的action: servlet ;
3 业务处理: java bean
4 其实,我们不需要servlet来做太多url方面的事情;仅仅需要它帮我们接受参数并把结果返回即可。
三 实例
场景假设:一次会议;客户需要在页面注册;客户需要查询会议演讲者信息;其他静态信息。
1 比如我们使用两个表:customer ; speaker
2 DAO: custumerDAO [add,search]
speakerDAO [add,search]
Servlet: RegisterServlet ; GetCustomerListServlet(ADMIN)
GetSpeakerServlet ; AddSpeakerServlet(ADMIN)
每个servlet都有一个相应的业务方法,以将业务处理隔离。
如果还有其他数据源无关的业务需要处理,建议直接使用DWR !
3 两个表单: 提交注册信息;查询演讲者信息
4页面:
index.html :首页
register.html:注册
speaker.html:演讲者查询
其他需要的页面
case流程模拟:
1 注册表单:
客户在register.html填写注册信息,点击提交按钮时,我们不需要提交表单,而是把表单的数据经过验证和包装后,采用XmlHttpRequest发送到 RegisterServlet,RegisterServlet调用注册的业务方法,完成数据添加的任务;然后更新页面以通知客户注册成功或者失败);
2 演讲者查询:
与1类似,把查询参数使用ajax发送到GetSpeakerServlet,该servlet调用查询演讲者的业务方法,然后在页面使用返回的信息更新页面。
四 总结 优点
本文针对基于servlet的小型web应用,提出了采用ajax+DWR的策略来降低开发复杂度,提高开发效率!
此策略的优点是:对于java程序员,只要懂得如何使用javabean+servlet即可,至于ajax和DWR ,学习代价相对很低;甚至于你只要通过你的第一个小项目即可熟练。
后记:
之所以写这篇小文,是因为我不是PHP程序员,虽然我也写python web。因为不管是理论还是实践中,PHP是最好的解决本文所说类型需求的方式!
本文提到的策略,比较适合于java web开发人员;你知道,在这个web2.0的时代,人们有很多很多的选择。
作为java程序员,如果遇到上述类型的问题,个人以为采用本文提到的策略是相对比较明智的选择!
可能我们已经不喜欢在这种小应用中使用jsp了,而且我们希望页面的响应速度更快,不想在jsp中放那么多的html 。。。
最后顺祝本文提到的“会议”圆满成功!
评论
个人建议在返回数据时能采用JSON格式;这样,你的应用其实可以采用任何一种可行的技术来作为action ;你的后台业务处理可以换作你想要的任何技术类型。
比如,表单数据你可以提交到 register.py
发表评论
-
Akka 简介与入门
2014-10-31 10:21 2311Akka 简介与入门 参考官网 http://a ... -
在Eclipse和NetBeans中针对不同项目设置不同的JAVA版本进行编译和运行
2014-08-29 12:21 2238众所周知,Eclipse中可以设置安装的JDK,以及默 ... -
IBMDW: 数据层的多租户浅谈
2014-03-21 10:57 1134数据层的多租户浅谈 http://www. ... -
消息队列与 ActiveMQ, RabbitMQ,ZeroMQ 等
2013-12-31 15:15 11561关于消息队列 对于一个消息系统,提高吞吐量的同时 ... -
Openfire附近的人插件 OpenfireLBS
2013-12-23 17:42 2725项目代码 https://github.com/node/ ... -
网络编程与框架
2012-08-04 12:20 13241 网络通信系统 / 网络服务器 转: JAV ... -
TimSort相关
2012-01-07 12:17 24681 关于TimSort,这里做一个资料汇总,具体介绍与实现请参 ... -
HTTP协议上的文件上传
2011-11-21 11:33 161101 HTTP协议上的文件上传,最频繁的应用场景了。 RFC18 ... -
编程语言与函数式编程
2011-09-17 14:23 1442编程语言与函数式编 ... -
使用MINA2开发服务端程序
2011-09-08 14:18 2820使用MINA2开发服务端程序 关键字 :MIN ... -
Mahout 和 Mahout in Action
2011-09-05 15:07 2294Mahout 和 Mahout in Action ... -
将 openfire 源码作为java项目导入eclipse调试
2011-08-10 16:17 10037将 openfire 源码作为java项目导入ec ... -
几个JAVA 及WEB开发基础回顾
2011-08-04 21:00 8021 关于多线程和线程安 ... -
关于 “推荐引擎” 的dw文章收集
2011-08-03 20:18 2052这不是一篇文章,只是一个ibm dw上的文章list - 关于 ... -
了解 ICE和ACE
2011-08-03 19:58 38341 ice [其实,可以跟thrift比,有木有 ] ... -
JAVA开发久了,需要加强的几个方面
2011-07-28 18:41 13741 多线程: 不管是什么方式实现,多线程是迟早都会遇到和面对的 ... -
一个关于Java变量命名和代码生成的差异
2011-05-06 21:27 9301 情景描述: - 服务端使用 thrift,自动生成 ... -
JavaCC简介与典型应用
2010-06-22 14:31 18611 JavaCC is a parser/scanner ... -
Java虚拟机上的脚本语言
2009-07-24 17:27 1963在脚本语言、函数式语言纷纷成为后起之秀的时代,让我们总结一下J ... -
使用Mina框架开发Java网络应用程序
2009-06-11 12:58 3498首先,可以简单地认为Mina就是一个java网络应用的框架,相 ...
相关推荐
【OA项目】是一个基于Java技术栈的企业级应用,采用了经典的`Hibernate+Struts+Ajax+DWR`架构。这个架构在21世纪初至中期非常流行,尤其在B/S(Browser/Server)模式的系统开发中,是实现企业级Web应用的首选方案。 ...
这个小型的在线交流系统就是基于DWR构建的,利用了Ajax技术来提升用户体验,实现网页上的即时通讯功能。 1. **DWR框架详解** DWR的核心功能是提供了一种安全、高效的机制,使得JavaScript可以直接调用服务器端的...
1. **配置DWR**:首先,你需要在项目中集成DWR,这通常包括在`web.xml`中配置DWR的Servlet,以及在项目的类路径下创建`dwr.xml`配置文件,用于声明暴露给JavaScript的Java类和方法。 2. **生成JavaScript接口**:...
DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行双向通信,从而实现Web应用中的实时交互。在这个“DWR消息推送聊天”项目中,你将找到一个小型的示例,展示了如何利用DWR技术构建...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,实现动态Web应用的功能。DWR简化了Ajax(Asynchronous JavaScript and XML)开发,使得前端开发者可以更...
Java DWR(Direct Web Remoting)是一种开源技术,用于在Web应用程序中实现实时的、双向的JavaScript到Java通信。这个“java dwr实现的投票小功能”项目显然是利用DWR来创建一个简单的投票系统,使得用户可以在前端...
在实际应用中,DWR(Direct Web Remoting)和JSON(JavaScript Object Notation)常被用作Ajax的实现方式。 - DWR允许JavaScript直接与服务器端的Java方法进行交互,提供异步数据交换。 - JSON是一种轻量级的数据...
在Web应用程序开发中,DWR是一个关键工具,它使得JavaScript可以直接调用服务器端的Java方法,实现了浏览器与服务器的实时通信。DWR通过Ajax技术,极大地提高了用户体验,用户无需刷新页面就能获取或更新数据。例如...
- AJAX允许Web应用在不刷新整个页面的情况下与服务器进行异步数据交换,提升了用户体验,减少了网络流量。 - 使用XMLHttpRequest对象作为基础,通过JavaScript进行通信,并利用DOM操作更新页面部分。 3. **Tomcat...
- **J2EE介绍**:J2EE平台包含一组服务、APIs和协议,用于开发可部署在多层架构中的分布式应用程序,特别适合大型企业级应用。 - **JSP(JavaServer Pages)**:JSP是动态网页生成技术,允许开发者将HTML与Java...
Ajax通过JavaScript和AJAX引擎来实现,比如DWR(Direct Web Remoting)就是一种流行的Java/Ajax桥技术,它允许服务器端的Java方法直接在客户端的JavaScript中被调用。在学习笔记中提到的“*.do,/action/*,*.action”...
在本文中,我们将探讨如何使用纯JSP和Direct Web Remoting (DWR) 实现一个三级联动下拉选择菜单的示例。这个技术通常用于在Web应用中创建动态交互的用户体验,例如根据用户在一个下拉菜单中的选择更新其他下拉菜单的...
3. **Direct Web Remoting (DWR)**: DWR允许JavaScript在浏览器端与Java后端进行实时交互,创建类似AJAX的应用。DWR 2.0提供了安全、异步的远程调用,使前端页面可以动态更新服务器数据,提升用户体验。 4. **操作...
- **AJAX与XML**:使用DOJO、DWR进行AJAX开发,了解XML在Web编程中的应用。 5. **项目实战**: - **中期项目**:如工业监视界面动态显示、绘图软件开发,通过实践巩固Java SE编程技能。 - **高级项目**:例如...
7. 网络技术和通信协议:简历提及了“XML”,“json”,和“xmlHttpRequest”,这些都是网络开发中使用的重要技术。XML是一种标记语言,用于存储和传输数据;json是一种轻量级的数据交换格式;xmlHttpRequest是用于...
- **学习目标**:深入了解Struts框架在JavaEE程序开发中的应用。 - **具体内容**:进一步研究Struts框架的特点和优势,以及如何将Struts应用于JavaEE程序中。 - **预期成果**:能够熟练使用Struts框架开发复杂的...
- **项目描述**:基于B/S技术的办公信息管理系统,针对中小型公司办公使用。 - **项目技术**: - 使用Struts、Hibernate、Spring、Ajax等技术。 - 采用六层架构设计:view(表示)层、control(控制转发)层、models...
- DWR允许JavaScript与Java服务器端进行实时交互,实现AJAX功能。 20. **JSP基础配置** - JSP页面需要引入Servlet API、JSP API等相关jar包。 21. **Hibernate ID生成策略** - Hibernate提供了多种ID生成策略,...
1. **项目实践一**:重点在于培养学员的基础编程能力和实际操作能力,通过完成小型项目来加强理解和应用。 2. **项目实践二**:进一步深入到WEB开发领域,引入更多现代WEB技术和框架,提高学员对于复杂系统的理解和...