- 浏览: 716022 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 24131 关于TimSort,这里做一个资料汇总,具体介绍与实现请参 ... -
HTTP协议上的文件上传
2011-11-21 11:33 160641 HTTP协议上的文件上传,最频繁的应用场景了。 RFC18 ... -
编程语言与函数式编程
2011-09-17 14:23 1442编程语言与函数式编 ... -
使用MINA2开发服务端程序
2011-09-08 14:18 2780使用MINA2开发服务端程序 关键字 :MIN ... -
Mahout 和 Mahout in Action
2011-09-05 15:07 2254Mahout 和 Mahout in Action ... -
将 openfire 源码作为java项目导入eclipse调试
2011-08-10 16:17 9997将 openfire 源码作为java项目导入ec ... -
几个JAVA 及WEB开发基础回顾
2011-08-04 21:00 8021 关于多线程和线程安 ... -
关于 “推荐引擎” 的dw文章收集
2011-08-03 20:18 1966这不是一篇文章,只是一个ibm dw上的文章list - 关于 ... -
了解 ICE和ACE
2011-08-03 19:58 37851 ice [其实,可以跟thrift比,有木有 ] ... -
JAVA开发久了,需要加强的几个方面
2011-07-28 18:41 13741 多线程: 不管是什么方式实现,多线程是迟早都会遇到和面对的 ... -
一个关于Java变量命名和代码生成的差异
2011-05-06 21:27 9301 情景描述: - 服务端使用 thrift,自动生成 ... -
JavaCC简介与典型应用
2010-06-22 14:31 18281 JavaCC is a parser/scanner ... -
Java虚拟机上的脚本语言
2009-07-24 17:27 1932在脚本语言、函数式语言纷纷成为后起之秀的时代,让我们总结一下J ... -
使用Mina框架开发Java网络应用程序
2009-06-11 12:58 3466首先,可以简单地认为Mina就是一个java网络应用的框架,相 ...
相关推荐
AJAX框架DWR简单应用
Ajax_Dwr基于dwr组件使用的ajax效果
dwr实现ajax功能ajax+dwr.........................
Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子) Ajax(DWR实现例子)
2、 在web.xml中配置dwr,如下: <!-- 配置DWR --> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> ...
Ajax的简述 传统web开发模式与ajax开发模式的不同 Ajax的开发与案例 Dwr框架的简介 Dwr框架的应用与案例 Dwr 框架与Struts,Spring框架的结合
AJAX与DWR jsfAJAX与DWR.pptAJAX与DWR.pptAJAX与DWR.pptAJAX与DWR.ppt
myeclips 中 Struts 与 ajax 结合, ajax 的dwr框架使用
基于Ajax技术的DWR框架的研究与应用
Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档Ajax DWR中文文档
Ajax与DWR课件 ,DWR是对Ajax的封装
用ajax与dwr实现二级联动用ajax与dwr实现二级联动用ajax与dwr实现二级联动用ajax与dwr实现二级联动用ajax与dwr实现二级联动
AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程AJAX DWR教程
ajax的DWR框架入门例子,包含源代码和调试成功的例子
Ajax DWR struts 应用案例 Ajax DWR struts 应用案例 Ajax DWR struts 应用案例
ajax ajax视频 dwr dwr视频 有几年项目经验的讲师视频 本人从不上传垃圾视频
Ajax与DWR~~~~~~~~~~~~~!!!
dwr的使用和ajax的使用demo
AJAX_DWR框架AJAX_DWR框架
ajax的dwr jar包 欢迎大家下载使用 谢谢